summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--circuit/$savepcb.0001959
-rw-r--r--circuit/$savepcb.brd2047
-rw-r--r--circuit/LM75.lib23
-rw-r--r--circuit/TO220-TRIAC.emp59
-rw-r--r--circuit/TO220-TRIAC.mod59
-rw-r--r--circuit/fridge-lock-Back.pdfbin0 -> 115611 bytes
-rw-r--r--circuit/fridge-lock-Back.ps44223
-rw-r--r--circuit/fridge-lock-Front.pdfbin0 -> 462998 bytes
-rw-r--r--circuit/fridge-lock-Front.ps327837
-rw-r--r--circuit/fridge-lock-PCB_Edges.svg21
-rw-r--r--circuit/fridge-lock-SilkS_Back.ps62
-rw-r--r--circuit/fridge-lock-SilkS_Back.svg101
-rw-r--r--circuit/fridge-lock-SilkS_Front.ps2082
-rw-r--r--circuit/fridge-lock-SilkS_Front.svg1762
-rw-r--r--circuit/fridge-lock-brd.svg8093
-rw-r--r--circuit/fridge-lock-cache.bak301
-rw-r--r--circuit/fridge-lock-cache.lib301
-rw-r--r--circuit/fridge-lock.0004423
-rw-r--r--circuit/fridge-lock.bak700
-rw-r--r--circuit/fridge-lock.brd4427
-rw-r--r--circuit/fridge-lock.cmp150
-rw-r--r--circuit/fridge-lock.dsn539
-rw-r--r--circuit/fridge-lock.lst47
-rw-r--r--circuit/fridge-lock.net324
-rw-r--r--circuit/fridge-lock.pro117
-rw-r--r--circuit/fridge-lock.sch704
-rw-r--r--circuit/fridge-lock.ses897
-rw-r--r--circuit/merge.pdfbin0 -> 612068 bytes
-rw-r--r--circuit/out.pdfbin0 -> 576720 bytes
-rw-r--r--firmware/.dep/Audio.o.d209
-rw-r--r--firmware/.dep/CDC.o.d4
-rw-r--r--firmware/.dep/ConfigDescriptor.o.d110
-rw-r--r--firmware/.dep/Descriptors.o.d198
-rw-r--r--firmware/.dep/Device.o.d70
-rw-r--r--firmware/.dep/DeviceStandardReq.o.d95
-rw-r--r--firmware/.dep/Endpoint.o.d101
-rw-r--r--firmware/.dep/EndpointStream.o.d104
-rw-r--r--firmware/.dep/Events.o.d16
-rw-r--r--firmware/.dep/HID.o.d4
-rw-r--r--firmware/.dep/HIDParser.o.d5
-rw-r--r--firmware/.dep/Host.o.d4
-rw-r--r--firmware/.dep/HostStandardReq.o.d5
-rw-r--r--firmware/.dep/MIDI.o.d212
-rw-r--r--firmware/.dep/MassStorage.o.d5
-rw-r--r--firmware/.dep/Pipe.o.d4
-rw-r--r--firmware/.dep/PipeStream.o.d5
-rw-r--r--firmware/.dep/Printer.o.d5
-rw-r--r--firmware/.dep/RNDIS.o.d212
-rw-r--r--firmware/.dep/StillImage.o.d5
-rw-r--r--firmware/.dep/USBController.o.d91
-rw-r--r--firmware/.dep/USBInterrupt.o.d82
-rw-r--r--firmware/.dep/USBTask.o.d89
-rw-r--r--firmware/.dep/VirtualSerial.o.d202
-rw-r--r--firmware/Descriptors.c271
-rw-r--r--firmware/Descriptors.h85
-rw-r--r--firmware/Descriptors.lst255
-rw-r--r--firmware/Descriptors.obin0 -> 9584 bytes
-rw-r--r--firmware/Doxygen.conf1565
-rw-r--r--firmware/LUFA VirtualSerial.inf106
-rw-r--r--firmware/LUFA/CodeTemplates/DriverStubs/Buttons.h86
-rw-r--r--firmware/LUFA/CodeTemplates/DriverStubs/Dataflash.h186
-rw-r--r--firmware/LUFA/CodeTemplates/DriverStubs/Joystick.h98
-rw-r--r--firmware/LUFA/CodeTemplates/DriverStubs/LEDs.h125
-rw-r--r--firmware/LUFA/CodeTemplates/makefile_template707
-rw-r--r--firmware/LUFA/Common/Attributes.h139
-rw-r--r--firmware/LUFA/Common/BoardTypes.h151
-rw-r--r--firmware/LUFA/Common/Common.h253
-rw-r--r--firmware/LUFA/Doxygen.conf1564
-rw-r--r--firmware/LUFA/Drivers/Board/ADAFRUITU4/LEDs.h129
-rw-r--r--firmware/LUFA/Drivers/Board/ATAVRUSBRF01/Buttons.h98
-rw-r--r--firmware/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h141
-rw-r--r--firmware/LUFA/Drivers/Board/BENITO/Buttons.h98
-rw-r--r--firmware/LUFA/Drivers/Board/BENITO/LEDs.h130
-rw-r--r--firmware/LUFA/Drivers/Board/BLACKCAT/LEDs.h131
-rw-r--r--firmware/LUFA/Drivers/Board/BUI/LEDs.h132
-rw-r--r--firmware/LUFA/Drivers/Board/BUMBLEB/Buttons.h103
-rw-r--r--firmware/LUFA/Drivers/Board/BUMBLEB/Joystick.h120
-rw-r--r--firmware/LUFA/Drivers/Board/BUMBLEB/LEDs.h143
-rw-r--r--firmware/LUFA/Drivers/Board/Buttons.h135
-rw-r--r--firmware/LUFA/Drivers/Board/CULV3/Buttons.h98
-rw-r--r--firmware/LUFA/Drivers/Board/CULV3/LEDs.h129
-rw-r--r--firmware/LUFA/Drivers/Board/Dataflash.h212
-rw-r--r--firmware/LUFA/Drivers/Board/EVK527/AT45DB321C.h105
-rw-r--r--firmware/LUFA/Drivers/Board/EVK527/Buttons.h104
-rw-r--r--firmware/LUFA/Drivers/Board/EVK527/Dataflash.h184
-rw-r--r--firmware/LUFA/Drivers/Board/EVK527/Joystick.h119
-rw-r--r--firmware/LUFA/Drivers/Board/EVK527/LEDs.h135
-rw-r--r--firmware/LUFA/Drivers/Board/JMDBU2/Buttons.h98
-rw-r--r--firmware/LUFA/Drivers/Board/JMDBU2/LEDs.h129
-rw-r--r--firmware/LUFA/Drivers/Board/Joystick.h114
-rw-r--r--firmware/LUFA/Drivers/Board/LEDs.h212
-rw-r--r--firmware/LUFA/Drivers/Board/MAXIMUS/LEDs.h131
-rw-r--r--firmware/LUFA/Drivers/Board/MICROSIN162/Buttons.h98
-rw-r--r--firmware/LUFA/Drivers/Board/MICROSIN162/LEDs.h129
-rw-r--r--firmware/LUFA/Drivers/Board/MINIMUS/Buttons.h97
-rw-r--r--firmware/LUFA/Drivers/Board/MINIMUS/LEDs.h131
-rw-r--r--firmware/LUFA/Drivers/Board/OLIMEX162/Buttons.h98
-rw-r--r--firmware/LUFA/Drivers/Board/OLIMEX162/LEDs.h129
-rw-r--r--firmware/LUFA/Drivers/Board/RZUSBSTICK/LEDs.h163
-rw-r--r--firmware/LUFA/Drivers/Board/STK525/AT45DB321C.h105
-rw-r--r--firmware/LUFA/Drivers/Board/STK525/Buttons.h104
-rw-r--r--firmware/LUFA/Drivers/Board/STK525/Dataflash.h184
-rw-r--r--firmware/LUFA/Drivers/Board/STK525/Joystick.h119
-rw-r--r--firmware/LUFA/Drivers/Board/STK525/LEDs.h138
-rw-r--r--firmware/LUFA/Drivers/Board/STK526/AT45DB642D.h115
-rw-r--r--firmware/LUFA/Drivers/Board/STK526/Buttons.h104
-rw-r--r--firmware/LUFA/Drivers/Board/STK526/Dataflash.h184
-rw-r--r--firmware/LUFA/Drivers/Board/STK526/Joystick.h116
-rw-r--r--firmware/LUFA/Drivers/Board/STK526/LEDs.h138
-rw-r--r--firmware/LUFA/Drivers/Board/TEENSY/LEDs.h129
-rw-r--r--firmware/LUFA/Drivers/Board/Temperature.c61
-rw-r--r--firmware/LUFA/Drivers/Board/Temperature.h125
-rw-r--r--firmware/LUFA/Drivers/Board/UDIP/Buttons.h98
-rw-r--r--firmware/LUFA/Drivers/Board/UDIP/LEDs.h154
-rw-r--r--firmware/LUFA/Drivers/Board/UNO/LEDs.h130
-rw-r--r--firmware/LUFA/Drivers/Board/USBFOO/Buttons.h98
-rw-r--r--firmware/LUFA/Drivers/Board/USBFOO/LEDS.h129
-rw-r--r--firmware/LUFA/Drivers/Board/USBKEY/AT45DB642D.h115
-rw-r--r--firmware/LUFA/Drivers/Board/USBKEY/Buttons.h98
-rw-r--r--firmware/LUFA/Drivers/Board/USBKEY/Dataflash.h192
-rw-r--r--firmware/LUFA/Drivers/Board/USBKEY/Joystick.h119
-rw-r--r--firmware/LUFA/Drivers/Board/USBKEY/LEDs.h137
-rw-r--r--firmware/LUFA/Drivers/Board/USBTINYMKII/Buttons.h98
-rw-r--r--firmware/LUFA/Drivers/Board/USBTINYMKII/LEDs.h133
-rw-r--r--firmware/LUFA/Drivers/Board/XPLAIN/AT45DB642D.h115
-rw-r--r--firmware/LUFA/Drivers/Board/XPLAIN/Dataflash.h190
-rw-r--r--firmware/LUFA/Drivers/Board/XPLAIN/LEDs.h129
-rw-r--r--firmware/LUFA/Drivers/Misc/TerminalCodes.h224
-rw-r--r--firmware/LUFA/Drivers/Peripheral/ADC.h72
-rw-r--r--firmware/LUFA/Drivers/Peripheral/AVRU4U6U7/ADC.h411
-rw-r--r--firmware/LUFA/Drivers/Peripheral/AVRU4U6U7/TWI.h155
-rw-r--r--firmware/LUFA/Drivers/Peripheral/SPI.h208
-rw-r--r--firmware/LUFA/Drivers/Peripheral/Serial.c54
-rw-r--r--firmware/LUFA/Drivers/Peripheral/Serial.h167
-rw-r--r--firmware/LUFA/Drivers/Peripheral/SerialStream.c54
-rw-r--r--firmware/LUFA/Drivers/Peripheral/SerialStream.h116
-rw-r--r--firmware/LUFA/Drivers/Peripheral/TWI.c75
-rw-r--r--firmware/LUFA/Drivers/Peripheral/TWI.h72
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Audio.h75
-rw-r--r--firmware/LUFA/Drivers/USB/Class/CDC.h80
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Common/Audio.h701
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Common/CDC.h372
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Common/HID.h451
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Common/MIDI.h293
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Common/MassStorage.h362
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Common/Printer.h121
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Common/RNDIS.h399
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Common/StillImage.h161
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/Audio.c98
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/Audio.h336
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/Audio.lst184
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/Audio.obin0 -> 7724 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/CDC.c332
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/CDC.h342
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/CDC.lst1059
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/CDC.obin0 -> 25224 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/HID.c190
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/HID.h222
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/HID.lst769
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/HID.obin0 -> 13920 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/MIDI.c148
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/MIDI.h189
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/MIDI.lst346
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/MIDI.obin0 -> 12248 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/MassStorage.c247
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/MassStorage.h177
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/MassStorage.lst643
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/MassStorage.obin0 -> 15196 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/RNDIS.c496
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/RNDIS.h186
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/RNDIS.lst1519
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/RNDIS.obin0 -> 23344 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/Class/HID.h81
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/CDC.c465
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/CDC.h334
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/CDC.lst19
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/CDC.obin0 -> 920 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/HID.c387
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/HID.h316
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/HID.lst19
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/HID.obin0 -> 920 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/HIDParser.c361
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/HIDParser.h356
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/HIDParser.lst19
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/HIDParser.obin0 -> 928 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/HIDReportData.h142
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/MIDI.c215
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/MIDI.h201
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/MIDI.lst19
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/MIDI.obin0 -> 920 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/MassStorage.c629
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/MassStorage.h344
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/MassStorage.lst19
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/MassStorage.obin0 -> 928 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/Printer.c392
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/Printer.h282
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/Printer.lst19
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/Printer.obin0 -> 924 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/RNDIS.c480
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/RNDIS.h290
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/RNDIS.lst19
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/RNDIS.obin0 -> 924 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/StillImage.c443
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/StillImage.h331
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/StillImage.lst19
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Host/StillImage.obin0 -> 928 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/Class/MIDI.h83
-rw-r--r--firmware/LUFA/Drivers/USB/Class/MassStorage.h80
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Printer.h77
-rw-r--r--firmware/LUFA/Drivers/USB/Class/RNDIS.h80
-rw-r--r--firmware/LUFA/Drivers/USB/Class/StillImage.h75
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c142
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h287
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.lst306
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.obin0 -> 8920 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.c382
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h165
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.lst569
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.obin0 -> 13764 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.c233
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.h524
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.lst3174
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.obin0 -> 56848 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/Events.c39
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/Events.h375
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/Events.lst55
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/Events.obin0 -> 2904 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.c180
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.h118
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.lst19
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.obin0 -> 932 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/PipeStream.c196
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/PipeStream.h298
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/PipeStream.lst19
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/PipeStream.obin0 -> 928 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/StdDescriptors.h692
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/StdRequestType.h247
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h87
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_R.c48
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_W.c56
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_RW.c79
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Pipe_RW.c83
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/USBMode.h138
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/USBTask.c89
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/USBTask.h206
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/USBTask.lst88
-rw-r--r--firmware/LUFA/Drivers/USB/HighLevel/USBTask.obin0 -> 5036 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Device.c53
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Device.h247
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Device.lst64
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Device.obin0 -> 3152 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Endpoint.c141
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Endpoint.h892
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Endpoint.lst283
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Endpoint.obin0 -> 9016 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Host.c355
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Host.h527
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Host.lst19
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Host.obin0 -> 920 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/OTG.h155
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Pipe.c140
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Pipe.h941
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Pipe.lst19
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/Pipe.obin0 -> 920 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/USBController.c232
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/USBController.h471
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/USBController.lst204
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/USBController.obin0 -> 7632 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.c269
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.h106
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.lst261
-rw-r--r--firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.obin0 -> 6936 bytes
-rw-r--r--firmware/LUFA/Drivers/USB/USB.h408
-rw-r--r--firmware/LUFA/License.txt18
-rw-r--r--firmware/LUFA/ManPages/AboutLUFA.txt20
-rw-r--r--firmware/LUFA/ManPages/AlternativeStacks.txt69
-rw-r--r--firmware/LUFA/ManPages/Author.jpgbin0 -> 28410 bytes
-rw-r--r--firmware/LUFA/ManPages/BuildingLinkableLibraries.txt23
-rw-r--r--firmware/LUFA/ManPages/ChangeLog.txt1099
-rw-r--r--firmware/LUFA/ManPages/CompileTimeTokens.txt212
-rw-r--r--firmware/LUFA/ManPages/CompilingApps.txt30
-rw-r--r--firmware/LUFA/ManPages/ConfiguringApps.txt89
-rw-r--r--firmware/LUFA/ManPages/DevelopingWithLUFA.txt21
-rw-r--r--firmware/LUFA/ManPages/DeviceSupport.txt51
-rw-r--r--firmware/LUFA/ManPages/DirectorySummaries.txt192
-rw-r--r--firmware/LUFA/ManPages/Donating.txt24
-rw-r--r--firmware/LUFA/ManPages/FutureChanges.txt42
-rw-r--r--firmware/LUFA/ManPages/GettingStarted.txt27
-rw-r--r--firmware/LUFA/ManPages/Groups.txt21
-rw-r--r--firmware/LUFA/ManPages/LUFA.pngbin0 -> 10296 bytes
-rw-r--r--firmware/LUFA/ManPages/LUFAPoweredProjects.txt95
-rw-r--r--firmware/LUFA/ManPages/LUFAvsAtmelStack.txt46
-rw-r--r--firmware/LUFA/ManPages/LibraryApps.txt116
-rw-r--r--firmware/LUFA/ManPages/LibraryResources.txt32
-rw-r--r--firmware/LUFA/ManPages/LicenseInfo.txt22
-rw-r--r--firmware/LUFA/ManPages/MainPage.txt48
-rw-r--r--firmware/LUFA/ManPages/MigrationInformation.txt564
-rw-r--r--firmware/LUFA/ManPages/ProgrammingApps.txt27
-rw-r--r--firmware/LUFA/ManPages/SoftwareBootloaderJump.txt69
-rw-r--r--firmware/LUFA/ManPages/VIDAndPIDValues.txt424
-rw-r--r--firmware/LUFA/ManPages/WhyUseLUFA.txt46
-rw-r--r--firmware/LUFA/ManPages/WritingBoardDrivers.txt27
-rw-r--r--firmware/LUFA/Scheduler/Scheduler.c99
-rw-r--r--firmware/LUFA/Scheduler/Scheduler.h313
-rw-r--r--firmware/LUFA/Version.h52
-rw-r--r--firmware/LUFA/makefile77
-rw-r--r--firmware/VirtualSerial.aps1
-rw-r--r--firmware/VirtualSerial.c298
-rw-r--r--firmware/VirtualSerial.eep1
-rwxr-xr-xfirmware/VirtualSerial.elfbin0 -> 105558 bytes
-rw-r--r--firmware/VirtualSerial.h64
-rw-r--r--firmware/VirtualSerial.hex252
-rw-r--r--firmware/VirtualSerial.lss3526
-rw-r--r--firmware/VirtualSerial.lst738
-rw-r--r--firmware/VirtualSerial.map1291
-rw-r--r--firmware/VirtualSerial.obin0 -> 16852 bytes
-rw-r--r--firmware/VirtualSerial.sym311
-rw-r--r--firmware/VirtualSerial.txt73
-rw-r--r--firmware/cmd.txt1
-rw-r--r--firmware/makefile718
320 files changed, 460870 insertions, 0 deletions
diff --git a/circuit/$savepcb.000 b/circuit/$savepcb.000
new file mode 100644
index 0000000..e852824
--- /dev/null
+++ b/circuit/$savepcb.000
@@ -0,0 +1,1959 @@
+PCBNEW-BOARD Version 1 date Sat 24 Mar 2012 10:43:23 PM CET
+
+# Created by Pcbnew(2010-03-14)-final
+
+$GENERAL
+LayerCount 2
+Ly 1FFF8001
+EnabledLayers 1FFF8001
+Links 54
+NoConn 4
+Di 18924 12424 42576 49076
+Ndraw 4
+Ntrack 230
+Nzone 0
+BoardThickness 630
+Nmodule 21
+Nnets 29
+$EndGENERAL
+
+$SHEETDESCR
+Sheet A4 11700 8267
+Title ""
+Date "24 mar 2012"
+Rev ""
+Comp ""
+Comment1 ""
+Comment2 ""
+Comment3 ""
+Comment4 ""
+$EndSHEETDESCR
+
+$SETUP
+InternalUnit 0.000100 INCH
+ZoneGridSize 250
+Layers 2
+Layer[0] Back signal
+Layer[15] Front signal
+TrackWidth 157
+TrackWidthList 157
+TrackWidthList 315
+TrackClearence 79
+ZoneClearence 200
+TrackMinWidth 80
+DrawSegmWidth 150
+EdgeSegmWidth 150
+ViaSize 700
+ViaDrill 250
+ViaMinSize 350
+ViaMinDrill 200
+MicroViaSize 200
+MicroViaDrill 50
+MicroViasAllowed 0
+MicroViaMinSize 200
+MicroViaMinDrill 50
+TextPcbWidth 120
+TextPcbSize 600 800
+EdgeModWidth 150
+TextModSize 600 600
+TextModWidth 120
+PadSize 900 900
+PadDrill 450
+Pad2MaskClearance 100
+AuxiliaryAxisOrg 0 0
+$EndSETUP
+
+$EQUIPOT
+Na 0 ""
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 1 "/hot1"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 2 "/hot2"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 3 "GND"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 4 "N-000011"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 5 "N-000013"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 6 "N-000014"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 7 "N-000018"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 8 "N-000020"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 9 "N-000021"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 10 "N-000022"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 11 "N-000023"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 12 "N-000024"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 13 "N-000025"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 14 "N-000026"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 15 "N-000027"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 16 "N-000028"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 17 "N-000029"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 18 "N-000030"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 19 "N-000031"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 20 "N-000032"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 21 "N-000033"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 22 "N-000034"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 23 "N-000035"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 24 "N-000036"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 25 "N-000037"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 26 "N-000038"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 27 "N-000039"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 28 "VCC"
+St ~
+$EndEQUIPOT
+$NCLASS
+Name "Default"
+Desc "This is the default net class."
+Clearance 79
+TrackWidth 157
+ViaDia 700
+ViaDrill 250
+uViaDia 200
+uViaDrill 50
+AddNet ""
+AddNet "GND"
+AddNet "N-000011"
+AddNet "N-000013"
+AddNet "N-000014"
+AddNet "N-000018"
+AddNet "N-000020"
+AddNet "N-000021"
+AddNet "N-000022"
+AddNet "N-000023"
+AddNet "N-000024"
+AddNet "N-000025"
+AddNet "N-000026"
+AddNet "N-000027"
+AddNet "N-000028"
+AddNet "N-000029"
+AddNet "N-000030"
+AddNet "N-000031"
+AddNet "N-000032"
+AddNet "N-000033"
+AddNet "N-000034"
+AddNet "N-000035"
+AddNet "N-000036"
+AddNet "N-000037"
+AddNet "N-000038"
+AddNet "N-000039"
+AddNet "VCC"
+$EndNCLASS
+$NCLASS
+Name "PWR"
+Desc ""
+Clearance 79
+TrackWidth 800
+ViaDia 472
+ViaDrill 250
+uViaDia 200
+uViaDrill 50
+AddNet "/hot1"
+AddNet "/hot2"
+$EndNCLASS
+$MODULE connect-CLAMP-02
+Po 40400 14800 2700 15 00200000 4F6E2807 ~~
+Li connect-CLAMP-02
+Sc 4F6E2807
+AR /4F6E1135
+Op 0 0 0
+At VIRTUAL
+T0 1000 -2849 700 700 2700 35 N V 21 N"P4"
+T1 1350 2650 700 700 2700 35 N V 21 N"CONN_2"
+DS 1970 -2000 1970 2000 50 21
+DS -1970 -2000 -1970 2000 50 21
+DS -1970 -2000 1970 -2000 50 21
+DS 1970 2000 -1970 2000 50 21
+DS -480 -520 -1650 350 50 21
+DS -350 -350 -1530 520 50 21
+DS -500 -350 -1500 350 200 21
+DS -400 -360 -490 -460 100 21
+DS -1520 460 -1590 370 100 21
+DS 480 -520 1350 650 50 21
+DS 650 -650 1520 530 50 21
+DS 650 -500 1350 500 200 21
+DS 640 -600 540 -509 100 21
+DS 1460 520 1370 590 100 21
+DS -1650 -1800 1950 -1800 20 21
+DS -1700 -1600 1950 -1600 20 21
+DS -1800 -1400 1950 -1400 20 21
+DS -1650 1800 1950 1800 20 21
+DS -1700 1600 1950 1600 20 21
+DS -1800 1400 1950 1400 20 21
+DS 1950 1200 -1900 1200 20 21
+DS -1900 -1200 1950 -1200 20 21
+DC -1000 0 -1375 375 25 21
+DC 1000 0 1375 375 25 21
+$PAD
+Sh "1" C 900 1800 0 0 2700
+Dr 500 0 0
+At STD N 00A88001
+Ne 1 "/hot1"
+Po -1000 0
+$EndPAD
+$PAD
+Sh "2" C 900 1800 0 0 2700
+Dr 500 0 0
+At STD N 00A88001
+Ne 2 "/hot2"
+Po 1000 0
+$EndPAD
+$EndMODULE connect-CLAMP-02
+$MODULE crystal-HC49UP
+Po 38400 28800 0 15 00200000 4F6E2808 ~~
+Li crystal-HC49UP
+Cd CRYSTAL
+Kw CRYSTAL
+Sc 4F6E2808
+AR /4D41AE62
+Op 0 0 0
+At SMD
+T0 -1000 1350 500 500 0 35 N V 21 N"X1"
+T1 -750 -1400 500 500 0 35 N V 21 N"CRYSTAL"
+DS -2600 1200 2600 1200 26 21
+DS 2600 1200 2600 -1200 26 21
+DS -2600 -1200 2600 -1200 26 21
+DS -2600 1200 -2600 -1200 26 21
+DS -2250 -450 -2250 -850 60 21
+DS 2250 -450 2250 -850 60 21
+DS 1350 500 -1350 500 20 21
+DS 1350 800 -1350 800 20 21
+DS -1350 -500 1350 -500 20 21
+DS 2150 950 -2150 950 60 21
+DS 2250 150 2550 150 60 21
+DS 2250 -150 2550 -150 60 21
+DS 2550 150 2550 -150 60 21
+DS 2250 450 2250 -450 60 21
+DS 2250 850 2250 450 60 21
+DS -2550 150 -2550 -150 60 21
+DS -2250 450 -2250 150 60 21
+DS -2250 150 -2250 -150 60 21
+DS -2250 -150 -2250 -450 60 21
+DS -2250 850 -2250 450 60 21
+DS -2250 150 -2550 150 60 21
+DS -2250 -150 -2550 -150 60 21
+DS -1350 -800 1350 -800 20 21
+DS 2150 -950 -2150 -950 60 21
+DS -100 -250 -100 250 60 21
+DS -100 250 100 250 60 21
+DS 100 250 100 -250 60 21
+DS 100 -250 -100 -250 60 21
+DS -250 -250 -250 0 60 21
+DS -250 0 -250 250 60 21
+DS -250 0 -400 0 20 21
+DS 250 -250 250 0 60 21
+DS 250 0 250 250 60 21
+DS 250 0 400 0 20 21
+DA -1349 0 -2011 -450 4157 20 21
+DA 1350 0 1350 -800 4157 20 21
+DA 2150 850 2250 850 4500 60 21
+DA 1350 0 1567 450 3858 20 21
+DA 1350 0 1350 -500 3858 20 21
+DA 1349 0 2011 449 4157 20 21
+DA 1350 0 1567 -450 4883 20 21
+DA 1350 0 2011 -450 4284 20 21
+DA -1350 0 -1350 800 4157 20 21
+DA -1350 0 -1567 450 4883 20 21
+DA -1350 0 -1350 500 3858 20 21
+DA -1350 0 -1567 -450 3858 20 21
+DA -1350 0 -2011 450 4284 20 21
+DA -2150 850 -2150 950 4500 60 21
+DA 2150 -850 2150 -950 4500 60 21
+DA -2150 -850 -2250 -850 4500 60 21
+$PAD
+Sh "1" R 2100 760 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 10 "N-000022"
+Po -1900 0
+$EndPAD
+$PAD
+Sh "2" R 2100 760 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 27 "N-000039"
+Po 1900 0
+$EndPAD
+$EndMODULE crystal-HC49UP
+$MODULE DIP-6__300_ELL
+Po 38400 20450 0 15 4879C789 4F6E2809 ~~
+Li DIP-6__300_ELL
+Cd 6 pins DIL package, elliptical pads
+Kw DIL
+Sc 4F6E2809
+AR /4F6E103D
+Op 0 0 0
+T0 0 -400 600 400 0 60 N V 21 N"OK1"
+T1 0 500 500 350 0 60 N V 21 N"MOC3023M"
+DS -1750 -1000 1750 -1000 150 21
+DS 1750 -1000 1750 1000 150 21
+DS 1750 1000 -1750 1000 150 21
+DS -1750 1000 -1750 -1000 150 21
+DS -1750 -250 -1250 -250 150 21
+DS -1250 -250 -1250 250 150 21
+DS -1250 250 -1750 250 150 21
+$PAD
+Sh "1" R 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 5 "N-000013"
+Po -1000 1500
+$EndPAD
+$PAD
+Sh "2" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 3 "GND"
+Po 0 1500
+$EndPAD
+$PAD
+Sh "3" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 1000 1500
+$EndPAD
+$PAD
+Sh "4" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 6 "N-000014"
+Po 1000 -1500
+$EndPAD
+$PAD
+Sh "5" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 0 -1500
+$EndPAD
+$PAD
+Sh "6" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 4 "N-000011"
+Po -1000 -1500
+$EndPAD
+$SHAPE3D
+Na "dil/dil_6.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE DIP-6__300_ELL
+$MODULE molex-microusb
+Po 22600 13200 2700 15 4D4455B2 4F6E280A ~~
+Li molex-microusb
+Sc 4F6E280A
+AR /4D41AD80
+Op 0 0 0
+T0 -906 -3256 276 276 2700 39 N V 21 N"J1"
+T1 -2366 -2083 315 315 2700 79 N V 21 N"USB"
+DS -587 2807 -587 2949 50 21
+DS -587 -610 -587 -748 50 21
+DS -850 -602 -850 2815 50 21
+DS -587 -602 -587 2791 50 21
+$PAD
+Sh "" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1046 1390
+$EndPAD
+$PAD
+Sh "3" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 12 "N-000024"
+Po 1046 1134
+$EndPAD
+$PAD
+Sh "" R 827 473 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 903 164
+$EndPAD
+$PAD
+Sh "1" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po 1045 622
+$EndPAD
+$PAD
+Sh "" R 827 472 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 903 2102
+$EndPAD
+$PAD
+Sh "" R 748 933 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 2279
+$EndPAD
+$PAD
+Sh "" R 748 933 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 -13
+$EndPAD
+$PAD
+Sh "" R 748 463 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 802
+$EndPAD
+$PAD
+Sh "" R 748 463 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 1464
+$EndPAD
+$PAD
+Sh "2" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 13 "N-000025"
+Po 1046 878
+$EndPAD
+$PAD
+Sh "5" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 1046 1646
+$EndPAD
+$EndMODULE molex-microusb
+$MODULE pin_array_3x2
+Po 28400 18600 1800 15 42931587 4F6E280C ~~
+Li pin_array_3x2
+Cd Double rangee de contacts 2 x 4 pins
+Kw CONN
+Sc 4F6E280C
+AR /4DCFAE62
+Op 0 0 0
+T0 0 -1500 400 400 1800 80 N V 21 N"P3"
+T1 0 1500 400 400 1800 80 N I 21 N"ISP"
+DS 1500 1000 -1500 1000 80 21
+DS -1500 -1000 1500 -1000 80 21
+DS 1500 -1000 1500 1000 80 21
+DS -1500 1000 -1500 -1000 80 21
+$PAD
+Sh "1" R 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 16 "N-000028"
+Po -1000 500
+$EndPAD
+$PAD
+Sh "2" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 28 "VCC"
+Po -1000 -500
+$EndPAD
+$PAD
+Sh "3" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 22 "N-000034"
+Po 0 500
+$EndPAD
+$PAD
+Sh "4" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 21 "N-000033"
+Po 0 -500
+$EndPAD
+$PAD
+Sh "5" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 20 "N-000032"
+Po 1000 500
+$EndPAD
+$PAD
+Sh "6" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 3 "GND"
+Po 1000 -500
+$EndPAD
+$SHAPE3D
+Na "pin_array/pins_array_3x2.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE pin_array_3x2
+$MODULE SM1206
+Po 34200 17600 0 15 42806E24 4F6E280D ~~
+Li SM1206
+Sc 4F6E280D
+AR /4F6E1810
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"R7"
+T1 0 0 300 300 0 50 N I 21 N"39"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 1 "/hot1"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 26 "N-000038"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 34200 18800 0 15 42806E24 4F6E280F ~~
+Li SM1206
+Sc 4F6E280F
+AR /4F6E10E2
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"R6"
+T1 0 0 300 300 0 50 N I 21 N"330"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 1 "/hot1"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 4 "N-000011"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 35010 20530 900 15 42806E24 4F6E2811 ~~
+Li SM1206
+Sc 4F6E2811
+AR /4F6E0F44
+Op 0 0 0
+At SMD
+T0 0 0 300 300 900 50 N V 21 N"R5"
+T1 0 0 300 300 900 50 N I 21 N"220"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 5 "N-000013"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 17 "N-000029"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 22400 26200 0 15 42806E24 4F6E2813 ~~
+Li SM1206
+Sc 4F6E2813
+AR /4D4449CE
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"R4"
+T1 0 0 300 300 0 50 N I 21 N"10k"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 20 "N-000032"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 22400 17000 900 15 42806E24 4F6E2815 ~~
+Li SM1206
+Sc 4F6E2815
+AR /4D41ADA8
+Op 0 0 0
+At SMD
+T0 0 0 300 300 900 50 N V 21 N"R3"
+T1 0 0 300 300 900 50 N I 21 N"22"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 15 "N-000027"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 13 "N-000025"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 21200 17000 900 15 42806E24 4F6E2817 ~~
+Li SM1206
+Sc 4F6E2817
+AR /4D41ADA3
+Op 0 0 0
+At SMD
+T0 0 0 300 300 900 50 N V 21 N"R2"
+T1 0 0 300 300 900 50 N I 21 N"22"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 14 "N-000026"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 12 "N-000024"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 36600 17600 0 15 42806E24 4F6E2819 ~~
+Li SM1206
+Sc 4F6E2819
+AR /4F6E181E
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"C7"
+T1 0 0 300 300 0 50 N I 21 N"10n"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 26 "N-000038"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 2 "/hot2"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 40200 24800 1800 15 42806E24 4F6E281B ~~
+Li SM1206
+Sc 4F6E281B
+AR /4F6E14CE
+Op 0 0 0
+At SMD
+T0 0 0 300 300 1800 50 N V 21 N"C6"
+T1 0 0 300 300 1800 50 N I 21 N"100n"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 40200 26400 1800 15 42806E24 4F6E281D ~~
+Li SM1206
+Sc 4F6E281D
+AR /4D41AE84
+Op 0 0 0
+At SMD
+T0 0 0 300 300 1800 50 N V 21 N"C5"
+T1 0 0 300 300 1800 50 N I 21 N"18p"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 27 "N-000039"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 36800 26400 0 15 42806E24 4F6E281F ~~
+Li SM1206
+Sc 4F6E281F
+AR /4D41AE7F
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"C4"
+T1 0 0 300 300 0 50 N I 21 N"18p"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 10 "N-000022"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206POL
+Po 36800 24800 1800 15 42806E4C 4F6E2820 ~~
+Li SM1206POL
+Sc 4F6E2820
+AR /4D41ADFF
+Op 0 0 0
+At SMD
+T0 0 0 300 300 1800 50 N V 21 N"C3"
+T1 0 0 300 300 1800 50 N I 21 N"10u"
+DS -1000 -450 -1100 -450 50 21
+DS -1100 -450 -1100 450 50 21
+DS -1100 450 -1000 450 50 21
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms_pol.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206POL
+$MODULE SO8E
+Po 31400 27000 2700 15 42806F54 4F6E2821 ~~
+Li SO8E
+Cd module CMS SOJ 8 pins etroit
+Kw CMS SOJ
+Sc 4F6E2821
+AR /4F6E139C
+Op 0 0 0
+At SMD
+T0 0 -350 450 450 2700 60 N V 21 N"U2"
+T1 0 400 350 350 2700 60 N V 21 N"LM75"
+DS -1050 700 -1050 750 50 21
+DS -1050 750 1050 750 50 21
+DS 1050 -750 -1050 -750 50 21
+DS -1050 -750 -1050 700 50 21
+DS -1050 -200 -850 -200 50 21
+DS -850 -200 -850 200 50 21
+DS -850 200 -1050 200 50 21
+DS 1050 -750 1050 750 50 21
+$PAD
+Sh "8" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po -750 -1050
+$EndPAD
+$PAD
+Sh "1" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 7 "N-000018"
+Po -750 1050
+$EndPAD
+$PAD
+Sh "7" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po -250 -1050
+$EndPAD
+$PAD
+Sh "6" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 250 -1050
+$EndPAD
+$PAD
+Sh "5" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po 750 -1050
+$EndPAD
+$PAD
+Sh "2" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 9 "N-000021"
+Po -250 1050
+$EndPAD
+$PAD
+Sh "3" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 250 1050
+$EndPAD
+$PAD
+Sh "4" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 750 1050
+$EndPAD
+$SHAPE3D
+Na "smd/cms_so8.wrl"
+Sc 0.500000 0.320000 0.500000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SO8E
+$MODULE TQFP32
+Po 24800 22200 900 15 43A670DA 4F6E2823 ~~
+Li TQFP32
+Sc 4F6E2823
+AR /4D41ACFD
+Op 0 0 0
+T0 0 -500 500 400 900 80 N V 21 N"U1"
+T1 0 750 500 400 900 80 N V 21 N"AT90USB162"
+DS 1980 1090 1530 1090 60 21
+DS 1980 -1090 1540 -1090 60 21
+DS 1980 1090 1980 -1090 60 21
+DS 1100 1560 1100 1990 60 21
+DS -1110 1570 -1110 1990 60 21
+DS -1120 1990 1100 2000 60 21
+DS -1100 -1980 1070 -1990 60 21
+DS -1530 -1290 -1530 1540 60 21
+DS 1080 -1980 1080 -1570 60 21
+DS -1280 -1530 1500 -1530 60 21
+DS 1520 1550 1520 -1490 60 21
+DS -1530 1550 1470 1550 60 21
+DS -1980 -1120 -1980 1100 60 21
+DS -1980 1100 -1530 1100 60 21
+DS -1526 -1300 -1296 -1530 60 21
+DS -1978 -1120 -1526 -1120 60 21
+DS -1100 -1530 -1100 -1982 60 21
+DC -1118 -1126 -958 -1026 60 21
+$PAD
+Sh "8" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1896 1093
+$EndPAD
+$PAD
+Sh "7" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 7 "N-000018"
+Po -1896 778
+$EndPAD
+$PAD
+Sh "6" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 9 "N-000021"
+Po -1896 463
+$EndPAD
+$PAD
+Sh "5" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1896 148
+$EndPAD
+$PAD
+Sh "4" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -1896 -167
+$EndPAD
+$PAD
+Sh "3" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po -1896 -482
+$EndPAD
+$PAD
+Sh "2" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 27 "N-000039"
+Po -1896 -797
+$EndPAD
+$PAD
+Sh "1" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 10 "N-000022"
+Po -1896 -1112
+$EndPAD
+$PAD
+Sh "24" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 20 "N-000032"
+Po 1870 -1110
+$EndPAD
+$PAD
+Sh "17" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 16 "N-000028"
+Po 1870 1100
+$EndPAD
+$PAD
+Sh "18" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 17 "N-000029"
+Po 1870 780
+$EndPAD
+$PAD
+Sh "19" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 460
+$EndPAD
+$PAD
+Sh "20" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 150
+$EndPAD
+$PAD
+Sh "21" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 -170
+$EndPAD
+$PAD
+Sh "22" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 -480
+$EndPAD
+$PAD
+Sh "23" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 -800
+$EndPAD
+$PAD
+Sh "32" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1112 -1900
+$EndPAD
+$PAD
+Sh "31" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -798 -1900
+$EndPAD
+$PAD
+Sh "30" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 15 "N-000027"
+Po -482 -1900
+$EndPAD
+$PAD
+Sh "29" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 14 "N-000026"
+Po -168 -1900
+$EndPAD
+$PAD
+Sh "28" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 148 -1900
+$EndPAD
+$PAD
+Sh "27" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 11 "N-000023"
+Po 462 -1900
+$EndPAD
+$PAD
+Sh "26" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 778 -1900
+$EndPAD
+$PAD
+Sh "25" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1092 -1900
+$EndPAD
+$PAD
+Sh "9" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 25 "N-000037"
+Po -1110 1880
+$EndPAD
+$PAD
+Sh "10" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 8 "N-000020"
+Po -800 1880
+$EndPAD
+$PAD
+Sh "11" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 24 "N-000036"
+Po -480 1880
+$EndPAD
+$PAD
+Sh "12" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 18 "N-000030"
+Po -170 1880
+$EndPAD
+$PAD
+Sh "13" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 23 "N-000035"
+Po 140 1880
+$EndPAD
+$PAD
+Sh "14" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 19 "N-000031"
+Po 460 1880
+$EndPAD
+$PAD
+Sh "15" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 22 "N-000034"
+Po 780 1880
+$EndPAD
+$PAD
+Sh "16" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 21 "N-000033"
+Po 1100 1880
+$EndPAD
+$SHAPE3D
+Na "smd/tqfp32.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE TQFP32
+$MODULE pin_array_4x2
+Po 31800 22400 2700 15 3FAB90E6 4F6E280B ~~
+Li pin_array_4x2
+Cd Double rangee de contacts 2 x 4 pins
+Kw CONN
+Sc 4F6E280B
+AR /4DCFB290
+Op 0 0 0
+T0 0 -1500 400 400 2700 80 N V 21 N"P2"
+T1 0 1500 400 400 2700 80 N I 21 N"EXPANSION"
+DS -2000 -1000 2000 -1000 120 21
+DS 2000 -1000 2000 1000 120 21
+DS 2000 1000 -2000 1000 120 21
+DS -2000 1000 -2000 -1000 120 21
+$PAD
+Sh "1" R 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 3 "GND"
+Po -1500 500
+$EndPAD
+$PAD
+Sh "2" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 19 "N-000031"
+Po -1500 -500
+$EndPAD
+$PAD
+Sh "3" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 23 "N-000035"
+Po -500 500
+$EndPAD
+$PAD
+Sh "4" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 18 "N-000030"
+Po -500 -500
+$EndPAD
+$PAD
+Sh "5" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 24 "N-000036"
+Po 500 500
+$EndPAD
+$PAD
+Sh "6" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 8 "N-000020"
+Po 500 -500
+$EndPAD
+$PAD
+Sh "7" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 25 "N-000037"
+Po 1500 500
+$EndPAD
+$PAD
+Sh "8" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 28 "VCC"
+Po 1500 -500
+$EndPAD
+$SHAPE3D
+Na "pin_array/pins_array_4x2.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE pin_array_4x2
+$MODULE SM1206
+Po 22400 27800 0 15 42806E24 4F6E2806 ~~
+Li SM1206
+Sc 4F6E2806
+AR /4D41AD3C
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"C1"
+T1 0 0 300 300 0 50 N I 21 N"1u"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 11 "N-000023"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE TO220-TRIAC
+Po 32800 15200 1800 15 4F6E38F2 4F6E2822 ~~
+Li TO220-TRIAC
+Cd Transistor TO 220
+Kw TR TO220 DEV
+Sc 4F6E2822
+AR /4F6E10B7
+Op 0 0 0
+T0 2750 0 400 400 2700 80 N V 21 N"U3"
+T1 4250 0 400 400 2700 80 N V 21 N"TRIAC"
+DS 0 -1000 2000 -1000 120 21
+DS 0 0 2000 0 120 21
+DS 0 1000 2000 1000 120 21
+DS 2000 2000 8000 2000 120 21
+DS 8000 2000 8000 -2000 120 21
+DS 8000 -2000 2000 -2000 120 21
+DS 2000 -2000 2000 2000 120 21
+DS 5000 1500 5000 -2000 120 21
+DS 5000 1500 5000 2000 120 21
+$PAD
+Sh "3" R 900 900 0 0 1800
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 6 "N-000014"
+Po 0 1000
+$EndPAD
+$PAD
+Sh "1" C 900 900 0 0 1800
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 2 "/hot2"
+Po 0 -1000
+$EndPAD
+$PAD
+Sh "2" C 900 900 0 0 1800
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 1 "/hot1"
+Po 0 0
+$EndPAD
+$PAD
+Sh "4" R 3500 3500 0 0 1800
+Dr 1200 0 0
+At STD N 00F0FFFF
+Ne 0 ""
+Po 6500 0
+$EndPAD
+$SHAPE3D
+Na "discret/to220_horiz.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE TO220-TRIAC
+$DRAWSEGMENT
+Po 0 19000 49000 19000 12500 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 42500 49000 19000 49000 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 42500 12500 42500 49000 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 19000 12500 42500 12500 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$TRACK
+Po 0 33550 17600 33550 18800 158 -1
+De 15 0 1 0 C00
+Po 0 32200 17600 33550 17600 158 -1
+De 15 0 1 0 400
+Po 0 31800 17200 32200 17600 158 -1
+De 15 0 1 0 0
+Po 0 31800 15800 31800 17200 158 -1
+De 15 0 1 0 0
+Po 0 32400 15200 31800 15800 158 -1
+De 15 0 1 0 0
+Po 0 32800 15200 32400 15200 158 -1
+De 15 0 1 0 800
+Po 0 39000 15200 40400 13800 800 -1
+De 15 0 1 0 400
+Po 0 32800 15200 39000 15200 800 -1
+De 15 0 1 0 800
+Po 0 38600 17600 40000 16200 158 -1
+De 15 0 2 0 0
+Po 0 37250 17600 38600 17600 158 -1
+De 15 0 2 0 800
+Po 0 40000 16200 40400 15800 158 -1
+De 15 0 2 0 400
+Po 0 32800 16200 40000 16200 800 -1
+De 15 0 2 0 800
+Po 0 40000 16200 40400 15800 800 -1
+De 15 0 2 0 400
+Po 0 30350 27750 30735 27750 158 -1
+De 15 0 3 0 800
+Po 0 32835 27250 32835 26750 158 -1
+De 15 0 3 0 0
+Po 0 32450 26750 32583 26750 158 -1
+De 15 0 3 0 800
+Po 0 32583 26750 32835 26750 158 -1
+De 15 0 3 0 0
+Po 0 32450 27250 32775 27250 158 -1
+De 15 0 3 0 800
+Po 0 32775 27250 32835 27250 158 -1
+De 15 0 3 0 0
+Po 0 32835 27250 32993 27408 158 -1
+De 15 0 3 0 0
+Po 0 36150 24800 35920 24800 158 -1
+De 15 0 3 0 800
+Po 0 35920 24800 35690 24800 158 -1
+De 15 0 3 0 0
+Po 0 38400 21950 38400 22560 158 -1
+De 15 0 3 0 800
+Po 0 36581 25461 35920 24800 158 -1
+De 15 0 3 0 0
+Po 0 38151 25461 36581 25461 158 -1
+De 15 0 3 0 0
+Po 0 39090 26400 38151 25461 158 -1
+De 15 0 3 0 0
+Po 0 32993 27986 32993 27408 158 -1
+De 15 0 3 0 0
+Po 0 32948 28031 32993 27986 158 -1
+De 15 0 3 0 0
+Po 0 31016 28031 32948 28031 158 -1
+De 15 0 3 0 0
+Po 0 30735 27750 31016 28031 158 -1
+De 15 0 3 0 0
+Po 0 32545 26250 32771 26250 158 -1
+De 15 0 3 0 0
+Po 0 39543 26400 39090 26400 158 -1
+De 15 0 3 0 0
+Po 0 39543 26400 39550 26400 158 -1
+De 15 0 3 0 400
+Po 0 39550 26400 40010 26400 158 -1
+De 15 0 3 0 800
+Po 0 33082 27408 32993 27408 158 -1
+De 15 0 3 0 0
+Po 0 35690 24800 33082 27408 158 -1
+De 15 0 3 0 0
+Po 0 38400 22560 38400 23571 158 -1
+De 15 0 3 0 0
+Po 0 39090 24261 38400 23571 158 -1
+De 15 0 3 0 0
+Po 0 39090 24800 39090 24261 158 -1
+De 15 0 3 0 0
+Po 0 35450 23571 38400 23571 158 -1
+De 15 0 3 0 0
+Po 0 32771 26250 35450 23571 158 -1
+De 15 0 3 0 0
+Po 0 39550 24800 39090 24800 158 -1
+De 15 0 3 0 800
+Po 0 32771 26562 32771 26250 158 -1
+De 15 0 3 0 0
+Po 0 32583 26750 32771 26562 158 -1
+De 15 0 3 0 0
+Po 0 39134 29341 39074 29281 158 -1
+De 15 0 3 0 0
+Po 0 41466 29341 39134 29341 158 -1
+De 15 0 3 0 0
+Po 0 41511 29296 41466 29341 158 -1
+De 15 0 3 0 0
+Po 0 41511 26084 41511 29296 158 -1
+De 15 0 3 0 0
+Po 0 41266 25839 41511 26084 158 -1
+De 15 0 3 0 0
+Po 0 40111 25839 41266 25839 158 -1
+De 15 0 3 0 0
+Po 0 40010 25940 40111 25839 158 -1
+De 15 0 3 0 0
+Po 0 40010 26400 40010 25940 158 -1
+De 15 0 3 0 0
+Po 0 25051 29341 23510 27800 158 -1
+De 15 0 3 0 0
+Po 0 39014 29341 25051 29341 158 -1
+De 15 0 3 0 0
+Po 0 39074 29281 39014 29341 158 -1
+De 15 0 3 0 0
+Po 0 39074 27564 37910 26400 158 -1
+De 15 0 3 0 0
+Po 0 39074 29281 39074 27564 158 -1
+De 15 0 3 0 0
+Po 0 23050 27800 23510 27800 158 -1
+De 15 0 3 0 800
+Po 0 37450 26400 37910 26400 158 -1
+De 15 0 3 0 800
+Po 0 24318 24599 24318 24096 158 -1
+De 15 0 3 0 400
+Po 0 27469 27750 24318 24599 158 -1
+De 15 0 3 0 0
+Po 0 30350 27750 27469 27750 158 -1
+De 15 0 3 0 800
+Po 0 24318 24096 24318 22052 158 -1
+De 15 0 3 0 800
+Po 0 22900 22052 24318 22052 158 -1
+De 15 0 3 0 800
+Po 0 27400 19641 27400 19100 158 -1
+De 15 0 3 0 400
+Po 0 24989 22052 27400 19641 158 -1
+De 15 0 3 0 0
+Po 0 24318 22052 24989 22052 158 -1
+De 15 0 3 0 0
+Po 0 32450 26250 32485 26250 158 -1
+De 15 0 3 0 800
+Po 0 32485 26250 32545 26250 158 -1
+De 15 0 3 0 0
+Po 0 28879 19658 28879 18917 158 -1
+De 15 0 3 0 0
+Po 0 30121 20900 28879 19658 158 -1
+De 15 0 3 0 0
+Po 0 31300 20900 30121 20900 158 -1
+De 15 0 3 0 800
+Po 0 27640 19100 27400 19100 158 -1
+De 15 0 3 0 400
+Po 0 28179 18561 27640 19100 158 -1
+De 15 0 3 0 0
+Po 0 28523 18561 28179 18561 158 -1
+De 15 0 3 0 0
+Po 0 28879 18917 28523 18561 158 -1
+De 15 0 3 0 0
+Po 0 20954 15224 20954 14246 158 -1
+De 15 0 3 0 400
+Po 0 20128 16050 20954 15224 158 -1
+De 15 0 3 0 0
+Po 0 20128 27886 20128 16050 158 -1
+De 15 0 3 0 0
+Po 0 22787 30545 20128 27886 158 -1
+De 15 0 3 0 0
+Po 0 41081 30545 22787 30545 158 -1
+De 15 0 3 0 0
+Po 0 42200 29426 41081 30545 158 -1
+De 15 0 3 0 0
+Po 0 42200 23586 42200 29426 158 -1
+De 15 0 3 0 0
+Po 0 38970 20356 42200 23586 158 -1
+De 15 0 3 0 0
+Po 0 33136 20356 38970 20356 158 -1
+De 15 0 3 0 0
+Po 0 31341 18561 33136 20356 158 -1
+De 15 0 3 0 0
+Po 0 29235 18561 31341 18561 158 -1
+De 15 0 3 0 0
+Po 0 28879 18917 29235 18561 158 -1
+De 15 0 3 0 0
+Po 0 37250 18800 37400 18950 158 -1
+De 15 0 4 0 400
+Po 0 34850 18800 37250 18800 158 -1
+De 15 0 4 0 800
+Po 0 37400 21950 35780 21950 157 -1
+De 15 0 5 0 800
+Po 0 35780 21950 35010 21180 157 -1
+De 15 0 5 0 400
+Po 0 40850 18950 39400 18950 158 -1
+De 15 0 6 0 400
+Po 0 41600 18200 40850 18950 158 -1
+De 15 0 6 0 0
+Po 0 41600 13600 41600 18200 158 -1
+De 15 0 6 0 0
+Po 0 40800 12800 41600 13600 158 -1
+De 15 0 6 0 0
+Po 0 34200 12800 40800 12800 158 -1
+De 15 0 6 0 0
+Po 0 32800 14200 34200 12800 158 -1
+De 15 0 6 0 800
+Po 0 27203 26250 30350 26250 158 -1
+De 15 0 7 0 400
+Po 0 25578 24625 27203 26250 158 -1
+De 15 0 7 0 0
+Po 0 25578 24096 25578 24625 158 -1
+De 15 0 7 0 800
+Po 0 28994 23000 26680 23000 158 -1
+De 15 0 8 0 400
+Po 0 29433 23439 28994 23000 158 -1
+De 15 0 8 0 0
+Po 0 31761 23439 29433 23439 158 -1
+De 15 0 8 0 0
+Po 0 32300 22900 31761 23439 158 -1
+De 15 0 8 0 800
+Po 0 27364 26750 30350 26750 158 -1
+De 15 0 9 0 400
+Po 0 25263 24649 27364 26750 158 -1
+De 15 0 9 0 0
+Po 0 25263 24096 25263 24649 158 -1
+De 15 0 9 0 800
+Po 0 36150 26400 35920 26400 158 -1
+De 15 0 10 0 800
+Po 0 35920 26400 35690 26400 158 -1
+De 15 0 10 0 0
+Po 0 35920 27680 36500 28260 158 -1
+De 15 0 10 0 0
+Po 0 35920 26400 35920 27680 158 -1
+De 15 0 10 0 0
+Po 0 36500 28800 36500 28260 158 -1
+De 15 0 10 0 800
+Po 0 23688 24666 23688 24096 158 -1
+De 15 0 10 0 400
+Po 0 27787 28765 23688 24666 158 -1
+De 15 0 10 0 0
+Po 0 33325 28765 27787 28765 158 -1
+De 15 0 10 0 0
+Po 0 35690 26400 33325 28765 158 -1
+De 15 0 10 0 0
+Po 0 22900 21738 22346 21738 158 -1
+De 15 0 11 0 800
+Po 0 21750 27800 21290 27800 158 -1
+De 15 0 11 0 800
+Po 0 20929 23155 22346 21738 158 -1
+De 15 0 11 0 0
+Po 0 20929 27439 20929 23155 158 -1
+De 15 0 11 0 0
+Po 0 21290 27800 20929 27439 158 -1
+De 15 0 11 0 0
+Po 0 21466 15624 21466 14246 158 -1
+De 15 0 12 0 400
+Po 0 21200 15890 21466 15624 158 -1
+De 15 0 12 0 0
+Po 0 21200 16350 21200 15890 158 -1
+De 15 0 12 0 800
+Po 0 21722 15212 21722 14246 158 -1
+De 15 0 13 0 400
+Po 0 22400 15890 21722 15212 158 -1
+De 15 0 13 0 0
+Po 0 22400 16350 22400 15890 158 -1
+De 15 0 13 0 800
+Po 0 22900 22368 22346 22368 158 -1
+De 15 0 14 0 800
+Po 0 21200 17650 21200 18110 158 -1
+De 15 0 14 0 800
+Po 0 20690 18620 21200 18110 158 -1
+De 15 0 14 0 0
+Po 0 20690 27719 20690 18620 158 -1
+De 15 0 14 0 0
+Po 0 21342 28371 20690 27719 158 -1
+De 15 0 14 0 0
+Po 0 22190 28371 21342 28371 158 -1
+De 15 0 14 0 0
+Po 0 22210 28351 22190 28371 158 -1
+De 15 0 14 0 0
+Po 0 22210 27270 22210 28351 158 -1
+De 15 0 14 0 0
+Po 0 21707 26767 22210 27270 158 -1
+De 15 0 14 0 0
+Po 0 21321 26767 21707 26767 158 -1
+De 15 0 14 0 0
+Po 0 21276 26722 21321 26767 158 -1
+De 15 0 14 0 0
+Po 0 21276 23438 21276 26722 158 -1
+De 15 0 14 0 0
+Po 0 22346 22368 21276 23438 158 -1
+De 15 0 14 0 0
+Po 0 25900 20330 25900 20300 157 -1
+De 15 0 16 0 C00
+Po 0 30400 18100 29400 18100 157 -1
+De 15 0 16 0 400
+Po 0 30500 18000 30400 18100 157 -1
+De 15 0 16 0 0
+Po 3 30500 18000 30500 18000 700 -1
+De 15 1 16 0 0
+Po 0 30500 19800 30500 18000 157 -1
+De 0 0 16 0 0
+Po 0 26400 19800 30500 19800 157 -1
+De 0 0 16 0 0
+Po 3 26400 19800 26400 19800 700 -1
+De 15 1 16 0 0
+Po 0 25900 20300 26400 19800 157 -1
+De 15 0 16 0 800
+Po 0 25580 20330 25580 19020 157 -1
+De 15 0 17 0 800
+Po 3 25600 19000 25600 19000 700 -1
+De 15 1 17 0 0
+Po 0 25580 19020 25600 19000 157 -1
+De 15 0 17 0 0
+Po 0 31830 22370 26680 22370 158 -1
+De 15 0 18 0 400
+Po 0 32300 21900 31830 22370 158 -1
+De 15 0 18 0 800
+Po 0 31761 21439 32300 20900 158 -1
+De 15 0 19 0 400
+Po 0 29018 21439 31761 21439 158 -1
+De 15 0 19 0 0
+Po 0 28717 21740 29018 21439 158 -1
+De 15 0 19 0 0
+Po 0 26680 21740 28717 21740 158 -1
+De 15 0 19 0 800
+Po 0 23690 20330 23690 20053 158 -1
+De 15 0 20 0 800
+Po 0 27400 18100 23690 18100 158 -1
+De 15 0 20 0 800
+Po 0 23690 20053 23690 18100 158 -1
+De 15 0 20 0 0
+Po 0 27233 20267 28400 19100 158 -1
+De 15 0 21 0 400
+Po 0 27233 21100 27233 20267 158 -1
+De 15 0 21 0 0
+Po 0 26680 21100 27233 21100 158 -1
+De 15 0 21 0 800
+Po 0 31140 22060 26680 22060 158 -1
+De 15 0 23 0 400
+Po 0 31300 21900 31140 22060 158 -1
+De 15 0 23 0 800
+Po 0 31080 22680 26680 22680 158 -1
+De 15 0 24 0 400
+Po 0 31300 22900 31080 22680 158 -1
+De 15 0 24 0 800
+Po 0 26680 23310 27233 23310 158 -1
+De 15 0 25 0 800
+Po 0 27823 23900 27233 23310 158 -1
+De 15 0 25 0 0
+Po 0 31300 23900 27823 23900 158 -1
+De 15 0 25 0 800
+Po 0 35950 17600 34850 17600 158 -1
+De 15 0 26 0 C00
+Po 0 40300 28800 40300 28530 158 -1
+De 15 0 27 0 800
+Po 0 40850 26400 40390 26400 158 -1
+De 15 0 27 0 800
+Po 0 40300 28530 40300 27359 158 -1
+De 15 0 27 0 0
+Po 0 40300 26490 40390 26400 158 -1
+De 15 0 27 0 0
+Po 0 40300 27359 40300 26490 158 -1
+De 15 0 27 0 0
+Po 0 24003 24623 24003 24096 158 -1
+De 15 0 27 0 400
+Po 0 27901 28521 24003 24623 158 -1
+De 15 0 27 0 0
+Po 0 33030 28521 27901 28521 158 -1
+De 15 0 27 0 0
+Po 0 35712 25839 33030 28521 158 -1
+De 15 0 27 0 0
+Po 0 37879 25839 35712 25839 158 -1
+De 15 0 27 0 0
+Po 0 39399 27359 37879 25839 158 -1
+De 15 0 27 0 0
+Po 0 40300 27359 39399 27359 158 -1
+De 15 0 27 0 0
+Po 0 37450 24800 37910 24800 158 -1
+De 15 0 28 0 800
+Po 0 40623 24800 40390 24800 158 -1
+De 15 0 28 0 0
+Po 0 32450 27750 32065 27750 158 -1
+De 15 0 28 0 800
+Po 0 22900 22998 22346 22998 158 -1
+De 15 0 28 0 800
+Po 0 21750 26200 22210 26200 158 -1
+De 15 0 28 0 800
+Po 0 24633 24096 24633 23542 158 -1
+De 15 0 28 0 800
+Po 0 27645 25062 32065 25062 158 -1
+De 15 0 28 0 0
+Po 0 26125 23542 27645 25062 158 -1
+De 15 0 28 0 0
+Po 0 24633 23542 26125 23542 158 -1
+De 15 0 28 0 0
+Po 0 32065 25062 32065 27750 158 -1
+De 15 0 28 0 0
+Po 0 32065 24135 32300 23900 158 -1
+De 15 0 28 0 400
+Po 0 32065 25062 32065 24135 158 -1
+De 15 0 28 0 0
+Po 0 22346 26064 22210 26200 158 -1
+De 15 0 28 0 0
+Po 0 22346 22998 22346 26064 158 -1
+De 15 0 28 0 0
+Po 0 40390 24937 40390 24800 158 -1
+De 15 0 28 0 0
+Po 0 39966 25361 40390 24937 158 -1
+De 15 0 28 0 0
+Po 0 38471 25361 39966 25361 158 -1
+De 15 0 28 0 0
+Po 0 37910 24800 38471 25361 158 -1
+De 15 0 28 0 0
+Po 0 40623 24800 40850 24800 158 -1
+De 15 0 28 0 400
+Po 0 40850 24800 41310 24800 158 -1
+De 15 0 28 0 800
+Po 0 22590 26580 22590 28350 158 -1
+De 15 0 28 0 0
+Po 0 22210 26200 22590 26580 158 -1
+De 15 0 28 0 0
+Po 0 24497 30257 22590 28350 158 -1
+De 15 0 28 0 0
+Po 0 41030 30257 24497 30257 158 -1
+De 15 0 28 0 0
+Po 0 41751 29536 41030 30257 158 -1
+De 15 0 28 0 0
+Po 0 41751 25241 41751 29536 158 -1
+De 15 0 28 0 0
+Po 0 41310 24800 41751 25241 158 -1
+De 15 0 28 0 0
+Po 0 21978 14958 21978 14245 158 -1
+De 15 0 28 0 400
+Po 0 22961 15941 21978 14958 158 -1
+De 15 0 28 0 0
+Po 0 22961 16769 22961 15941 158 -1
+De 15 0 28 0 0
+Po 0 22556 17174 22961 16769 158 -1
+De 15 0 28 0 0
+Po 0 20568 17174 22556 17174 158 -1
+De 15 0 28 0 0
+Po 0 20382 17360 20568 17174 158 -1
+De 15 0 28 0 0
+Po 0 20382 27801 20382 17360 158 -1
+De 15 0 28 0 0
+Po 0 21400 28819 20382 27801 158 -1
+De 15 0 28 0 0
+Po 0 22121 28819 21400 28819 158 -1
+De 15 0 28 0 0
+Po 0 22590 28350 22121 28819 158 -1
+De 15 0 28 0 0
+Po 0 40390 23780 40390 24800 158 -1
+De 15 0 28 0 0
+Po 0 38900 22290 40390 23780 158 -1
+De 15 0 28 0 0
+Po 0 38900 21384 38900 22290 158 -1
+De 15 0 28 0 0
+Po 0 38229 20713 38900 21384 158 -1
+De 15 0 28 0 0
+Po 0 32771 20713 38229 20713 158 -1
+De 15 0 28 0 0
+Po 0 32771 23429 32771 20713 158 -1
+De 15 0 28 0 0
+Po 0 32300 23900 32771 23429 158 -1
+De 15 0 28 0 800
+Po 0 31158 19100 29400 19100 158 -1
+De 15 0 28 0 400
+Po 0 32771 20713 31158 19100 158 -1
+De 15 0 28 0 0
+$EndTRACK
+$ZONE
+$EndZONE
+$EndBOARD
diff --git a/circuit/$savepcb.brd b/circuit/$savepcb.brd
new file mode 100644
index 0000000..ecd8093
--- /dev/null
+++ b/circuit/$savepcb.brd
@@ -0,0 +1,2047 @@
+PCBNEW-BOARD Version 1 date Sat 24 Mar 2012 10:53:55 PM CET
+
+# Created by Pcbnew(2010-03-14)-final
+
+$GENERAL
+LayerCount 2
+Ly 1FFF8001
+EnabledLayers 1FFF8001
+Links 54
+NoConn 0
+Di 18924 12424 42576 49076
+Ndraw 4
+Ntrack 274
+Nzone 0
+BoardThickness 630
+Nmodule 21
+Nnets 29
+$EndGENERAL
+
+$SHEETDESCR
+Sheet A4 11700 8267
+Title ""
+Date "24 mar 2012"
+Rev ""
+Comp ""
+Comment1 ""
+Comment2 ""
+Comment3 ""
+Comment4 ""
+$EndSHEETDESCR
+
+$SETUP
+InternalUnit 0.000100 INCH
+ZoneGridSize 250
+Layers 2
+Layer[0] Back signal
+Layer[15] Front signal
+TrackWidth 157
+TrackWidthList 157
+TrackWidthList 315
+TrackClearence 79
+ZoneClearence 200
+TrackMinWidth 80
+DrawSegmWidth 150
+EdgeSegmWidth 150
+ViaSize 700
+ViaDrill 250
+ViaMinSize 350
+ViaMinDrill 200
+MicroViaSize 200
+MicroViaDrill 50
+MicroViasAllowed 0
+MicroViaMinSize 200
+MicroViaMinDrill 50
+TextPcbWidth 120
+TextPcbSize 600 800
+EdgeModWidth 150
+TextModSize 600 600
+TextModWidth 120
+PadSize 900 900
+PadDrill 450
+Pad2MaskClearance 100
+AuxiliaryAxisOrg 0 0
+$EndSETUP
+
+$EQUIPOT
+Na 0 ""
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 1 "/hot1"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 2 "/hot2"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 3 "GND"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 4 "N-000011"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 5 "N-000013"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 6 "N-000014"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 7 "N-000018"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 8 "N-000020"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 9 "N-000021"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 10 "N-000022"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 11 "N-000023"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 12 "N-000024"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 13 "N-000025"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 14 "N-000026"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 15 "N-000027"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 16 "N-000028"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 17 "N-000029"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 18 "N-000030"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 19 "N-000031"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 20 "N-000032"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 21 "N-000033"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 22 "N-000034"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 23 "N-000035"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 24 "N-000036"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 25 "N-000037"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 26 "N-000038"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 27 "N-000039"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 28 "VCC"
+St ~
+$EndEQUIPOT
+$NCLASS
+Name "Default"
+Desc "This is the default net class."
+Clearance 79
+TrackWidth 157
+ViaDia 700
+ViaDrill 250
+uViaDia 200
+uViaDrill 50
+AddNet ""
+AddNet "GND"
+AddNet "N-000011"
+AddNet "N-000013"
+AddNet "N-000014"
+AddNet "N-000018"
+AddNet "N-000020"
+AddNet "N-000021"
+AddNet "N-000022"
+AddNet "N-000023"
+AddNet "N-000024"
+AddNet "N-000025"
+AddNet "N-000026"
+AddNet "N-000027"
+AddNet "N-000028"
+AddNet "N-000029"
+AddNet "N-000030"
+AddNet "N-000031"
+AddNet "N-000032"
+AddNet "N-000033"
+AddNet "N-000034"
+AddNet "N-000035"
+AddNet "N-000036"
+AddNet "N-000037"
+AddNet "N-000038"
+AddNet "N-000039"
+AddNet "VCC"
+$EndNCLASS
+$NCLASS
+Name "PWR"
+Desc ""
+Clearance 79
+TrackWidth 800
+ViaDia 472
+ViaDrill 250
+uViaDia 200
+uViaDrill 50
+AddNet "/hot1"
+AddNet "/hot2"
+$EndNCLASS
+$MODULE connect-CLAMP-02
+Po 40400 14800 2700 15 00200000 4F6E2807 ~~
+Li connect-CLAMP-02
+Sc 4F6E2807
+AR /4F6E1135
+Op 0 0 0
+At VIRTUAL
+T0 1000 -2849 700 700 2700 35 N V 21 N"P4"
+T1 1350 2650 700 700 2700 35 N V 21 N"CONN_2"
+DS 1970 -2000 1970 2000 50 21
+DS -1970 -2000 -1970 2000 50 21
+DS -1970 -2000 1970 -2000 50 21
+DS 1970 2000 -1970 2000 50 21
+DS -480 -520 -1650 350 50 21
+DS -350 -350 -1530 520 50 21
+DS -500 -350 -1500 350 200 21
+DS -400 -360 -490 -460 100 21
+DS -1520 460 -1590 370 100 21
+DS 480 -520 1350 650 50 21
+DS 650 -650 1520 530 50 21
+DS 650 -500 1350 500 200 21
+DS 640 -600 540 -509 100 21
+DS 1460 520 1370 590 100 21
+DS -1650 -1800 1950 -1800 20 21
+DS -1700 -1600 1950 -1600 20 21
+DS -1800 -1400 1950 -1400 20 21
+DS -1650 1800 1950 1800 20 21
+DS -1700 1600 1950 1600 20 21
+DS -1800 1400 1950 1400 20 21
+DS 1950 1200 -1900 1200 20 21
+DS -1900 -1200 1950 -1200 20 21
+DC -1000 0 -1375 375 25 21
+DC 1000 0 1375 375 25 21
+$PAD
+Sh "1" C 900 1800 0 0 2700
+Dr 500 0 0
+At STD N 00A88001
+Ne 1 "/hot1"
+Po -1000 0
+$EndPAD
+$PAD
+Sh "2" C 900 1800 0 0 2700
+Dr 500 0 0
+At STD N 00A88001
+Ne 2 "/hot2"
+Po 1000 0
+$EndPAD
+$EndMODULE connect-CLAMP-02
+$MODULE crystal-HC49UP
+Po 38400 28800 0 15 00200000 4F6E2808 ~~
+Li crystal-HC49UP
+Cd CRYSTAL
+Kw CRYSTAL
+Sc 4F6E2808
+AR /4D41AE62
+Op 0 0 0
+At SMD
+T0 -1000 1350 500 500 0 35 N V 21 N"X1"
+T1 -750 -1400 500 500 0 35 N V 21 N"CRYSTAL"
+DS -2600 1200 2600 1200 26 21
+DS 2600 1200 2600 -1200 26 21
+DS -2600 -1200 2600 -1200 26 21
+DS -2600 1200 -2600 -1200 26 21
+DS -2250 -450 -2250 -850 60 21
+DS 2250 -450 2250 -850 60 21
+DS 1350 500 -1350 500 20 21
+DS 1350 800 -1350 800 20 21
+DS -1350 -500 1350 -500 20 21
+DS 2150 950 -2150 950 60 21
+DS 2250 150 2550 150 60 21
+DS 2250 -150 2550 -150 60 21
+DS 2550 150 2550 -150 60 21
+DS 2250 450 2250 -450 60 21
+DS 2250 850 2250 450 60 21
+DS -2550 150 -2550 -150 60 21
+DS -2250 450 -2250 150 60 21
+DS -2250 150 -2250 -150 60 21
+DS -2250 -150 -2250 -450 60 21
+DS -2250 850 -2250 450 60 21
+DS -2250 150 -2550 150 60 21
+DS -2250 -150 -2550 -150 60 21
+DS -1350 -800 1350 -800 20 21
+DS 2150 -950 -2150 -950 60 21
+DS -100 -250 -100 250 60 21
+DS -100 250 100 250 60 21
+DS 100 250 100 -250 60 21
+DS 100 -250 -100 -250 60 21
+DS -250 -250 -250 0 60 21
+DS -250 0 -250 250 60 21
+DS -250 0 -400 0 20 21
+DS 250 -250 250 0 60 21
+DS 250 0 250 250 60 21
+DS 250 0 400 0 20 21
+DA -1349 0 -2011 -450 4157 20 21
+DA 1350 0 1350 -800 4157 20 21
+DA 2150 850 2250 850 4500 60 21
+DA 1350 0 1567 450 3858 20 21
+DA 1350 0 1350 -500 3858 20 21
+DA 1349 0 2011 449 4157 20 21
+DA 1350 0 1567 -450 4883 20 21
+DA 1350 0 2011 -450 4284 20 21
+DA -1350 0 -1350 800 4157 20 21
+DA -1350 0 -1567 450 4883 20 21
+DA -1350 0 -1350 500 3858 20 21
+DA -1350 0 -1567 -450 3858 20 21
+DA -1350 0 -2011 450 4284 20 21
+DA -2150 850 -2150 950 4500 60 21
+DA 2150 -850 2150 -950 4500 60 21
+DA -2150 -850 -2250 -850 4500 60 21
+$PAD
+Sh "1" R 2100 760 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 10 "N-000022"
+Po -1900 0
+$EndPAD
+$PAD
+Sh "2" R 2100 760 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 27 "N-000039"
+Po 1900 0
+$EndPAD
+$EndMODULE crystal-HC49UP
+$MODULE DIP-6__300_ELL
+Po 38400 20450 0 15 4879C789 4F6E2809 ~~
+Li DIP-6__300_ELL
+Cd 6 pins DIL package, elliptical pads
+Kw DIL
+Sc 4F6E2809
+AR /4F6E103D
+Op 0 0 0
+T0 0 -400 600 400 0 60 N V 21 N"OK1"
+T1 0 500 500 350 0 60 N V 21 N"MOC3023M"
+DS -1750 -1000 1750 -1000 150 21
+DS 1750 -1000 1750 1000 150 21
+DS 1750 1000 -1750 1000 150 21
+DS -1750 1000 -1750 -1000 150 21
+DS -1750 -250 -1250 -250 150 21
+DS -1250 -250 -1250 250 150 21
+DS -1250 250 -1750 250 150 21
+$PAD
+Sh "1" R 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 5 "N-000013"
+Po -1000 1500
+$EndPAD
+$PAD
+Sh "2" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 3 "GND"
+Po 0 1500
+$EndPAD
+$PAD
+Sh "3" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 1000 1500
+$EndPAD
+$PAD
+Sh "4" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 6 "N-000014"
+Po 1000 -1500
+$EndPAD
+$PAD
+Sh "5" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 0 -1500
+$EndPAD
+$PAD
+Sh "6" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 4 "N-000011"
+Po -1000 -1500
+$EndPAD
+$SHAPE3D
+Na "dil/dil_6.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE DIP-6__300_ELL
+$MODULE molex-microusb
+Po 22600 13200 2700 15 4D4455B2 4F6E280A ~~
+Li molex-microusb
+Sc 4F6E280A
+AR /4D41AD80
+Op 0 0 0
+T0 -906 -3256 276 276 2700 39 N V 21 N"J1"
+T1 -2366 -2083 315 315 2700 79 N V 21 N"USB"
+DS -587 2807 -587 2949 50 21
+DS -587 -610 -587 -748 50 21
+DS -850 -602 -850 2815 50 21
+DS -587 -602 -587 2791 50 21
+$PAD
+Sh "" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1046 1390
+$EndPAD
+$PAD
+Sh "3" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 12 "N-000024"
+Po 1046 1134
+$EndPAD
+$PAD
+Sh "" R 827 473 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 903 164
+$EndPAD
+$PAD
+Sh "1" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po 1045 622
+$EndPAD
+$PAD
+Sh "" R 827 472 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 903 2102
+$EndPAD
+$PAD
+Sh "" R 748 933 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 2279
+$EndPAD
+$PAD
+Sh "" R 748 933 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 -13
+$EndPAD
+$PAD
+Sh "" R 748 463 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 802
+$EndPAD
+$PAD
+Sh "" R 748 463 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 1464
+$EndPAD
+$PAD
+Sh "2" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 13 "N-000025"
+Po 1046 878
+$EndPAD
+$PAD
+Sh "5" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 1046 1646
+$EndPAD
+$EndMODULE molex-microusb
+$MODULE pin_array_3x2
+Po 28400 18600 1800 15 42931587 4F6E280C ~~
+Li pin_array_3x2
+Cd Double rangee de contacts 2 x 4 pins
+Kw CONN
+Sc 4F6E280C
+AR /4DCFAE62
+Op 0 0 0
+T0 0 -1500 400 400 1800 80 N V 21 N"P3"
+T1 0 1500 400 400 1800 80 N I 21 N"ISP"
+DS 1500 1000 -1500 1000 80 21
+DS -1500 -1000 1500 -1000 80 21
+DS 1500 -1000 1500 1000 80 21
+DS -1500 1000 -1500 -1000 80 21
+$PAD
+Sh "1" R 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 16 "N-000028"
+Po -1000 500
+$EndPAD
+$PAD
+Sh "2" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 28 "VCC"
+Po -1000 -500
+$EndPAD
+$PAD
+Sh "3" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 22 "N-000034"
+Po 0 500
+$EndPAD
+$PAD
+Sh "4" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 21 "N-000033"
+Po 0 -500
+$EndPAD
+$PAD
+Sh "5" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 20 "N-000032"
+Po 1000 500
+$EndPAD
+$PAD
+Sh "6" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 3 "GND"
+Po 1000 -500
+$EndPAD
+$SHAPE3D
+Na "pin_array/pins_array_3x2.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE pin_array_3x2
+$MODULE SM1206
+Po 34200 17600 0 15 42806E24 4F6E280D ~~
+Li SM1206
+Sc 4F6E280D
+AR /4F6E1810
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"R7"
+T1 0 0 300 300 0 50 N I 21 N"39"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 1 "/hot1"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 26 "N-000038"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 34200 18800 0 15 42806E24 4F6E280F ~~
+Li SM1206
+Sc 4F6E280F
+AR /4F6E10E2
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"R6"
+T1 0 0 300 300 0 50 N I 21 N"330"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 1 "/hot1"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 4 "N-000011"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 35010 20530 900 15 42806E24 4F6E2811 ~~
+Li SM1206
+Sc 4F6E2811
+AR /4F6E0F44
+Op 0 0 0
+At SMD
+T0 0 0 300 300 900 50 N V 21 N"R5"
+T1 0 0 300 300 900 50 N I 21 N"220"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 5 "N-000013"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 17 "N-000029"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 22400 26200 0 15 42806E24 4F6E2813 ~~
+Li SM1206
+Sc 4F6E2813
+AR /4D4449CE
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"R4"
+T1 0 0 300 300 0 50 N I 21 N"10k"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 20 "N-000032"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 22400 17000 900 15 42806E24 4F6E2815 ~~
+Li SM1206
+Sc 4F6E2815
+AR /4D41ADA8
+Op 0 0 0
+At SMD
+T0 0 0 300 300 900 50 N V 21 N"R3"
+T1 0 0 300 300 900 50 N I 21 N"22"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 15 "N-000027"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 13 "N-000025"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 21200 17000 900 15 42806E24 4F6E2817 ~~
+Li SM1206
+Sc 4F6E2817
+AR /4D41ADA3
+Op 0 0 0
+At SMD
+T0 0 0 300 300 900 50 N V 21 N"R2"
+T1 0 0 300 300 900 50 N I 21 N"22"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 14 "N-000026"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 12 "N-000024"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 36600 17600 0 15 42806E24 4F6E2819 ~~
+Li SM1206
+Sc 4F6E2819
+AR /4F6E181E
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"C7"
+T1 0 0 300 300 0 50 N I 21 N"10n"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 26 "N-000038"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 2 "/hot2"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 40200 24800 1800 15 42806E24 4F6E281B ~~
+Li SM1206
+Sc 4F6E281B
+AR /4F6E14CE
+Op 0 0 0
+At SMD
+T0 0 0 300 300 1800 50 N V 21 N"C6"
+T1 0 0 300 300 1800 50 N I 21 N"100n"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 40200 26400 1800 15 42806E24 4F6E281D ~~
+Li SM1206
+Sc 4F6E281D
+AR /4D41AE84
+Op 0 0 0
+At SMD
+T0 0 0 300 300 1800 50 N V 21 N"C5"
+T1 0 0 300 300 1800 50 N I 21 N"18p"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 27 "N-000039"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 36800 26400 0 15 42806E24 4F6E281F ~~
+Li SM1206
+Sc 4F6E281F
+AR /4D41AE7F
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"C4"
+T1 0 0 300 300 0 50 N I 21 N"18p"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 10 "N-000022"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206POL
+Po 36800 24800 1800 15 42806E4C 4F6E2820 ~~
+Li SM1206POL
+Sc 4F6E2820
+AR /4D41ADFF
+Op 0 0 0
+At SMD
+T0 0 0 300 300 1800 50 N V 21 N"C3"
+T1 0 0 300 300 1800 50 N I 21 N"10u"
+DS -1000 -450 -1100 -450 50 21
+DS -1100 -450 -1100 450 50 21
+DS -1100 450 -1000 450 50 21
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms_pol.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206POL
+$MODULE SO8E
+Po 31400 27000 2700 15 42806F54 4F6E2821 ~~
+Li SO8E
+Cd module CMS SOJ 8 pins etroit
+Kw CMS SOJ
+Sc 4F6E2821
+AR /4F6E139C
+Op 0 0 0
+At SMD
+T0 0 -350 450 450 2700 60 N V 21 N"U2"
+T1 0 400 350 350 2700 60 N V 21 N"LM75"
+DS -1050 700 -1050 750 50 21
+DS -1050 750 1050 750 50 21
+DS 1050 -750 -1050 -750 50 21
+DS -1050 -750 -1050 700 50 21
+DS -1050 -200 -850 -200 50 21
+DS -850 -200 -850 200 50 21
+DS -850 200 -1050 200 50 21
+DS 1050 -750 1050 750 50 21
+$PAD
+Sh "8" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po -750 -1050
+$EndPAD
+$PAD
+Sh "1" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 7 "N-000018"
+Po -750 1050
+$EndPAD
+$PAD
+Sh "7" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po -250 -1050
+$EndPAD
+$PAD
+Sh "6" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 250 -1050
+$EndPAD
+$PAD
+Sh "5" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po 750 -1050
+$EndPAD
+$PAD
+Sh "2" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 9 "N-000021"
+Po -250 1050
+$EndPAD
+$PAD
+Sh "3" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 250 1050
+$EndPAD
+$PAD
+Sh "4" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 750 1050
+$EndPAD
+$SHAPE3D
+Na "smd/cms_so8.wrl"
+Sc 0.500000 0.320000 0.500000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SO8E
+$MODULE TQFP32
+Po 24800 22200 900 15 43A670DA 4F6E2823 ~~
+Li TQFP32
+Sc 4F6E2823
+AR /4D41ACFD
+Op 0 0 0
+T0 0 -500 500 400 900 80 N V 21 N"U1"
+T1 0 750 500 400 900 80 N V 21 N"AT90USB162"
+DS 1980 1090 1530 1090 60 21
+DS 1980 -1090 1540 -1090 60 21
+DS 1980 1090 1980 -1090 60 21
+DS 1100 1560 1100 1990 60 21
+DS -1110 1570 -1110 1990 60 21
+DS -1120 1990 1100 2000 60 21
+DS -1100 -1980 1070 -1990 60 21
+DS -1530 -1290 -1530 1540 60 21
+DS 1080 -1980 1080 -1570 60 21
+DS -1280 -1530 1500 -1530 60 21
+DS 1520 1550 1520 -1490 60 21
+DS -1530 1550 1470 1550 60 21
+DS -1980 -1120 -1980 1100 60 21
+DS -1980 1100 -1530 1100 60 21
+DS -1526 -1300 -1296 -1530 60 21
+DS -1978 -1120 -1526 -1120 60 21
+DS -1100 -1530 -1100 -1982 60 21
+DC -1118 -1126 -958 -1026 60 21
+$PAD
+Sh "8" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1896 1093
+$EndPAD
+$PAD
+Sh "7" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 7 "N-000018"
+Po -1896 778
+$EndPAD
+$PAD
+Sh "6" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 9 "N-000021"
+Po -1896 463
+$EndPAD
+$PAD
+Sh "5" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1896 148
+$EndPAD
+$PAD
+Sh "4" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -1896 -167
+$EndPAD
+$PAD
+Sh "3" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po -1896 -482
+$EndPAD
+$PAD
+Sh "2" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 27 "N-000039"
+Po -1896 -797
+$EndPAD
+$PAD
+Sh "1" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 10 "N-000022"
+Po -1896 -1112
+$EndPAD
+$PAD
+Sh "24" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 20 "N-000032"
+Po 1870 -1110
+$EndPAD
+$PAD
+Sh "17" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 16 "N-000028"
+Po 1870 1100
+$EndPAD
+$PAD
+Sh "18" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 17 "N-000029"
+Po 1870 780
+$EndPAD
+$PAD
+Sh "19" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 460
+$EndPAD
+$PAD
+Sh "20" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 150
+$EndPAD
+$PAD
+Sh "21" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 -170
+$EndPAD
+$PAD
+Sh "22" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 -480
+$EndPAD
+$PAD
+Sh "23" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 -800
+$EndPAD
+$PAD
+Sh "32" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1112 -1900
+$EndPAD
+$PAD
+Sh "31" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -798 -1900
+$EndPAD
+$PAD
+Sh "30" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 15 "N-000027"
+Po -482 -1900
+$EndPAD
+$PAD
+Sh "29" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 14 "N-000026"
+Po -168 -1900
+$EndPAD
+$PAD
+Sh "28" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 148 -1900
+$EndPAD
+$PAD
+Sh "27" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 11 "N-000023"
+Po 462 -1900
+$EndPAD
+$PAD
+Sh "26" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 778 -1900
+$EndPAD
+$PAD
+Sh "25" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1092 -1900
+$EndPAD
+$PAD
+Sh "9" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 25 "N-000037"
+Po -1110 1880
+$EndPAD
+$PAD
+Sh "10" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 8 "N-000020"
+Po -800 1880
+$EndPAD
+$PAD
+Sh "11" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 24 "N-000036"
+Po -480 1880
+$EndPAD
+$PAD
+Sh "12" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 18 "N-000030"
+Po -170 1880
+$EndPAD
+$PAD
+Sh "13" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 23 "N-000035"
+Po 140 1880
+$EndPAD
+$PAD
+Sh "14" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 19 "N-000031"
+Po 460 1880
+$EndPAD
+$PAD
+Sh "15" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 22 "N-000034"
+Po 780 1880
+$EndPAD
+$PAD
+Sh "16" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 21 "N-000033"
+Po 1100 1880
+$EndPAD
+$SHAPE3D
+Na "smd/tqfp32.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE TQFP32
+$MODULE pin_array_4x2
+Po 31800 22400 2700 15 3FAB90E6 4F6E280B ~~
+Li pin_array_4x2
+Cd Double rangee de contacts 2 x 4 pins
+Kw CONN
+Sc 4F6E280B
+AR /4DCFB290
+Op 0 0 0
+T0 0 -1500 400 400 2700 80 N V 21 N"P2"
+T1 0 1500 400 400 2700 80 N I 21 N"EXPANSION"
+DS -2000 -1000 2000 -1000 120 21
+DS 2000 -1000 2000 1000 120 21
+DS 2000 1000 -2000 1000 120 21
+DS -2000 1000 -2000 -1000 120 21
+$PAD
+Sh "1" R 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 3 "GND"
+Po -1500 500
+$EndPAD
+$PAD
+Sh "2" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 19 "N-000031"
+Po -1500 -500
+$EndPAD
+$PAD
+Sh "3" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 23 "N-000035"
+Po -500 500
+$EndPAD
+$PAD
+Sh "4" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 18 "N-000030"
+Po -500 -500
+$EndPAD
+$PAD
+Sh "5" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 24 "N-000036"
+Po 500 500
+$EndPAD
+$PAD
+Sh "6" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 8 "N-000020"
+Po 500 -500
+$EndPAD
+$PAD
+Sh "7" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 25 "N-000037"
+Po 1500 500
+$EndPAD
+$PAD
+Sh "8" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 28 "VCC"
+Po 1500 -500
+$EndPAD
+$SHAPE3D
+Na "pin_array/pins_array_4x2.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE pin_array_4x2
+$MODULE SM1206
+Po 22400 27800 0 15 42806E24 4F6E2806 ~~
+Li SM1206
+Sc 4F6E2806
+AR /4D41AD3C
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"C1"
+T1 0 0 300 300 0 50 N I 21 N"1u"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 11 "N-000023"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE TO220-TRIAC
+Po 32800 15200 1800 15 4F6E38F2 4F6E2822 ~~
+Li TO220-TRIAC
+Cd Transistor TO 220
+Kw TR TO220 DEV
+Sc 4F6E2822
+AR /4F6E10B7
+Op 0 0 0
+T0 2750 0 400 400 2700 80 N V 21 N"U3"
+T1 4250 0 400 400 2700 80 N V 21 N"TRIAC"
+DS 0 -1000 2000 -1000 120 21
+DS 0 0 2000 0 120 21
+DS 0 1000 2000 1000 120 21
+DS 2000 2000 8000 2000 120 21
+DS 8000 2000 8000 -2000 120 21
+DS 8000 -2000 2000 -2000 120 21
+DS 2000 -2000 2000 2000 120 21
+DS 5000 1500 5000 -2000 120 21
+DS 5000 1500 5000 2000 120 21
+$PAD
+Sh "3" R 900 900 0 0 1800
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 6 "N-000014"
+Po 0 1000
+$EndPAD
+$PAD
+Sh "1" C 900 900 0 0 1800
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 2 "/hot2"
+Po 0 -1000
+$EndPAD
+$PAD
+Sh "2" C 900 900 0 0 1800
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 1 "/hot1"
+Po 0 0
+$EndPAD
+$PAD
+Sh "4" R 3500 3500 0 0 1800
+Dr 1200 0 0
+At STD N 00F0FFFF
+Ne 0 ""
+Po 6500 0
+$EndPAD
+$SHAPE3D
+Na "discret/to220_horiz.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE TO220-TRIAC
+$DRAWSEGMENT
+Po 0 19000 49000 19000 12500 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 42500 49000 19000 49000 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 42500 12500 42500 49000 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 19000 12500 42500 12500 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$TRACK
+Po 0 33550 17600 33550 18800 158 -1
+De 15 0 1 0 C00
+Po 0 32200 17600 33550 17600 158 -1
+De 15 0 1 0 400
+Po 0 31800 17200 32200 17600 158 -1
+De 15 0 1 0 0
+Po 0 31800 15800 31800 17200 158 -1
+De 15 0 1 0 0
+Po 0 32400 15200 31800 15800 158 -1
+De 15 0 1 0 0
+Po 0 32800 15200 32400 15200 158 -1
+De 15 0 1 0 800
+Po 0 39000 15200 40400 13800 800 -1
+De 15 0 1 0 400
+Po 0 32800 15200 39000 15200 800 -1
+De 15 0 1 0 800
+Po 0 38600 17600 40000 16200 158 -1
+De 15 0 2 0 0
+Po 0 37250 17600 38600 17600 158 -1
+De 15 0 2 0 800
+Po 0 40000 16200 40400 15800 158 -1
+De 15 0 2 0 400
+Po 0 32800 16200 40000 16200 800 -1
+De 15 0 2 0 800
+Po 0 40000 16200 40400 15800 800 -1
+De 15 0 2 0 400
+Po 0 22900 22052 21748 22052 157 -1
+De 15 0 3 0 800
+Po 0 19600 22100 20128 22100 157 -1
+De 15 0 3 0 0
+Po 3 19600 22100 19600 22100 700 -1
+De 15 1 3 0 0
+Po 0 21700 22100 19600 22100 157 -1
+De 0 0 3 0 0
+Po 3 21700 22100 21700 22100 700 -1
+De 15 1 3 0 0
+Po 0 21748 22052 21700 22100 157 -1
+De 15 0 3 0 0
+Po 0 20128 22100 20100 22100 157 -1
+De 15 0 3 0 0
+Po 0 20100 22100 20128 22100 157 -1
+De 15 0 3 0 0
+Po 0 30350 27750 30735 27750 158 -1
+De 15 0 3 0 800
+Po 0 32835 27250 32835 26750 158 -1
+De 15 0 3 0 0
+Po 0 32450 26750 32583 26750 158 -1
+De 15 0 3 0 800
+Po 0 32583 26750 32835 26750 158 -1
+De 15 0 3 0 0
+Po 0 32450 27250 32775 27250 158 -1
+De 15 0 3 0 800
+Po 0 32775 27250 32835 27250 158 -1
+De 15 0 3 0 0
+Po 0 32835 27250 32993 27408 158 -1
+De 15 0 3 0 0
+Po 0 36150 24800 35920 24800 158 -1
+De 15 0 3 0 800
+Po 0 35920 24800 35690 24800 158 -1
+De 15 0 3 0 0
+Po 0 38400 21950 38400 22560 158 -1
+De 15 0 3 0 800
+Po 0 36581 25461 35920 24800 158 -1
+De 15 0 3 0 0
+Po 0 38151 25461 36581 25461 158 -1
+De 15 0 3 0 0
+Po 0 39090 26400 38151 25461 158 -1
+De 15 0 3 0 0
+Po 0 32993 27986 32993 27408 158 -1
+De 15 0 3 0 0
+Po 0 32948 28031 32993 27986 158 -1
+De 15 0 3 0 0
+Po 0 31016 28031 32948 28031 158 -1
+De 15 0 3 0 0
+Po 0 30735 27750 31016 28031 158 -1
+De 15 0 3 0 0
+Po 0 32545 26250 32771 26250 158 -1
+De 15 0 3 0 0
+Po 0 39543 26400 39090 26400 158 -1
+De 15 0 3 0 0
+Po 0 39543 26400 39550 26400 158 -1
+De 15 0 3 0 400
+Po 0 39550 26400 40010 26400 158 -1
+De 15 0 3 0 800
+Po 0 33082 27408 32993 27408 158 -1
+De 15 0 3 0 0
+Po 0 35690 24800 33082 27408 158 -1
+De 15 0 3 0 0
+Po 0 38400 22560 38400 23571 158 -1
+De 15 0 3 0 0
+Po 0 39090 24261 38400 23571 158 -1
+De 15 0 3 0 0
+Po 0 39090 24800 39090 24261 158 -1
+De 15 0 3 0 0
+Po 0 35450 23571 38400 23571 158 -1
+De 15 0 3 0 0
+Po 0 32771 26250 35450 23571 158 -1
+De 15 0 3 0 0
+Po 0 39550 24800 39090 24800 158 -1
+De 15 0 3 0 800
+Po 0 32771 26562 32771 26250 158 -1
+De 15 0 3 0 0
+Po 0 32583 26750 32771 26562 158 -1
+De 15 0 3 0 0
+Po 0 39134 29341 39074 29281 158 -1
+De 15 0 3 0 0
+Po 0 41466 29341 39134 29341 158 -1
+De 15 0 3 0 0
+Po 0 41511 29296 41466 29341 158 -1
+De 15 0 3 0 0
+Po 0 41511 26084 41511 29296 158 -1
+De 15 0 3 0 0
+Po 0 41266 25839 41511 26084 158 -1
+De 15 0 3 0 0
+Po 0 40111 25839 41266 25839 158 -1
+De 15 0 3 0 0
+Po 0 40010 25940 40111 25839 158 -1
+De 15 0 3 0 0
+Po 0 40010 26400 40010 25940 158 -1
+De 15 0 3 0 0
+Po 0 25051 29341 23510 27800 158 -1
+De 15 0 3 0 0
+Po 0 39014 29341 25051 29341 158 -1
+De 15 0 3 0 0
+Po 0 39074 29281 39014 29341 158 -1
+De 15 0 3 0 0
+Po 0 39074 27564 37910 26400 158 -1
+De 15 0 3 0 0
+Po 0 39074 29281 39074 27564 158 -1
+De 15 0 3 0 0
+Po 0 23050 27800 23510 27800 158 -1
+De 15 0 3 0 800
+Po 0 37450 26400 37910 26400 158 -1
+De 15 0 3 0 800
+Po 0 24318 24599 24318 24096 158 -1
+De 15 0 3 0 400
+Po 0 27469 27750 24318 24599 158 -1
+De 15 0 3 0 0
+Po 0 30350 27750 27469 27750 158 -1
+De 15 0 3 0 800
+Po 0 24318 24096 24318 22052 158 -1
+De 15 0 3 0 800
+Po 0 27400 19641 27400 19100 158 -1
+De 15 0 3 0 400
+Po 0 24989 22052 27400 19641 158 -1
+De 15 0 3 0 0
+Po 0 24318 22052 24989 22052 158 -1
+De 15 0 3 0 0
+Po 0 32450 26250 32485 26250 158 -1
+De 15 0 3 0 800
+Po 0 32485 26250 32545 26250 158 -1
+De 15 0 3 0 0
+Po 0 28879 19658 28879 18917 158 -1
+De 15 0 3 0 0
+Po 0 30121 20900 28879 19658 158 -1
+De 15 0 3 0 0
+Po 0 31300 20900 30121 20900 158 -1
+De 15 0 3 0 800
+Po 0 27640 19100 27400 19100 158 -1
+De 15 0 3 0 400
+Po 0 28179 18561 27640 19100 158 -1
+De 15 0 3 0 0
+Po 0 28523 18561 28179 18561 158 -1
+De 15 0 3 0 0
+Po 0 28879 18917 28523 18561 158 -1
+De 15 0 3 0 0
+Po 0 20954 15224 20954 14246 158 -1
+De 15 0 3 0 400
+Po 0 20128 16050 20954 15224 158 -1
+De 15 0 3 0 0
+Po 0 20128 27886 20128 22100 158 -1
+De 15 0 3 0 0
+Po 0 20128 22100 20128 16050 158 -1
+De 15 0 3 0 0
+Po 0 22787 30545 20128 27886 158 -1
+De 15 0 3 0 0
+Po 0 41081 30545 22787 30545 158 -1
+De 15 0 3 0 0
+Po 0 42200 29426 41081 30545 158 -1
+De 15 0 3 0 0
+Po 0 42200 23586 42200 29426 158 -1
+De 15 0 3 0 0
+Po 0 38970 20356 42200 23586 158 -1
+De 15 0 3 0 0
+Po 0 33136 20356 38970 20356 158 -1
+De 15 0 3 0 0
+Po 0 31341 18561 33136 20356 158 -1
+De 15 0 3 0 0
+Po 0 29235 18561 31341 18561 158 -1
+De 15 0 3 0 0
+Po 0 28879 18917 29235 18561 158 -1
+De 15 0 3 0 0
+Po 0 37250 18800 37400 18950 158 -1
+De 15 0 4 0 400
+Po 0 34850 18800 37250 18800 158 -1
+De 15 0 4 0 800
+Po 0 37400 21950 35780 21950 157 -1
+De 15 0 5 0 800
+Po 0 35780 21950 35010 21180 157 -1
+De 15 0 5 0 400
+Po 0 40850 18950 39400 18950 158 -1
+De 15 0 6 0 400
+Po 0 41600 18200 40850 18950 158 -1
+De 15 0 6 0 0
+Po 0 41600 13600 41600 18200 158 -1
+De 15 0 6 0 0
+Po 0 40800 12800 41600 13600 158 -1
+De 15 0 6 0 0
+Po 0 34200 12800 40800 12800 158 -1
+De 15 0 6 0 0
+Po 0 32800 14200 34200 12800 158 -1
+De 15 0 6 0 800
+Po 0 27203 26250 30350 26250 158 -1
+De 15 0 7 0 400
+Po 0 25578 24625 27203 26250 158 -1
+De 15 0 7 0 0
+Po 0 25578 24096 25578 24625 158 -1
+De 15 0 7 0 800
+Po 0 28994 23000 26680 23000 158 -1
+De 15 0 8 0 400
+Po 0 29433 23439 28994 23000 158 -1
+De 15 0 8 0 0
+Po 0 31761 23439 29433 23439 158 -1
+De 15 0 8 0 0
+Po 0 32300 22900 31761 23439 158 -1
+De 15 0 8 0 800
+Po 0 27364 26750 30350 26750 158 -1
+De 15 0 9 0 400
+Po 0 25263 24649 27364 26750 158 -1
+De 15 0 9 0 0
+Po 0 25263 24096 25263 24649 158 -1
+De 15 0 9 0 800
+Po 0 36150 26400 35920 26400 158 -1
+De 15 0 10 0 800
+Po 0 35920 26400 35690 26400 158 -1
+De 15 0 10 0 0
+Po 0 35920 27680 36500 28260 158 -1
+De 15 0 10 0 0
+Po 0 35920 26400 35920 27680 158 -1
+De 15 0 10 0 0
+Po 0 36500 28800 36500 28260 158 -1
+De 15 0 10 0 800
+Po 0 23688 24666 23688 24096 158 -1
+De 15 0 10 0 400
+Po 0 27787 28765 23688 24666 158 -1
+De 15 0 10 0 0
+Po 0 33325 28765 27787 28765 158 -1
+De 15 0 10 0 0
+Po 0 35690 26400 33325 28765 158 -1
+De 15 0 10 0 0
+Po 0 20929 23155 20929 22071 158 -1
+De 15 0 11 0 0
+Po 0 21290 27800 20929 27439 158 -1
+De 15 0 11 0 0
+Po 0 20929 27439 20929 23155 158 -1
+De 15 0 11 0 0
+Po 0 21750 27800 21290 27800 158 -1
+De 15 0 11 0 800
+Po 0 22200 21500 22438 21738 157 -1
+De 15 0 11 0 0
+Po 0 21500 21500 22200 21500 157 -1
+De 15 0 11 0 0
+Po 0 20929 22071 21500 21500 157 -1
+De 15 0 11 0 0
+Po 0 22900 21738 22438 21738 158 -1
+De 15 0 11 0 800
+Po 0 21466 15624 21466 14246 158 -1
+De 15 0 12 0 400
+Po 0 21200 15890 21466 15624 158 -1
+De 15 0 12 0 0
+Po 0 21200 16350 21200 15890 158 -1
+De 15 0 12 0 800
+Po 0 21722 15212 21722 14246 158 -1
+De 15 0 13 0 400
+Po 0 22400 15890 21722 15212 158 -1
+De 15 0 13 0 0
+Po 0 22400 16350 22400 15890 158 -1
+De 15 0 13 0 800
+Po 0 22900 22368 22346 22368 158 -1
+De 15 0 14 0 800
+Po 0 21200 17650 21200 18110 158 -1
+De 15 0 14 0 800
+Po 0 20690 18620 21200 18110 158 -1
+De 15 0 14 0 0
+Po 0 20690 27719 20690 18620 158 -1
+De 15 0 14 0 0
+Po 0 21342 28371 20690 27719 158 -1
+De 15 0 14 0 0
+Po 0 22190 28371 21342 28371 158 -1
+De 15 0 14 0 0
+Po 0 22210 28351 22190 28371 158 -1
+De 15 0 14 0 0
+Po 0 22210 27270 22210 28351 158 -1
+De 15 0 14 0 0
+Po 0 21707 26767 22210 27270 158 -1
+De 15 0 14 0 0
+Po 0 21321 26767 21707 26767 158 -1
+De 15 0 14 0 0
+Po 0 21276 26722 21321 26767 158 -1
+De 15 0 14 0 0
+Po 0 21276 23438 21276 26722 158 -1
+De 15 0 14 0 0
+Po 0 22346 22368 21276 23438 158 -1
+De 15 0 14 0 0
+Po 0 22400 19800 22400 19900 157 -1
+De 15 0 15 0 0
+Po 0 22400 17650 22400 19800 157 -1
+De 15 0 15 0 800
+Po 0 23318 22682 22900 22682 157 -1
+De 15 0 15 0 400
+Po 0 23500 22500 23500 21000 157 -1
+De 15 0 15 0 0
+Po 0 23318 22682 23500 22500 157 -1
+De 15 0 15 0 0
+Po 0 23000 20500 23500 21000 157 -1
+De 15 0 15 0 0
+Po 0 22400 19900 23000 20500 157 -1
+De 15 0 15 0 0
+Po 0 25900 20330 25900 20300 157 -1
+De 15 0 16 0 800
+Po 0 30400 18100 29400 18100 157 -1
+De 15 0 16 0 400
+Po 0 30500 18000 30400 18100 157 -1
+De 15 0 16 0 0
+Po 3 30500 18000 30500 18000 700 -1
+De 15 1 16 0 0
+Po 0 30500 19800 30500 18000 157 -1
+De 0 0 16 0 0
+Po 0 26400 19800 30500 19800 157 -1
+De 0 0 16 0 0
+Po 3 26400 19800 26400 19800 700 -1
+De 15 1 16 0 0
+Po 0 25900 20300 26400 19800 157 -1
+De 15 0 16 0 0
+Po 0 35010 19880 33780 19880 157 -1
+De 15 0 17 0 800
+Po 0 25580 19020 25600 19000 157 -1
+De 15 0 17 0 0
+Po 3 25600 19000 25600 19000 700 -1
+De 15 1 17 0 0
+Po 0 25580 19020 25580 20330 157 -1
+De 15 0 17 0 400
+Po 0 25600 20200 25600 19000 157 -1
+De 0 0 17 0 0
+Po 0 26900 21500 25600 20200 157 -1
+De 0 0 17 0 0
+Po 0 29800 21500 26900 21500 157 -1
+De 0 0 17 0 0
+Po 0 31200 20100 29800 21500 157 -1
+De 0 0 17 0 0
+Po 0 33400 20100 31200 20100 157 -1
+De 0 0 17 0 0
+Po 0 33700 19800 33400 20100 157 -1
+De 0 0 17 0 0
+Po 3 33700 19800 33700 19800 700 -1
+De 15 1 17 0 0
+Po 0 33780 19880 33700 19800 157 -1
+De 15 0 17 0 0
+Po 0 31830 22370 26680 22370 158 -1
+De 15 0 18 0 400
+Po 0 32300 21900 31830 22370 158 -1
+De 15 0 18 0 800
+Po 0 31761 21439 32300 20900 158 -1
+De 15 0 19 0 400
+Po 0 29018 21439 31761 21439 158 -1
+De 15 0 19 0 0
+Po 0 28717 21740 29018 21439 158 -1
+De 15 0 19 0 0
+Po 0 26680 21740 28717 21740 158 -1
+De 15 0 19 0 800
+Po 0 23690 20330 23690 20790 157 -1
+De 15 0 20 0 800
+Po 0 23050 23950 23050 26200 157 -1
+De 15 0 20 0 400
+Po 0 23800 23200 23050 23950 157 -1
+De 15 0 20 0 0
+Po 0 23800 20900 23800 23200 157 -1
+De 15 0 20 0 0
+Po 0 23690 20790 23800 20900 157 -1
+De 15 0 20 0 0
+Po 0 23690 20330 23690 20053 158 -1
+De 15 0 20 0 800
+Po 0 27400 18100 23690 18100 158 -1
+De 15 0 20 0 800
+Po 0 23690 20053 23690 18100 158 -1
+De 15 0 20 0 0
+Po 0 27233 20267 28400 19100 158 -1
+De 15 0 21 0 400
+Po 0 27233 21100 27233 20267 158 -1
+De 15 0 21 0 0
+Po 0 26680 21100 27233 21100 158 -1
+De 15 0 21 0 800
+Po 0 28400 18100 28400 17900 157 -1
+De 15 0 22 0 800
+Po 0 27880 21420 26680 21420 157 -1
+De 15 0 22 0 400
+Po 0 28400 20900 27880 21420 157 -1
+De 15 0 22 0 0
+Po 3 28400 20900 28400 20900 700 -1
+De 15 1 22 0 0
+Po 0 29900 20900 28400 20900 157 -1
+De 0 0 22 0 0
+Po 0 30900 19900 29900 20900 157 -1
+De 0 0 22 0 0
+Po 0 30900 18600 30900 19900 157 -1
+De 0 0 22 0 0
+Po 0 31500 18000 30900 18600 157 -1
+De 0 0 22 0 0
+Po 3 31500 18000 31500 18000 700 -1
+De 15 1 22 0 0
+Po 0 30900 17400 31500 18000 157 -1
+De 15 0 22 0 0
+Po 0 28900 17400 30900 17400 157 -1
+De 15 0 22 0 0
+Po 0 28400 17900 28900 17400 157 -1
+De 15 0 22 0 0
+Po 0 31140 22060 26680 22060 158 -1
+De 15 0 23 0 400
+Po 0 31300 21900 31140 22060 158 -1
+De 15 0 23 0 800
+Po 0 31080 22680 26680 22680 158 -1
+De 15 0 24 0 400
+Po 0 31300 22900 31080 22680 158 -1
+De 15 0 24 0 800
+Po 0 26680 23310 27233 23310 158 -1
+De 15 0 25 0 800
+Po 0 27823 23900 27233 23310 158 -1
+De 15 0 25 0 0
+Po 0 31300 23900 27823 23900 158 -1
+De 15 0 25 0 800
+Po 0 35950 17600 34850 17600 158 -1
+De 15 0 26 0 C00
+Po 0 40300 28800 40300 28530 158 -1
+De 15 0 27 0 800
+Po 0 40850 26400 40390 26400 158 -1
+De 15 0 27 0 800
+Po 0 40300 28530 40300 27359 158 -1
+De 15 0 27 0 0
+Po 0 40300 26490 40390 26400 158 -1
+De 15 0 27 0 0
+Po 0 40300 27359 40300 26490 158 -1
+De 15 0 27 0 0
+Po 0 24003 24623 24003 24096 158 -1
+De 15 0 27 0 400
+Po 0 27901 28521 24003 24623 158 -1
+De 15 0 27 0 0
+Po 0 33030 28521 27901 28521 158 -1
+De 15 0 27 0 0
+Po 0 35712 25839 33030 28521 158 -1
+De 15 0 27 0 0
+Po 0 37879 25839 35712 25839 158 -1
+De 15 0 27 0 0
+Po 0 39399 27359 37879 25839 158 -1
+De 15 0 27 0 0
+Po 0 40300 27359 39399 27359 158 -1
+De 15 0 27 0 0
+Po 0 37450 24800 37910 24800 158 -1
+De 15 0 28 0 800
+Po 0 40623 24800 40390 24800 158 -1
+De 15 0 28 0 0
+Po 0 32450 27750 32065 27750 158 -1
+De 15 0 28 0 800
+Po 0 22900 22998 22346 22998 158 -1
+De 15 0 28 0 800
+Po 0 21750 26200 22210 26200 158 -1
+De 15 0 28 0 800
+Po 0 24633 24096 24633 23542 158 -1
+De 15 0 28 0 800
+Po 0 27645 25062 32065 25062 158 -1
+De 15 0 28 0 0
+Po 0 26125 23542 27645 25062 158 -1
+De 15 0 28 0 0
+Po 0 24633 23542 26125 23542 158 -1
+De 15 0 28 0 0
+Po 0 32065 25062 32065 27750 158 -1
+De 15 0 28 0 0
+Po 0 32065 24135 32300 23900 158 -1
+De 15 0 28 0 400
+Po 0 32065 25062 32065 24135 158 -1
+De 15 0 28 0 0
+Po 0 22346 26064 22210 26200 158 -1
+De 15 0 28 0 0
+Po 0 22346 22998 22346 26064 158 -1
+De 15 0 28 0 0
+Po 0 40390 24937 40390 24800 158 -1
+De 15 0 28 0 0
+Po 0 39966 25361 40390 24937 158 -1
+De 15 0 28 0 0
+Po 0 38471 25361 39966 25361 158 -1
+De 15 0 28 0 0
+Po 0 37910 24800 38471 25361 158 -1
+De 15 0 28 0 0
+Po 0 40623 24800 40850 24800 158 -1
+De 15 0 28 0 400
+Po 0 40850 24800 41310 24800 158 -1
+De 15 0 28 0 800
+Po 0 22590 26580 22590 28350 158 -1
+De 15 0 28 0 0
+Po 0 22210 26200 22590 26580 158 -1
+De 15 0 28 0 0
+Po 0 24497 30257 22590 28350 158 -1
+De 15 0 28 0 0
+Po 0 41030 30257 24497 30257 158 -1
+De 15 0 28 0 0
+Po 0 41751 29536 41030 30257 158 -1
+De 15 0 28 0 0
+Po 0 41751 25241 41751 29536 158 -1
+De 15 0 28 0 0
+Po 0 41310 24800 41751 25241 158 -1
+De 15 0 28 0 0
+Po 0 21978 14958 21978 14245 158 -1
+De 15 0 28 0 400
+Po 0 22961 15941 21978 14958 158 -1
+De 15 0 28 0 0
+Po 0 22961 16769 22961 15941 158 -1
+De 15 0 28 0 0
+Po 0 22556 17174 22961 16769 158 -1
+De 15 0 28 0 0
+Po 0 20568 17174 22556 17174 158 -1
+De 15 0 28 0 0
+Po 0 20382 17360 20568 17174 158 -1
+De 15 0 28 0 0
+Po 0 20382 27801 20382 17360 158 -1
+De 15 0 28 0 0
+Po 0 21400 28819 20382 27801 158 -1
+De 15 0 28 0 0
+Po 0 22121 28819 21400 28819 158 -1
+De 15 0 28 0 0
+Po 0 22590 28350 22121 28819 158 -1
+De 15 0 28 0 0
+Po 0 40390 23780 40390 24800 158 -1
+De 15 0 28 0 0
+Po 0 38900 22290 40390 23780 158 -1
+De 15 0 28 0 0
+Po 0 38900 21384 38900 22290 158 -1
+De 15 0 28 0 0
+Po 0 38229 20713 38900 21384 158 -1
+De 15 0 28 0 0
+Po 0 32771 20713 38229 20713 158 -1
+De 15 0 28 0 0
+Po 0 32771 23429 32771 20713 158 -1
+De 15 0 28 0 0
+Po 0 32300 23900 32771 23429 158 -1
+De 15 0 28 0 800
+Po 0 31158 19100 29400 19100 158 -1
+De 15 0 28 0 400
+Po 0 32771 20713 31158 19100 158 -1
+De 15 0 28 0 0
+$EndTRACK
+$ZONE
+$EndZONE
+$EndBOARD
diff --git a/circuit/LM75.lib b/circuit/LM75.lib
new file mode 100644
index 0000000..0502029
--- /dev/null
+++ b/circuit/LM75.lib
@@ -0,0 +1,23 @@
+EESchema-LIBRARY Version 2.2 Date: 24/03/2012-19:33:04
+#
+# LM75
+#
+DEF LM75 U 0 40 Y Y 1 0 N
+F0 "U" 0 -100 50 H V C C
+F1 "LM75" 0 100 50 H V C C
+F2 "MODULE" 0 0 50 H I C C
+F3 "DOCUMENTATION" 0 0 50 H I C C
+DRAW
+S -450 -350 450 350 1 0 0 N
+X SDA 1 -750 150 300 R 50 50 1 1 B
+X SCL 2 -750 50 300 R 50 50 1 1 B
+X OS 3 -750 -50 300 R 50 50 1 1 O
+X GND 4 -750 -150 300 R 50 50 1 1 W
+X VSS 5 750 -150 300 L 50 50 1 1 W
+X A0 6 750 -50 300 L 50 50 1 1 I
+X A1 7 750 50 300 L 50 50 1 1 I
+X A2 8 750 150 300 L 50 50 1 1 I
+ENDDRAW
+ENDDEF
+#
+#End Library
diff --git a/circuit/TO220-TRIAC.emp b/circuit/TO220-TRIAC.emp
new file mode 100644
index 0000000..de4a124
--- /dev/null
+++ b/circuit/TO220-TRIAC.emp
@@ -0,0 +1,59 @@
+PCBNEW-LibModule-V1 Sat 24 Mar 2012 09:31:11 PM CET
+$INDEX
+TO220
+$EndINDEX
+$MODULE TO220
+Po 0 0 0 15 4F6E2EFD 4F6E2ED8 ~~
+Li TO220
+Cd Transistor TO 220
+Kw TR TO220 DEV
+Sc 4F6E2ED8
+AR
+Op 0 0 0
+T0 2750 0 400 400 900 80 N V 21 N"TO220"
+T1 4250 0 400 400 900 80 N V 21 N"VAL*"
+DS 0 -1000 2000 -1000 120 21
+DS 0 0 2000 0 120 21
+DS 0 1000 2000 1000 120 21
+DS 2000 2000 8000 2000 120 21
+DS 8000 2000 8000 -2000 120 21
+DS 8000 -2000 2000 -2000 120 21
+DS 2000 -2000 2000 2000 120 21
+DS 5000 1500 5000 -2000 120 21
+DS 5000 1500 5000 2000 120 21
+$PAD
+Sh "3" R 700 700 0 0 0
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 0 1000
+$EndPAD
+$PAD
+Sh "1" C 700 700 0 0 0
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 0 -1000
+$EndPAD
+$PAD
+Sh "2" C 700 700 0 0 0
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 0 0
+$EndPAD
+$PAD
+Sh "4" R 3500 3500 0 0 0
+Dr 1200 0 0
+At STD N 00F0FFFF
+Ne 0 ""
+Po 6500 0
+$EndPAD
+$SHAPE3D
+Na "discret/to220_horiz.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE TO220
+$EndLIBRARY
diff --git a/circuit/TO220-TRIAC.mod b/circuit/TO220-TRIAC.mod
new file mode 100644
index 0000000..d841a3b
--- /dev/null
+++ b/circuit/TO220-TRIAC.mod
@@ -0,0 +1,59 @@
+PCBNEW-LibModule-V1 Sat 24 Mar 2012 09:36:55 PM CET
+$INDEX
+TO220-TRIAC
+$EndINDEX
+$MODULE TO220-TRIAC
+Po 0 0 0 15 4F6E2EFD 4F6E2ED8 ~~
+Li TO220-TRIAC
+Cd Transistor TO 220
+Kw TR TO220 DEV
+Sc 4F6E2ED8
+AR
+Op 0 0 0
+T0 2750 0 400 400 900 80 N V 21 N"TO220-TRIAC"
+T1 4250 0 400 400 900 80 N V 21 N"VAL*"
+DS 0 -1000 2000 -1000 120 21
+DS 0 0 2000 0 120 21
+DS 0 1000 2000 1000 120 21
+DS 2000 2000 8000 2000 120 21
+DS 8000 2000 8000 -2000 120 21
+DS 8000 -2000 2000 -2000 120 21
+DS 2000 -2000 2000 2000 120 21
+DS 5000 1500 5000 -2000 120 21
+DS 5000 1500 5000 2000 120 21
+$PAD
+Sh "3" R 700 700 0 0 0
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 0 1000
+$EndPAD
+$PAD
+Sh "1" C 700 700 0 0 0
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 0 -1000
+$EndPAD
+$PAD
+Sh "2" C 700 700 0 0 0
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 0 0
+$EndPAD
+$PAD
+Sh "4" R 3500 3500 0 0 0
+Dr 1200 0 0
+At STD N 00F0FFFF
+Ne 0 ""
+Po 6500 0
+$EndPAD
+$SHAPE3D
+Na "discret/to220_horiz.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE TO220-TRIAC
+$EndLIBRARY
diff --git a/circuit/fridge-lock-Back.pdf b/circuit/fridge-lock-Back.pdf
new file mode 100644
index 0000000..42294f4
--- /dev/null
+++ b/circuit/fridge-lock-Back.pdf
Binary files differ
diff --git a/circuit/fridge-lock-Back.ps b/circuit/fridge-lock-Back.ps
new file mode 100644
index 0000000..a280b71
--- /dev/null
+++ b/circuit/fridge-lock-Back.ps
@@ -0,0 +1,44223 @@
+%!PS-Adobe-3.0
+%%Creator: PCBNEW-PS
+%%CreationDate: Sun May 15 14:59:26 2011
+%%Title: /ping/knuth/home0/lab/projects/fridge-lock/circuit/fridge-lock-Back.ps
+%%Pages: 1
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 596 843
+%%DocumentMedia: A4 595 842 0 () ()
+%%Orientation: Landscape
+%%EndComments
+%%Page: 1 1
+/line {
+ newpath
+ moveto
+ lineto
+ stroke
+} bind def
+/cir0 { newpath 0 360 arc stroke } bind def
+/cir1 { newpath 0 360 arc gsave fill grestore stroke } bind def
+/cir2 { newpath 0 360 arc gsave fill grestore stroke } bind def
+/arc0 { newpath arc stroke } bind def
+/arc1 { newpath 4 index 4 index moveto arc closepath gsave fill grestore stroke } bind def
+/arc2 { newpath 4 index 4 index moveto arc closepath gsave fill grestore stroke } bind def
+/poly0 { stroke } bind def
+/poly1 { closepath gsave fill grestore stroke } bind def
+/poly2 { closepath gsave fill grestore stroke } bind def
+/rect0 { rectstroke } bind def
+/rect1 { rectfill } bind def
+/rect2 { rectfill } bind def
+/linemode0 { 0 setlinecap 0 setlinejoin 0 setlinewidth } bind def
+/linemode1 { 1 setlinecap 1 setlinejoin } bind def
+/dashedline { [50 50] 0 setdash } bind def
+/solidline { [] 0 setdash } bind def
+gsave
+0.0072 0.0072 scale
+linemode1
+82670 0 translate 90 rotate
+50 setlinewidth
+150 setlinewidth
+newpath
+26772 39363 moveto
+46457 39363 lineto
+stroke
+newpath
+26772 59048 moveto
+46457 59048 lineto
+stroke
+newpath
+46457 59048 moveto
+46457 39363 lineto
+stroke
+newpath
+26772 59048 moveto
+26772 39363 lineto
+stroke
+0 setlinewidth
+50 setlinewidth
+39280 55741 354.5 cir1
+0 setlinewidth
+50 setlinewidth
+38280 55741 354.5 cir1
+newpath
+39443 44416 moveto
+39443 43758 lineto
+38785 43758 lineto
+38785 44416 lineto
+39443 44416 lineto
+poly1
+0 setlinewidth
+50 setlinewidth
+38114 44087 359 cir1
+0 setlinewidth
+50 setlinewidth
+37114 44087 359 cir1
+0 setlinewidth
+50 setlinewidth
+36114 44087 359 cir1
+0 setlinewidth
+50 setlinewidth
+35114 44087 359 cir1
+0 setlinewidth
+50 setlinewidth
+34114 44087 359 cir1
+newpath
+29463 55463 moveto
+28805 55463 lineto
+28805 56121 lineto
+29463 56121 lineto
+29463 55463 lineto
+poly1
+0 setlinewidth
+50 setlinewidth
+29134 56792 354.5 cir1
+newpath
+31431 55463 moveto
+30773 55463 lineto
+30773 56121 lineto
+31431 56121 lineto
+31431 55463 lineto
+poly1
+0 setlinewidth
+50 setlinewidth
+31102 56792 354.5 cir1
+newpath
+42191 44916 moveto
+42849 44916 lineto
+42849 44258 lineto
+42191 44258 lineto
+42191 44916 lineto
+poly1
+0 setlinewidth
+50 setlinewidth
+42520 43587 354.5 cir1
+newpath
+34294 50632 moveto
+33636 50632 lineto
+33636 51290 lineto
+34294 51290 lineto
+34294 50632 lineto
+poly1
+0 setlinewidth
+50 setlinewidth
+32965 50961 354.5 cir1
+0 setlinewidth
+50 setlinewidth
+33965 51961 354.5 cir1
+0 setlinewidth
+50 setlinewidth
+32965 51961 354.5 cir1
+0 setlinewidth
+50 setlinewidth
+33965 52961 354.5 cir1
+0 setlinewidth
+50 setlinewidth
+32965 52961 354.5 cir1
+newpath
+35210 55334 moveto
+35868 55334 lineto
+35868 54676 lineto
+35210 54676 lineto
+35210 55334 lineto
+poly1
+0 setlinewidth
+50 setlinewidth
+35539 56005 354.5 cir1
+0 setlinewidth
+50 setlinewidth
+34539 56005 354.5 cir1
+0 setlinewidth
+50 setlinewidth
+27559 40544 236 cir1
+0 setlinewidth
+50 setlinewidth
+45472 57866 236 cir1
+0 setlinewidth
+50 setlinewidth
+45472 40544 236 cir1
+0 setlinewidth
+50 setlinewidth
+42278 47467 236 cir1
+0 setlinewidth
+50 setlinewidth
+36903 52078 236 cir1
+0 setlinewidth
+50 setlinewidth
+35212 49513 236 cir1
+0 setlinewidth
+50 setlinewidth
+37437 52705 236 cir1
+0 setlinewidth
+50 setlinewidth
+37218 55368 236 cir1
+0 setlinewidth
+50 setlinewidth
+38808 51731 236 cir1
+0 setlinewidth
+50 setlinewidth
+35807 49757 236 cir1
+0 setlinewidth
+50 setlinewidth
+39708 51658 236 cir1
+0 setlinewidth
+50 setlinewidth
+41801 47803 236 cir1
+0 setlinewidth
+50 setlinewidth
+39824 45031 236 cir1
+0 setlinewidth
+50 setlinewidth
+39672 45852 236 cir1
+0 setlinewidth
+50 setlinewidth
+33150 46472 236 cir1
+0 setlinewidth
+50 setlinewidth
+34401 43023 236 cir1
+0 setlinewidth
+50 setlinewidth
+42390 48365 236 cir1
+0 setlinewidth
+50 setlinewidth
+32965 50103 236 cir1
+157 setlinewidth
+newpath
+27559 40544 moveto
+27953 40544 lineto
+stroke
+newpath
+27166 40544 moveto
+27559 40544 lineto
+stroke
+newpath
+27559 40150 moveto
+27559 40938 lineto
+stroke
+newpath
+45472 57472 moveto
+45472 58260 lineto
+stroke
+newpath
+45079 57866 moveto
+45472 57866 lineto
+stroke
+newpath
+45472 57866 moveto
+45866 57866 lineto
+stroke
+newpath
+45472 40544 moveto
+45866 40544 lineto
+stroke
+newpath
+45079 40544 moveto
+45472 40544 lineto
+stroke
+newpath
+45472 40150 moveto
+45472 40938 lineto
+stroke
+316 setlinewidth
+newpath
+31102 55792 moveto
+29134 55792 lineto
+stroke
+newpath
+33752 56792 moveto
+31102 56792 lineto
+stroke
+newpath
+34539 56005 moveto
+33752 56792 lineto
+stroke
+315 setlinewidth
+newpath
+32965 52961 moveto
+30102 52961 lineto
+stroke
+newpath
+28059 56792 moveto
+29134 56792 lineto
+stroke
+newpath
+27953 56686 moveto
+28059 56792 lineto
+stroke
+newpath
+27953 54914 moveto
+27953 56686 lineto
+stroke
+newpath
+29134 53733 moveto
+27953 54914 lineto
+stroke
+newpath
+29330 53733 moveto
+29134 53733 lineto
+stroke
+newpath
+30102 52961 moveto
+29330 53733 lineto
+stroke
+newpath
+35009 55005 moveto
+32965 52961 lineto
+stroke
+newpath
+35539 55005 moveto
+35009 55005 lineto
+stroke
+newpath
+35539 55005 moveto
+36054 55005 lineto
+stroke
+newpath
+36054 55005 moveto
+36453 54606 lineto
+stroke
+newpath
+36453 54606 moveto
+37415 54606 lineto
+stroke
+newpath
+38280 55471 moveto
+38280 55741 lineto
+stroke
+newpath
+37415 54606 moveto
+38280 55471 lineto
+stroke
+158 setlinewidth
+newpath
+39256 52765 moveto
+37415 54606 lineto
+stroke
+newpath
+39256 50937 moveto
+39256 52765 lineto
+stroke
+newpath
+42225 47968 moveto
+39256 50937 lineto
+stroke
+newpath
+42225 47486 moveto
+42225 47968 lineto
+stroke
+newpath
+41559 46820 moveto
+42225 47486 lineto
+stroke
+newpath
+41559 44548 moveto
+41559 46820 lineto
+stroke
+newpath
+42520 43587 moveto
+41559 44548 lineto
+stroke
+newpath
+42259 47486 moveto
+42278 47467 lineto
+stroke
+newpath
+42225 47486 moveto
+42259 47486 lineto
+stroke
+newpath
+35212 50387 moveto
+35212 49513 lineto
+stroke
+newpath
+36903 52078 moveto
+35212 50387 lineto
+stroke
+newpath
+37181 52961 moveto
+37437 52705 lineto
+stroke
+newpath
+33965 52961 moveto
+37181 52961 lineto
+stroke
+newpath
+36581 56005 moveto
+37218 55368 lineto
+stroke
+newpath
+35539 56005 moveto
+36581 56005 lineto
+stroke
+newpath
+36834 49757 moveto
+35807 49757 lineto
+stroke
+newpath
+38808 51731 moveto
+36834 49757 lineto
+stroke
+newpath
+39707 51658 moveto
+39708 51658 lineto
+stroke
+newpath
+39707 55314 moveto
+39707 51658 lineto
+stroke
+newpath
+39280 55741 moveto
+39707 55314 lineto
+stroke
+newpath
+40124 46126 moveto
+41801 47803 lineto
+stroke
+newpath
+40124 45659 moveto
+40124 46126 lineto
+stroke
+newpath
+39893 45428 moveto
+40124 45659 lineto
+stroke
+newpath
+38161 45428 moveto
+39893 45428 lineto
+stroke
+newpath
+33965 49624 moveto
+38161 45428 lineto
+stroke
+newpath
+33965 50961 moveto
+33965 49624 lineto
+stroke
+newpath
+37229 45031 moveto
+39824 45031 lineto
+stroke
+newpath
+32418 49842 moveto
+37229 45031 lineto
+stroke
+newpath
+32418 51414 moveto
+32418 49842 lineto
+stroke
+newpath
+32965 51961 moveto
+32418 51414 lineto
+stroke
+newpath
+38076 45852 moveto
+39672 45852 lineto
+stroke
+newpath
+34480 49448 moveto
+38076 45852 lineto
+stroke
+newpath
+34480 51446 moveto
+34480 49448 lineto
+stroke
+newpath
+33965 51961 moveto
+34480 51446 lineto
+stroke
+newpath
+33150 44274 moveto
+33150 46472 lineto
+stroke
+newpath
+34401 43023 moveto
+33150 44274 lineto
+stroke
+newpath
+42520 44587 moveto
+42520 45101 lineto
+stroke
+newpath
+43290 47465 moveto
+42390 48365 lineto
+stroke
+newpath
+43290 45871 moveto
+43290 47465 lineto
+stroke
+newpath
+42520 45101 moveto
+43290 45871 lineto
+stroke
+newpath
+32965 50961 moveto
+32965 50103 lineto
+stroke
+100 setlinewidth
+newpath
+27047 58773 moveto
+46182 58773 lineto
+stroke
+newpath
+27047 58693 moveto
+46182 58693 lineto
+stroke
+newpath
+27047 58613 moveto
+46182 58613 lineto
+stroke
+newpath
+27047 58533 moveto
+45302 58533 lineto
+stroke
+newpath
+45643 58533 moveto
+46182 58533 lineto
+stroke
+newpath
+27047 58453 moveto
+45214 58453 lineto
+stroke
+newpath
+45731 58453 moveto
+46182 58453 lineto
+stroke
+newpath
+27047 58373 moveto
+45167 58373 lineto
+stroke
+newpath
+45778 58373 moveto
+46182 58373 lineto
+stroke
+newpath
+27047 58293 moveto
+45151 58293 lineto
+stroke
+newpath
+45794 58293 moveto
+46182 58293 lineto
+stroke
+newpath
+27047 58213 moveto
+45131 58213 lineto
+stroke
+newpath
+45813 58213 moveto
+46182 58213 lineto
+stroke
+newpath
+27047 58133 moveto
+44900 58133 lineto
+stroke
+newpath
+46046 58133 moveto
+46182 58133 lineto
+stroke
+newpath
+27047 58053 moveto
+44817 58053 lineto
+stroke
+newpath
+46129 58053 moveto
+46182 58053 lineto
+stroke
+newpath
+27047 57973 moveto
+44773 57973 lineto
+stroke
+newpath
+46173 57973 moveto
+46182 57973 lineto
+stroke
+newpath
+27047 57893 moveto
+44757 57893 lineto
+stroke
+newpath
+27047 57813 moveto
+44761 57813 lineto
+stroke
+newpath
+27047 57733 moveto
+44780 57733 lineto
+stroke
+newpath
+46164 57733 moveto
+46182 57733 lineto
+stroke
+newpath
+27047 57653 moveto
+44834 57653 lineto
+stroke
+newpath
+46110 57653 moveto
+46182 57653 lineto
+stroke
+newpath
+27047 57573 moveto
+44938 57573 lineto
+stroke
+newpath
+46006 57573 moveto
+46182 57573 lineto
+stroke
+newpath
+27047 57493 moveto
+45144 57493 lineto
+stroke
+newpath
+45800 57493 moveto
+46182 57493 lineto
+stroke
+newpath
+27047 57413 moveto
+45155 57413 lineto
+stroke
+newpath
+45788 57413 moveto
+46182 57413 lineto
+stroke
+newpath
+27047 57333 moveto
+28864 57333 lineto
+stroke
+newpath
+29404 57333 moveto
+30832 57333 lineto
+stroke
+newpath
+31372 57333 moveto
+45177 57333 lineto
+stroke
+newpath
+45766 57333 moveto
+46182 57333 lineto
+stroke
+newpath
+27047 57253 moveto
+28742 57253 lineto
+stroke
+newpath
+29526 57253 moveto
+30710 57253 lineto
+stroke
+newpath
+31494 57253 moveto
+45231 57253 lineto
+stroke
+newpath
+45712 57253 moveto
+46182 57253 lineto
+stroke
+newpath
+27047 57173 moveto
+27928 57173 lineto
+stroke
+newpath
+29606 57173 moveto
+30630 57173 lineto
+stroke
+newpath
+33888 57173 moveto
+45340 57173 lineto
+stroke
+newpath
+45603 57173 moveto
+46182 57173 lineto
+stroke
+newpath
+27047 57093 moveto
+27791 57093 lineto
+stroke
+newpath
+29663 57093 moveto
+30574 57093 lineto
+stroke
+newpath
+34021 57093 moveto
+46182 57093 lineto
+stroke
+newpath
+27047 57013 moveto
+27704 57013 lineto
+stroke
+newpath
+29696 57013 moveto
+30541 57013 lineto
+stroke
+newpath
+34107 57013 moveto
+46182 57013 lineto
+stroke
+newpath
+27047 56933 moveto
+27638 56933 lineto
+stroke
+newpath
+29728 56933 moveto
+30508 56933 lineto
+stroke
+newpath
+34187 56933 moveto
+46182 56933 lineto
+stroke
+newpath
+27047 56853 moveto
+27585 56853 lineto
+stroke
+newpath
+29737 56853 moveto
+30499 56853 lineto
+stroke
+newpath
+34267 56853 moveto
+46182 56853 lineto
+stroke
+newpath
+27047 56773 moveto
+27564 56773 lineto
+stroke
+newpath
+29737 56773 moveto
+30499 56773 lineto
+stroke
+newpath
+34347 56773 moveto
+46182 56773 lineto
+stroke
+newpath
+27047 56693 moveto
+27548 56693 lineto
+stroke
+newpath
+29737 56693 moveto
+30499 56693 lineto
+stroke
+newpath
+34427 56693 moveto
+46182 56693 lineto
+stroke
+newpath
+27047 56613 moveto
+27546 56613 lineto
+stroke
+newpath
+29712 56613 moveto
+30523 56613 lineto
+stroke
+newpath
+34507 56613 moveto
+46182 56613 lineto
+stroke
+newpath
+27047 56533 moveto
+27546 56533 lineto
+stroke
+newpath
+29679 56533 moveto
+30556 56533 lineto
+stroke
+newpath
+34841 56533 moveto
+35238 56533 lineto
+stroke
+newpath
+35841 56533 moveto
+46182 56533 lineto
+stroke
+newpath
+27047 56453 moveto
+27546 56453 lineto
+stroke
+newpath
+29646 56453 moveto
+30589 56453 lineto
+stroke
+newpath
+34945 56453 moveto
+35134 56453 lineto
+stroke
+newpath
+35944 56453 moveto
+46182 56453 lineto
+stroke
+newpath
+27047 56373 moveto
+27546 56373 lineto
+stroke
+newpath
+29591 56373 moveto
+30645 56373 lineto
+stroke
+newpath
+35025 56373 moveto
+35054 56373 lineto
+stroke
+newpath
+36024 56373 moveto
+46182 56373 lineto
+stroke
+newpath
+27047 56293 moveto
+27546 56293 lineto
+stroke
+newpath
+29693 56293 moveto
+30543 56293 lineto
+stroke
+newpath
+36732 56293 moveto
+38037 56293 lineto
+stroke
+newpath
+38524 56293 moveto
+39037 56293 lineto
+stroke
+newpath
+39524 56293 moveto
+46182 56293 lineto
+stroke
+newpath
+27047 56213 moveto
+27546 56213 lineto
+stroke
+newpath
+29729 56213 moveto
+30506 56213 lineto
+stroke
+newpath
+36839 56213 moveto
+37899 56213 lineto
+stroke
+newpath
+38661 56213 moveto
+38899 56213 lineto
+stroke
+newpath
+39661 56213 moveto
+46182 56213 lineto
+stroke
+newpath
+27047 56133 moveto
+27546 56133 lineto
+stroke
+newpath
+36919 56133 moveto
+37819 56133 lineto
+stroke
+newpath
+38741 56133 moveto
+38819 56133 lineto
+stroke
+newpath
+39741 56133 moveto
+46182 56133 lineto
+stroke
+newpath
+27047 56053 moveto
+27546 56053 lineto
+stroke
+newpath
+36999 56053 moveto
+37757 56053 lineto
+stroke
+newpath
+39804 56053 moveto
+46182 56053 lineto
+stroke
+newpath
+27047 55973 moveto
+27546 55973 lineto
+stroke
+newpath
+37079 55973 moveto
+37724 55973 lineto
+stroke
+newpath
+39837 55973 moveto
+46182 55973 lineto
+stroke
+newpath
+27047 55893 moveto
+27546 55893 lineto
+stroke
+newpath
+37159 55893 moveto
+37690 55893 lineto
+stroke
+newpath
+39870 55893 moveto
+46182 55893 lineto
+stroke
+newpath
+27047 55813 moveto
+27546 55813 lineto
+stroke
+newpath
+37415 55813 moveto
+37677 55813 lineto
+stroke
+newpath
+39883 55813 moveto
+46182 55813 lineto
+stroke
+newpath
+27047 55733 moveto
+27546 55733 lineto
+stroke
+newpath
+37541 55733 moveto
+37677 55733 lineto
+stroke
+newpath
+39883 55733 moveto
+46182 55733 lineto
+stroke
+newpath
+27047 55653 moveto
+27546 55653 lineto
+stroke
+newpath
+37621 55653 moveto
+37677 55653 lineto
+stroke
+newpath
+39883 55653 moveto
+46182 55653 lineto
+stroke
+newpath
+27047 55573 moveto
+27546 55573 lineto
+stroke
+newpath
+37659 55573 moveto
+37696 55573 lineto
+stroke
+newpath
+39914 55573 moveto
+46182 55573 lineto
+stroke
+newpath
+27047 55493 moveto
+27546 55493 lineto
+stroke
+newpath
+37692 55493 moveto
+37725 55493 lineto
+stroke
+newpath
+39976 55493 moveto
+46182 55493 lineto
+stroke
+newpath
+27047 55413 moveto
+27546 55413 lineto
+stroke
+newpath
+40017 55413 moveto
+46182 55413 lineto
+stroke
+newpath
+27047 55333 moveto
+27546 55333 lineto
+stroke
+newpath
+40032 55333 moveto
+46182 55333 lineto
+stroke
+newpath
+27047 55253 moveto
+27546 55253 lineto
+stroke
+newpath
+40036 55253 moveto
+46182 55253 lineto
+stroke
+newpath
+27047 55173 moveto
+27546 55173 lineto
+stroke
+newpath
+40036 55173 moveto
+46182 55173 lineto
+stroke
+newpath
+27047 55093 moveto
+27546 55093 lineto
+stroke
+newpath
+40036 55093 moveto
+46182 55093 lineto
+stroke
+newpath
+27047 55013 moveto
+27546 55013 lineto
+stroke
+newpath
+40036 55013 moveto
+46182 55013 lineto
+stroke
+newpath
+27047 54933 moveto
+27546 54933 lineto
+stroke
+newpath
+40036 54933 moveto
+46182 54933 lineto
+stroke
+newpath
+27047 54853 moveto
+27558 54853 lineto
+stroke
+newpath
+40036 54853 moveto
+46182 54853 lineto
+stroke
+newpath
+27047 54773 moveto
+27574 54773 lineto
+stroke
+newpath
+40036 54773 moveto
+46182 54773 lineto
+stroke
+newpath
+27047 54693 moveto
+27620 54693 lineto
+stroke
+newpath
+40036 54693 moveto
+46182 54693 lineto
+stroke
+newpath
+27047 54613 moveto
+27678 54613 lineto
+stroke
+newpath
+40036 54613 moveto
+46182 54613 lineto
+stroke
+newpath
+27047 54533 moveto
+27758 54533 lineto
+stroke
+newpath
+40036 54533 moveto
+46182 54533 lineto
+stroke
+newpath
+27047 54453 moveto
+27838 54453 lineto
+stroke
+newpath
+40036 54453 moveto
+46182 54453 lineto
+stroke
+newpath
+27047 54373 moveto
+27918 54373 lineto
+stroke
+newpath
+40036 54373 moveto
+46182 54373 lineto
+stroke
+newpath
+27047 54293 moveto
+27998 54293 lineto
+stroke
+newpath
+40036 54293 moveto
+46182 54293 lineto
+stroke
+newpath
+27047 54213 moveto
+28078 54213 lineto
+stroke
+newpath
+40036 54213 moveto
+46182 54213 lineto
+stroke
+newpath
+27047 54133 moveto
+28158 54133 lineto
+stroke
+newpath
+40036 54133 moveto
+46182 54133 lineto
+stroke
+newpath
+27047 54053 moveto
+28238 54053 lineto
+stroke
+newpath
+40036 54053 moveto
+46182 54053 lineto
+stroke
+newpath
+27047 53973 moveto
+28318 53973 lineto
+stroke
+newpath
+40036 53973 moveto
+46182 53973 lineto
+stroke
+newpath
+27047 53893 moveto
+28398 53893 lineto
+stroke
+newpath
+40036 53893 moveto
+46182 53893 lineto
+stroke
+newpath
+27047 53813 moveto
+28478 53813 lineto
+stroke
+newpath
+40036 53813 moveto
+46182 53813 lineto
+stroke
+newpath
+27047 53733 moveto
+28558 53733 lineto
+stroke
+newpath
+40036 53733 moveto
+46182 53733 lineto
+stroke
+newpath
+27047 53653 moveto
+28638 53653 lineto
+stroke
+newpath
+40036 53653 moveto
+46182 53653 lineto
+stroke
+newpath
+27047 53573 moveto
+28718 53573 lineto
+stroke
+newpath
+40036 53573 moveto
+46182 53573 lineto
+stroke
+newpath
+27047 53493 moveto
+28798 53493 lineto
+stroke
+newpath
+40036 53493 moveto
+46182 53493 lineto
+stroke
+newpath
+27047 53413 moveto
+28894 53413 lineto
+stroke
+newpath
+40036 53413 moveto
+46182 53413 lineto
+stroke
+newpath
+27047 53333 moveto
+29098 53333 lineto
+stroke
+newpath
+40036 53333 moveto
+46182 53333 lineto
+stroke
+newpath
+27047 53253 moveto
+29234 53253 lineto
+stroke
+newpath
+40036 53253 moveto
+46182 53253 lineto
+stroke
+newpath
+27047 53173 moveto
+29314 53173 lineto
+stroke
+newpath
+40036 53173 moveto
+46182 53173 lineto
+stroke
+newpath
+27047 53093 moveto
+29394 53093 lineto
+stroke
+newpath
+40036 53093 moveto
+46182 53093 lineto
+stroke
+newpath
+27047 53013 moveto
+29474 53013 lineto
+stroke
+newpath
+40036 53013 moveto
+46182 53013 lineto
+stroke
+newpath
+27047 52933 moveto
+29554 52933 lineto
+stroke
+newpath
+40036 52933 moveto
+46182 52933 lineto
+stroke
+newpath
+27047 52853 moveto
+29634 52853 lineto
+stroke
+newpath
+40036 52853 moveto
+46182 52853 lineto
+stroke
+newpath
+27047 52773 moveto
+29714 52773 lineto
+stroke
+newpath
+40036 52773 moveto
+46182 52773 lineto
+stroke
+newpath
+27047 52693 moveto
+29794 52693 lineto
+stroke
+newpath
+40036 52693 moveto
+46182 52693 lineto
+stroke
+newpath
+27047 52613 moveto
+29904 52613 lineto
+stroke
+newpath
+40036 52613 moveto
+46182 52613 lineto
+stroke
+newpath
+27047 52533 moveto
+32540 52533 lineto
+stroke
+newpath
+40036 52533 moveto
+46182 52533 lineto
+stroke
+newpath
+27047 52453 moveto
+32604 52453 lineto
+stroke
+newpath
+40036 52453 moveto
+46182 52453 lineto
+stroke
+newpath
+27047 52373 moveto
+32524 52373 lineto
+stroke
+newpath
+40036 52373 moveto
+46182 52373 lineto
+stroke
+newpath
+27047 52293 moveto
+32450 52293 lineto
+stroke
+newpath
+40036 52293 moveto
+46182 52293 lineto
+stroke
+newpath
+27047 52213 moveto
+32417 52213 lineto
+stroke
+newpath
+40036 52213 moveto
+46182 52213 lineto
+stroke
+newpath
+27047 52133 moveto
+32384 52133 lineto
+stroke
+newpath
+40036 52133 moveto
+46182 52133 lineto
+stroke
+newpath
+27047 52053 moveto
+32362 52053 lineto
+stroke
+newpath
+40036 52053 moveto
+46182 52053 lineto
+stroke
+newpath
+27047 51973 moveto
+32362 51973 lineto
+stroke
+newpath
+40081 51973 moveto
+46182 51973 lineto
+stroke
+newpath
+27047 51893 moveto
+32362 51893 lineto
+stroke
+newpath
+40137 51893 moveto
+46182 51893 lineto
+stroke
+newpath
+27047 51813 moveto
+32351 51813 lineto
+stroke
+newpath
+40170 51813 moveto
+46182 51813 lineto
+stroke
+newpath
+27047 51733 moveto
+32271 51733 lineto
+stroke
+newpath
+40194 51733 moveto
+46182 51733 lineto
+stroke
+newpath
+27047 51653 moveto
+32191 51653 lineto
+stroke
+newpath
+40194 51653 moveto
+46182 51653 lineto
+stroke
+newpath
+27047 51573 moveto
+32136 51573 lineto
+stroke
+newpath
+40194 51573 moveto
+46182 51573 lineto
+stroke
+newpath
+27047 51493 moveto
+32105 51493 lineto
+stroke
+newpath
+40165 51493 moveto
+46182 51493 lineto
+stroke
+newpath
+27047 51413 moveto
+32088 51413 lineto
+stroke
+newpath
+40132 51413 moveto
+46182 51413 lineto
+stroke
+newpath
+27047 51333 moveto
+32089 51333 lineto
+stroke
+newpath
+40070 51333 moveto
+46182 51333 lineto
+stroke
+newpath
+27047 51253 moveto
+32089 51253 lineto
+stroke
+newpath
+39990 51253 moveto
+46182 51253 lineto
+stroke
+newpath
+27047 51173 moveto
+32089 51173 lineto
+stroke
+newpath
+39585 51173 moveto
+39608 51173 lineto
+stroke
+newpath
+39806 51173 moveto
+46182 51173 lineto
+stroke
+newpath
+27047 51093 moveto
+32089 51093 lineto
+stroke
+newpath
+39585 51093 moveto
+46182 51093 lineto
+stroke
+newpath
+27047 51013 moveto
+32089 51013 lineto
+stroke
+newpath
+39646 51013 moveto
+46182 51013 lineto
+stroke
+newpath
+27047 50933 moveto
+32089 50933 lineto
+stroke
+newpath
+39726 50933 moveto
+46182 50933 lineto
+stroke
+newpath
+27047 50853 moveto
+32089 50853 lineto
+stroke
+newpath
+39806 50853 moveto
+46182 50853 lineto
+stroke
+newpath
+27047 50773 moveto
+32089 50773 lineto
+stroke
+newpath
+39886 50773 moveto
+46182 50773 lineto
+stroke
+newpath
+27047 50693 moveto
+32089 50693 lineto
+stroke
+newpath
+39966 50693 moveto
+46182 50693 lineto
+stroke
+newpath
+27047 50613 moveto
+32089 50613 lineto
+stroke
+newpath
+40046 50613 moveto
+46182 50613 lineto
+stroke
+newpath
+27047 50533 moveto
+32089 50533 lineto
+stroke
+newpath
+40126 50533 moveto
+46182 50533 lineto
+stroke
+newpath
+27047 50453 moveto
+32089 50453 lineto
+stroke
+newpath
+40206 50453 moveto
+46182 50453 lineto
+stroke
+newpath
+27047 50373 moveto
+32089 50373 lineto
+stroke
+newpath
+40286 50373 moveto
+46182 50373 lineto
+stroke
+newpath
+27047 50293 moveto
+32089 50293 lineto
+stroke
+newpath
+40366 50293 moveto
+46182 50293 lineto
+stroke
+newpath
+27047 50213 moveto
+32089 50213 lineto
+stroke
+newpath
+40446 50213 moveto
+46182 50213 lineto
+stroke
+newpath
+27047 50133 moveto
+32089 50133 lineto
+stroke
+newpath
+40526 50133 moveto
+46182 50133 lineto
+stroke
+newpath
+27047 50053 moveto
+32089 50053 lineto
+stroke
+newpath
+40606 50053 moveto
+46182 50053 lineto
+stroke
+newpath
+27047 49973 moveto
+32089 49973 lineto
+stroke
+newpath
+40686 49973 moveto
+46182 49973 lineto
+stroke
+newpath
+27047 49893 moveto
+32089 49893 lineto
+stroke
+newpath
+40766 49893 moveto
+46182 49893 lineto
+stroke
+newpath
+27047 49813 moveto
+32093 49813 lineto
+stroke
+newpath
+40846 49813 moveto
+46182 49813 lineto
+stroke
+newpath
+27047 49733 moveto
+32110 49733 lineto
+stroke
+newpath
+40926 49733 moveto
+46182 49733 lineto
+stroke
+newpath
+27047 49653 moveto
+32155 49653 lineto
+stroke
+newpath
+41006 49653 moveto
+46182 49653 lineto
+stroke
+newpath
+27047 49573 moveto
+32221 49573 lineto
+stroke
+newpath
+41086 49573 moveto
+46182 49573 lineto
+stroke
+newpath
+27047 49493 moveto
+32301 49493 lineto
+stroke
+newpath
+41166 49493 moveto
+46182 49493 lineto
+stroke
+newpath
+27047 49413 moveto
+32381 49413 lineto
+stroke
+newpath
+41246 49413 moveto
+46182 49413 lineto
+stroke
+newpath
+27047 49333 moveto
+32461 49333 lineto
+stroke
+newpath
+41326 49333 moveto
+46182 49333 lineto
+stroke
+newpath
+27047 49253 moveto
+32541 49253 lineto
+stroke
+newpath
+41406 49253 moveto
+46182 49253 lineto
+stroke
+newpath
+27047 49173 moveto
+32621 49173 lineto
+stroke
+newpath
+41486 49173 moveto
+46182 49173 lineto
+stroke
+newpath
+27047 49093 moveto
+32701 49093 lineto
+stroke
+newpath
+41566 49093 moveto
+46182 49093 lineto
+stroke
+newpath
+27047 49013 moveto
+32781 49013 lineto
+stroke
+newpath
+41646 49013 moveto
+46182 49013 lineto
+stroke
+newpath
+27047 48933 moveto
+32861 48933 lineto
+stroke
+newpath
+41726 48933 moveto
+46182 48933 lineto
+stroke
+newpath
+27047 48853 moveto
+32941 48853 lineto
+stroke
+newpath
+41806 48853 moveto
+46182 48853 lineto
+stroke
+newpath
+27047 48773 moveto
+33021 48773 lineto
+stroke
+newpath
+41886 48773 moveto
+42111 48773 lineto
+stroke
+newpath
+42670 48773 moveto
+46182 48773 lineto
+stroke
+newpath
+27047 48693 moveto
+33101 48693 lineto
+stroke
+newpath
+41966 48693 moveto
+42030 48693 lineto
+stroke
+newpath
+42750 48693 moveto
+46182 48693 lineto
+stroke
+newpath
+27047 48613 moveto
+33181 48613 lineto
+stroke
+newpath
+42814 48613 moveto
+46182 48613 lineto
+stroke
+newpath
+27047 48533 moveto
+33261 48533 lineto
+stroke
+newpath
+42847 48533 moveto
+46182 48533 lineto
+stroke
+newpath
+27047 48453 moveto
+33341 48453 lineto
+stroke
+newpath
+42876 48453 moveto
+46182 48453 lineto
+stroke
+newpath
+27047 48373 moveto
+33421 48373 lineto
+stroke
+newpath
+42876 48373 moveto
+46182 48373 lineto
+stroke
+newpath
+27047 48293 moveto
+33501 48293 lineto
+stroke
+newpath
+42928 48293 moveto
+46182 48293 lineto
+stroke
+newpath
+27047 48213 moveto
+33581 48213 lineto
+stroke
+newpath
+43008 48213 moveto
+46182 48213 lineto
+stroke
+newpath
+27047 48133 moveto
+33661 48133 lineto
+stroke
+newpath
+43088 48133 moveto
+46182 48133 lineto
+stroke
+newpath
+27047 48053 moveto
+33741 48053 lineto
+stroke
+newpath
+43168 48053 moveto
+46182 48053 lineto
+stroke
+newpath
+27047 47973 moveto
+33821 47973 lineto
+stroke
+newpath
+43248 47973 moveto
+46182 47973 lineto
+stroke
+newpath
+27047 47893 moveto
+33901 47893 lineto
+stroke
+newpath
+43328 47893 moveto
+46182 47893 lineto
+stroke
+newpath
+27047 47813 moveto
+33981 47813 lineto
+stroke
+newpath
+43408 47813 moveto
+46182 47813 lineto
+stroke
+newpath
+27047 47733 moveto
+34061 47733 lineto
+stroke
+newpath
+43488 47733 moveto
+46182 47733 lineto
+stroke
+newpath
+27047 47653 moveto
+34141 47653 lineto
+stroke
+newpath
+43553 47653 moveto
+46182 47653 lineto
+stroke
+newpath
+27047 47573 moveto
+34221 47573 lineto
+stroke
+newpath
+43598 47573 moveto
+46182 47573 lineto
+stroke
+newpath
+27047 47493 moveto
+34301 47493 lineto
+stroke
+newpath
+43613 47493 moveto
+46182 47493 lineto
+stroke
+newpath
+27047 47413 moveto
+34381 47413 lineto
+stroke
+newpath
+43619 47413 moveto
+46182 47413 lineto
+stroke
+newpath
+27047 47333 moveto
+34461 47333 lineto
+stroke
+newpath
+43619 47333 moveto
+46182 47333 lineto
+stroke
+newpath
+27047 47253 moveto
+34541 47253 lineto
+stroke
+newpath
+43619 47253 moveto
+46182 47253 lineto
+stroke
+newpath
+27047 47173 moveto
+34621 47173 lineto
+stroke
+newpath
+43619 47173 moveto
+46182 47173 lineto
+stroke
+newpath
+27047 47093 moveto
+34701 47093 lineto
+stroke
+newpath
+43619 47093 moveto
+46182 47093 lineto
+stroke
+newpath
+27047 47013 moveto
+34781 47013 lineto
+stroke
+newpath
+43619 47013 moveto
+46182 47013 lineto
+stroke
+newpath
+27047 46933 moveto
+32994 46933 lineto
+stroke
+newpath
+33308 46933 moveto
+34861 46933 lineto
+stroke
+newpath
+43619 46933 moveto
+46182 46933 lineto
+stroke
+newpath
+27047 46853 moveto
+32844 46853 lineto
+stroke
+newpath
+33457 46853 moveto
+34941 46853 lineto
+stroke
+newpath
+43619 46853 moveto
+46182 46853 lineto
+stroke
+newpath
+27047 46773 moveto
+32764 46773 lineto
+stroke
+newpath
+33537 46773 moveto
+35021 46773 lineto
+stroke
+newpath
+43619 46773 moveto
+46182 46773 lineto
+stroke
+newpath
+27047 46693 moveto
+32716 46693 lineto
+stroke
+newpath
+33585 46693 moveto
+35101 46693 lineto
+stroke
+newpath
+41156 46693 moveto
+41230 46693 lineto
+stroke
+newpath
+43619 46693 moveto
+46182 46693 lineto
+stroke
+newpath
+27047 46613 moveto
+32683 46613 lineto
+stroke
+newpath
+33618 46613 moveto
+35181 46613 lineto
+stroke
+newpath
+41076 46613 moveto
+41230 46613 lineto
+stroke
+newpath
+43619 46613 moveto
+46182 46613 lineto
+stroke
+newpath
+27047 46533 moveto
+32664 46533 lineto
+stroke
+newpath
+33636 46533 moveto
+35261 46533 lineto
+stroke
+newpath
+40996 46533 moveto
+41230 46533 lineto
+stroke
+newpath
+43619 46533 moveto
+46182 46533 lineto
+stroke
+newpath
+27047 46453 moveto
+32664 46453 lineto
+stroke
+newpath
+33636 46453 moveto
+35341 46453 lineto
+stroke
+newpath
+40916 46453 moveto
+41230 46453 lineto
+stroke
+newpath
+43619 46453 moveto
+46182 46453 lineto
+stroke
+newpath
+27047 46373 moveto
+32665 46373 lineto
+stroke
+newpath
+33635 46373 moveto
+35421 46373 lineto
+stroke
+newpath
+40836 46373 moveto
+41230 46373 lineto
+stroke
+newpath
+43619 46373 moveto
+46182 46373 lineto
+stroke
+newpath
+27047 46293 moveto
+32698 46293 lineto
+stroke
+newpath
+33602 46293 moveto
+35501 46293 lineto
+stroke
+newpath
+40756 46293 moveto
+41230 46293 lineto
+stroke
+newpath
+43619 46293 moveto
+46182 46293 lineto
+stroke
+newpath
+27047 46213 moveto
+32731 46213 lineto
+stroke
+newpath
+33569 46213 moveto
+35581 46213 lineto
+stroke
+newpath
+40676 46213 moveto
+41230 46213 lineto
+stroke
+newpath
+43619 46213 moveto
+46182 46213 lineto
+stroke
+newpath
+27047 46133 moveto
+32802 46133 lineto
+stroke
+newpath
+33498 46133 moveto
+35661 46133 lineto
+stroke
+newpath
+40596 46133 moveto
+41230 46133 lineto
+stroke
+newpath
+43619 46133 moveto
+46182 46133 lineto
+stroke
+newpath
+27047 46053 moveto
+32821 46053 lineto
+stroke
+newpath
+33479 46053 moveto
+35741 46053 lineto
+stroke
+newpath
+40516 46053 moveto
+41230 46053 lineto
+stroke
+newpath
+43619 46053 moveto
+46182 46053 lineto
+stroke
+newpath
+27047 45973 moveto
+32821 45973 lineto
+stroke
+newpath
+33479 45973 moveto
+35821 45973 lineto
+stroke
+newpath
+40453 45973 moveto
+41230 45973 lineto
+stroke
+newpath
+43619 45973 moveto
+46182 45973 lineto
+stroke
+newpath
+27047 45893 moveto
+32821 45893 lineto
+stroke
+newpath
+33479 45893 moveto
+35901 45893 lineto
+stroke
+newpath
+40453 45893 moveto
+41230 45893 lineto
+stroke
+newpath
+43619 45893 moveto
+46182 45893 lineto
+stroke
+newpath
+27047 45813 moveto
+32821 45813 lineto
+stroke
+newpath
+33479 45813 moveto
+35981 45813 lineto
+stroke
+newpath
+40453 45813 moveto
+41230 45813 lineto
+stroke
+newpath
+43606 45813 moveto
+46182 45813 lineto
+stroke
+newpath
+27047 45733 moveto
+32821 45733 lineto
+stroke
+newpath
+33479 45733 moveto
+36061 45733 lineto
+stroke
+newpath
+40453 45733 moveto
+41230 45733 lineto
+stroke
+newpath
+43586 45733 moveto
+46182 45733 lineto
+stroke
+newpath
+27047 45653 moveto
+32821 45653 lineto
+stroke
+newpath
+33479 45653 moveto
+36141 45653 lineto
+stroke
+newpath
+40451 45653 moveto
+41230 45653 lineto
+stroke
+newpath
+43532 45653 moveto
+46182 45653 lineto
+stroke
+newpath
+27047 45573 moveto
+32821 45573 lineto
+stroke
+newpath
+33479 45573 moveto
+36221 45573 lineto
+stroke
+newpath
+40435 45573 moveto
+41230 45573 lineto
+stroke
+newpath
+43456 45573 moveto
+46182 45573 lineto
+stroke
+newpath
+27047 45493 moveto
+32821 45493 lineto
+stroke
+newpath
+33479 45493 moveto
+36301 45493 lineto
+stroke
+newpath
+40401 45493 moveto
+41230 45493 lineto
+stroke
+newpath
+43376 45493 moveto
+46182 45493 lineto
+stroke
+newpath
+27047 45413 moveto
+32821 45413 lineto
+stroke
+newpath
+33479 45413 moveto
+36381 45413 lineto
+stroke
+newpath
+40342 45413 moveto
+41230 45413 lineto
+stroke
+newpath
+43296 45413 moveto
+46182 45413 lineto
+stroke
+newpath
+27047 45333 moveto
+32821 45333 lineto
+stroke
+newpath
+33479 45333 moveto
+36461 45333 lineto
+stroke
+newpath
+40262 45333 moveto
+41230 45333 lineto
+stroke
+newpath
+43216 45333 moveto
+46182 45333 lineto
+stroke
+newpath
+27047 45253 moveto
+32821 45253 lineto
+stroke
+newpath
+33479 45253 moveto
+36541 45253 lineto
+stroke
+newpath
+40258 45253 moveto
+41230 45253 lineto
+stroke
+newpath
+43136 45253 moveto
+46182 45253 lineto
+stroke
+newpath
+27047 45173 moveto
+32821 45173 lineto
+stroke
+newpath
+33479 45173 moveto
+36621 45173 lineto
+stroke
+newpath
+40291 45173 moveto
+41230 45173 lineto
+stroke
+newpath
+43056 45173 moveto
+46182 45173 lineto
+stroke
+newpath
+27047 45093 moveto
+32821 45093 lineto
+stroke
+newpath
+33479 45093 moveto
+36701 45093 lineto
+stroke
+newpath
+40310 45093 moveto
+41230 45093 lineto
+stroke
+newpath
+43074 45093 moveto
+46182 45093 lineto
+stroke
+newpath
+27047 45013 moveto
+32821 45013 lineto
+stroke
+newpath
+33479 45013 moveto
+36781 45013 lineto
+stroke
+newpath
+40310 45013 moveto
+41230 45013 lineto
+stroke
+newpath
+43114 45013 moveto
+46182 45013 lineto
+stroke
+newpath
+27047 44933 moveto
+32821 44933 lineto
+stroke
+newpath
+33479 44933 moveto
+36861 44933 lineto
+stroke
+newpath
+40309 44933 moveto
+41230 44933 lineto
+stroke
+newpath
+43123 44933 moveto
+46182 44933 lineto
+stroke
+newpath
+27047 44853 moveto
+32821 44853 lineto
+stroke
+newpath
+33479 44853 moveto
+36941 44853 lineto
+stroke
+newpath
+40276 44853 moveto
+41230 44853 lineto
+stroke
+newpath
+43123 44853 moveto
+46182 44853 lineto
+stroke
+newpath
+27047 44773 moveto
+32821 44773 lineto
+stroke
+newpath
+33479 44773 moveto
+37033 44773 lineto
+stroke
+newpath
+40243 44773 moveto
+41230 44773 lineto
+stroke
+newpath
+43123 44773 moveto
+46182 44773 lineto
+stroke
+newpath
+27047 44693 moveto
+32821 44693 lineto
+stroke
+newpath
+33479 44693 moveto
+33990 44693 lineto
+stroke
+newpath
+34241 44693 moveto
+34990 44693 lineto
+stroke
+newpath
+35241 44693 moveto
+35990 44693 lineto
+stroke
+newpath
+36241 44693 moveto
+36990 44693 lineto
+stroke
+newpath
+37241 44693 moveto
+37990 44693 lineto
+stroke
+newpath
+38241 44693 moveto
+39474 44693 lineto
+stroke
+newpath
+40173 44693 moveto
+41230 44693 lineto
+stroke
+newpath
+43123 44693 moveto
+46182 44693 lineto
+stroke
+newpath
+27047 44613 moveto
+32821 44613 lineto
+stroke
+newpath
+33479 44613 moveto
+33795 44613 lineto
+stroke
+newpath
+34433 44613 moveto
+34795 44613 lineto
+stroke
+newpath
+35433 44613 moveto
+35795 44613 lineto
+stroke
+newpath
+36433 44613 moveto
+36795 44613 lineto
+stroke
+newpath
+37433 44613 moveto
+37795 44613 lineto
+stroke
+newpath
+38433 44613 moveto
+38580 44613 lineto
+stroke
+newpath
+40084 44613 moveto
+41230 44613 lineto
+stroke
+newpath
+43123 44613 moveto
+46182 44613 lineto
+stroke
+newpath
+27047 44533 moveto
+32821 44533 lineto
+stroke
+newpath
+33479 44533 moveto
+33700 44533 lineto
+stroke
+newpath
+34528 44533 moveto
+34700 44533 lineto
+stroke
+newpath
+35528 44533 moveto
+35700 44533 lineto
+stroke
+newpath
+36528 44533 moveto
+36700 44533 lineto
+stroke
+newpath
+37528 44533 moveto
+37700 44533 lineto
+stroke
+newpath
+39700 44533 moveto
+41232 44533 lineto
+stroke
+newpath
+43123 44533 moveto
+46182 44533 lineto
+stroke
+newpath
+27047 44453 moveto
+32821 44453 lineto
+stroke
+newpath
+33479 44453 moveto
+33620 44453 lineto
+stroke
+newpath
+34608 44453 moveto
+34620 44453 lineto
+stroke
+newpath
+35608 44453 moveto
+35620 44453 lineto
+stroke
+newpath
+36608 44453 moveto
+36620 44453 lineto
+stroke
+newpath
+37608 44453 moveto
+37619 44453 lineto
+stroke
+newpath
+39717 44453 moveto
+41248 44453 lineto
+stroke
+newpath
+43123 44453 moveto
+46182 44453 lineto
+stroke
+newpath
+27047 44373 moveto
+32821 44373 lineto
+stroke
+newpath
+33517 44373 moveto
+33574 44373 lineto
+stroke
+newpath
+39717 44373 moveto
+41287 44373 lineto
+stroke
+newpath
+43123 44373 moveto
+46182 44373 lineto
+stroke
+newpath
+27047 44293 moveto
+32821 44293 lineto
+stroke
+newpath
+39717 44293 moveto
+41348 44293 lineto
+stroke
+newpath
+43123 44293 moveto
+46182 44293 lineto
+stroke
+newpath
+27047 44213 moveto
+32832 44213 lineto
+stroke
+newpath
+39717 44213 moveto
+41428 44213 lineto
+stroke
+newpath
+43123 44213 moveto
+46182 44213 lineto
+stroke
+newpath
+27047 44133 moveto
+32855 44133 lineto
+stroke
+newpath
+39717 44133 moveto
+41508 44133 lineto
+stroke
+newpath
+43102 44133 moveto
+46182 44133 lineto
+stroke
+newpath
+27047 44053 moveto
+32909 44053 lineto
+stroke
+newpath
+39717 44053 moveto
+41588 44053 lineto
+stroke
+newpath
+43046 44053 moveto
+46182 44053 lineto
+stroke
+newpath
+27047 43973 moveto
+32985 43973 lineto
+stroke
+newpath
+39717 43973 moveto
+41668 43973 lineto
+stroke
+newpath
+42987 43973 moveto
+46182 43973 lineto
+stroke
+newpath
+27047 43893 moveto
+33065 43893 lineto
+stroke
+newpath
+39717 43893 moveto
+41748 43893 lineto
+stroke
+newpath
+43047 43893 moveto
+46182 43893 lineto
+stroke
+newpath
+27047 43813 moveto
+33145 43813 lineto
+stroke
+newpath
+39717 43813 moveto
+41828 43813 lineto
+stroke
+newpath
+43080 43813 moveto
+46182 43813 lineto
+stroke
+newpath
+27047 43733 moveto
+33225 43733 lineto
+stroke
+newpath
+39717 43733 moveto
+41908 43733 lineto
+stroke
+newpath
+43112 43733 moveto
+46182 43733 lineto
+stroke
+newpath
+27047 43653 moveto
+33305 43653 lineto
+stroke
+newpath
+34540 43653 moveto
+34688 43653 lineto
+stroke
+newpath
+35540 43653 moveto
+35688 43653 lineto
+stroke
+newpath
+36539 43653 moveto
+36687 43653 lineto
+stroke
+newpath
+37540 43653 moveto
+37688 43653 lineto
+stroke
+newpath
+39704 43653 moveto
+41917 43653 lineto
+stroke
+newpath
+43123 43653 moveto
+46182 43653 lineto
+stroke
+newpath
+27047 43573 moveto
+33385 43573 lineto
+stroke
+newpath
+34460 43573 moveto
+34768 43573 lineto
+stroke
+newpath
+35460 43573 moveto
+35768 43573 lineto
+stroke
+newpath
+36459 43573 moveto
+36767 43573 lineto
+stroke
+newpath
+37460 43573 moveto
+37768 43573 lineto
+stroke
+newpath
+38459 43573 moveto
+38568 43573 lineto
+stroke
+newpath
+39660 43573 moveto
+41917 43573 lineto
+stroke
+newpath
+43123 43573 moveto
+46182 43573 lineto
+stroke
+newpath
+27047 43493 moveto
+33465 43493 lineto
+stroke
+newpath
+34537 43493 moveto
+34958 43493 lineto
+stroke
+newpath
+35268 43493 moveto
+35958 43493 lineto
+stroke
+newpath
+36268 43493 moveto
+36958 43493 lineto
+stroke
+newpath
+37268 43493 moveto
+37958 43493 lineto
+stroke
+newpath
+38268 43493 moveto
+38688 43493 lineto
+stroke
+newpath
+39538 43493 moveto
+41917 43493 lineto
+stroke
+newpath
+43123 43493 moveto
+46182 43493 lineto
+stroke
+newpath
+27047 43413 moveto
+33545 43413 lineto
+stroke
+newpath
+34699 43413 moveto
+41939 43413 lineto
+stroke
+newpath
+43100 43413 moveto
+46182 43413 lineto
+stroke
+newpath
+27047 43333 moveto
+33625 43333 lineto
+stroke
+newpath
+34779 43333 moveto
+41972 43333 lineto
+stroke
+newpath
+43067 43333 moveto
+46182 43333 lineto
+stroke
+newpath
+27047 43253 moveto
+33705 43253 lineto
+stroke
+newpath
+34832 43253 moveto
+42005 43253 lineto
+stroke
+newpath
+43034 43253 moveto
+46182 43253 lineto
+stroke
+newpath
+27047 43173 moveto
+33785 43173 lineto
+stroke
+newpath
+34865 43173 moveto
+42081 43173 lineto
+stroke
+newpath
+42959 43173 moveto
+46182 43173 lineto
+stroke
+newpath
+27047 43093 moveto
+33865 43093 lineto
+stroke
+newpath
+34887 43093 moveto
+42161 43093 lineto
+stroke
+newpath
+42879 43093 moveto
+46182 43093 lineto
+stroke
+newpath
+27047 43013 moveto
+33915 43013 lineto
+stroke
+newpath
+34887 43013 moveto
+42329 43013 lineto
+stroke
+newpath
+42709 43013 moveto
+46182 43013 lineto
+stroke
+newpath
+27047 42933 moveto
+33915 42933 lineto
+stroke
+newpath
+34887 42933 moveto
+46182 42933 lineto
+stroke
+newpath
+27047 42853 moveto
+33945 42853 lineto
+stroke
+newpath
+34856 42853 moveto
+46182 42853 lineto
+stroke
+newpath
+27047 42773 moveto
+33978 42773 lineto
+stroke
+newpath
+34823 42773 moveto
+46182 42773 lineto
+stroke
+newpath
+27047 42693 moveto
+34043 42693 lineto
+stroke
+newpath
+34758 42693 moveto
+46182 42693 lineto
+stroke
+newpath
+27047 42613 moveto
+34123 42613 lineto
+stroke
+newpath
+34678 42613 moveto
+46182 42613 lineto
+stroke
+newpath
+27047 42533 moveto
+46182 42533 lineto
+stroke
+newpath
+27047 42453 moveto
+46182 42453 lineto
+stroke
+newpath
+27047 42373 moveto
+46182 42373 lineto
+stroke
+newpath
+27047 42293 moveto
+46182 42293 lineto
+stroke
+newpath
+27047 42213 moveto
+46182 42213 lineto
+stroke
+newpath
+27047 42133 moveto
+46182 42133 lineto
+stroke
+newpath
+27047 42053 moveto
+46182 42053 lineto
+stroke
+newpath
+27047 41973 moveto
+46182 41973 lineto
+stroke
+newpath
+27047 41893 moveto
+46182 41893 lineto
+stroke
+newpath
+27047 41813 moveto
+46182 41813 lineto
+stroke
+newpath
+27047 41733 moveto
+46182 41733 lineto
+stroke
+newpath
+27047 41653 moveto
+46182 41653 lineto
+stroke
+newpath
+27047 41573 moveto
+46182 41573 lineto
+stroke
+newpath
+27047 41493 moveto
+46182 41493 lineto
+stroke
+newpath
+27047 41413 moveto
+46182 41413 lineto
+stroke
+newpath
+27047 41333 moveto
+46182 41333 lineto
+stroke
+newpath
+27047 41253 moveto
+27494 41253 lineto
+stroke
+newpath
+27625 41253 moveto
+45407 41253 lineto
+stroke
+newpath
+45538 41253 moveto
+46182 41253 lineto
+stroke
+newpath
+27047 41173 moveto
+27332 41173 lineto
+stroke
+newpath
+27787 41173 moveto
+45245 41173 lineto
+stroke
+newpath
+45700 41173 moveto
+46182 41173 lineto
+stroke
+newpath
+27047 41093 moveto
+27276 41093 lineto
+stroke
+newpath
+27843 41093 moveto
+45189 41093 lineto
+stroke
+newpath
+45756 41093 moveto
+46182 41093 lineto
+stroke
+newpath
+27047 41013 moveto
+27246 41013 lineto
+stroke
+newpath
+27873 41013 moveto
+45159 41013 lineto
+stroke
+newpath
+45786 41013 moveto
+46182 41013 lineto
+stroke
+newpath
+27047 40933 moveto
+27231 40933 lineto
+stroke
+newpath
+27887 40933 moveto
+45144 40933 lineto
+stroke
+newpath
+45800 40933 moveto
+46182 40933 lineto
+stroke
+newpath
+27047 40853 moveto
+27068 40853 lineto
+stroke
+newpath
+28049 40853 moveto
+44984 40853 lineto
+stroke
+newpath
+45962 40853 moveto
+46182 40853 lineto
+stroke
+newpath
+28188 40773 moveto
+44845 40773 lineto
+stroke
+newpath
+46101 40773 moveto
+46182 40773 lineto
+stroke
+newpath
+28241 40693 moveto
+44792 40693 lineto
+stroke
+newpath
+46154 40693 moveto
+46182 40693 lineto
+stroke
+newpath
+28268 40613 moveto
+44765 40613 lineto
+stroke
+newpath
+46181 40613 moveto
+46182 40613 lineto
+stroke
+newpath
+28278 40533 moveto
+44753 40533 lineto
+stroke
+newpath
+28262 40453 moveto
+44769 40453 lineto
+stroke
+newpath
+46175 40453 moveto
+46182 40453 lineto
+stroke
+newpath
+28225 40373 moveto
+44806 40373 lineto
+stroke
+newpath
+46138 40373 moveto
+46182 40373 lineto
+stroke
+newpath
+28156 40293 moveto
+44875 40293 lineto
+stroke
+newpath
+46069 40293 moveto
+46182 40293 lineto
+stroke
+newpath
+27047 40213 moveto
+27202 40213 lineto
+stroke
+newpath
+27915 40213 moveto
+45115 40213 lineto
+stroke
+newpath
+45828 40213 moveto
+46182 40213 lineto
+stroke
+newpath
+27047 40133 moveto
+27234 40133 lineto
+stroke
+newpath
+27883 40133 moveto
+45147 40133 lineto
+stroke
+newpath
+45796 40133 moveto
+46182 40133 lineto
+stroke
+newpath
+27047 40053 moveto
+27250 40053 lineto
+stroke
+newpath
+27867 40053 moveto
+45163 40053 lineto
+stroke
+newpath
+45780 40053 moveto
+46182 40053 lineto
+stroke
+newpath
+27047 39973 moveto
+27290 39973 lineto
+stroke
+newpath
+27827 39973 moveto
+45203 39973 lineto
+stroke
+newpath
+45740 39973 moveto
+46182 39973 lineto
+stroke
+newpath
+27047 39893 moveto
+27364 39893 lineto
+stroke
+newpath
+27753 39893 moveto
+45277 39893 lineto
+stroke
+newpath
+45666 39893 moveto
+46182 39893 lineto
+stroke
+newpath
+27047 39813 moveto
+46182 39813 lineto
+stroke
+newpath
+27047 39733 moveto
+46182 39733 lineto
+stroke
+newpath
+27047 39653 moveto
+46182 39653 lineto
+stroke
+newpath
+42764 47526 moveto
+42764 47526 lineto
+stroke
+newpath
+42764 47446 moveto
+42844 47446 lineto
+stroke
+newpath
+42762 47366 moveto
+42924 47366 lineto
+stroke
+newpath
+42729 47286 moveto
+42961 47286 lineto
+stroke
+newpath
+42696 47206 moveto
+42961 47206 lineto
+stroke
+newpath
+42624 47126 moveto
+42961 47126 lineto
+stroke
+newpath
+42531 47046 moveto
+42961 47046 lineto
+stroke
+newpath
+42170 46966 moveto
+42961 46966 lineto
+stroke
+newpath
+42090 46886 moveto
+42961 46886 lineto
+stroke
+newpath
+42010 46806 moveto
+42961 46806 lineto
+stroke
+newpath
+41930 46726 moveto
+42961 46726 lineto
+stroke
+newpath
+41888 46646 moveto
+42961 46646 lineto
+stroke
+newpath
+41888 46566 moveto
+42961 46566 lineto
+stroke
+newpath
+41888 46486 moveto
+42961 46486 lineto
+stroke
+newpath
+41888 46406 moveto
+42961 46406 lineto
+stroke
+newpath
+41888 46326 moveto
+42961 46326 lineto
+stroke
+newpath
+41888 46246 moveto
+42961 46246 lineto
+stroke
+newpath
+41888 46166 moveto
+42961 46166 lineto
+stroke
+newpath
+41888 46086 moveto
+42961 46086 lineto
+stroke
+newpath
+41888 46006 moveto
+42959 46006 lineto
+stroke
+newpath
+41888 45926 moveto
+42879 45926 lineto
+stroke
+newpath
+41888 45846 moveto
+42799 45846 lineto
+stroke
+newpath
+41888 45766 moveto
+42719 45766 lineto
+stroke
+newpath
+41888 45686 moveto
+42639 45686 lineto
+stroke
+newpath
+41888 45606 moveto
+42559 45606 lineto
+stroke
+newpath
+41888 45526 moveto
+42479 45526 lineto
+stroke
+newpath
+41888 45446 moveto
+42399 45446 lineto
+stroke
+newpath
+41888 45366 moveto
+42319 45366 lineto
+stroke
+newpath
+41888 45286 moveto
+42256 45286 lineto
+stroke
+newpath
+41888 45206 moveto
+42212 45206 lineto
+stroke
+newpath
+41888 45126 moveto
+41999 45126 lineto
+stroke
+newpath
+41888 45046 moveto
+41940 45046 lineto
+stroke
+newpath
+41888 44966 moveto
+41917 44966 lineto
+stroke
+newpath
+41888 44886 moveto
+41917 44886 lineto
+stroke
+newpath
+41888 44806 moveto
+41917 44806 lineto
+stroke
+newpath
+41888 44726 moveto
+41917 44726 lineto
+stroke
+newpath
+33377 50521 moveto
+33377 50521 lineto
+stroke
+newpath
+33315 50441 moveto
+33425 50441 lineto
+stroke
+newpath
+33385 50361 moveto
+33553 50361 lineto
+stroke
+newpath
+33418 50281 moveto
+33636 50281 lineto
+stroke
+newpath
+33451 50201 moveto
+33636 50201 lineto
+stroke
+newpath
+33451 50121 moveto
+33636 50121 lineto
+stroke
+newpath
+33451 50041 moveto
+33636 50041 lineto
+stroke
+newpath
+33432 49961 moveto
+33636 49961 lineto
+stroke
+newpath
+33399 49881 moveto
+33636 49881 lineto
+stroke
+newpath
+33350 49801 moveto
+33636 49801 lineto
+stroke
+newpath
+33270 49721 moveto
+33636 49721 lineto
+stroke
+newpath
+33116 49641 moveto
+33636 49641 lineto
+stroke
+newpath
+33165 49561 moveto
+33648 49561 lineto
+stroke
+newpath
+33245 49481 moveto
+33672 49481 lineto
+stroke
+newpath
+33325 49401 moveto
+33725 49401 lineto
+stroke
+newpath
+33405 49321 moveto
+33802 49321 lineto
+stroke
+newpath
+33485 49241 moveto
+33882 49241 lineto
+stroke
+newpath
+33565 49161 moveto
+33962 49161 lineto
+stroke
+newpath
+33645 49081 moveto
+34042 49081 lineto
+stroke
+newpath
+33725 49001 moveto
+34122 49001 lineto
+stroke
+newpath
+33805 48921 moveto
+34202 48921 lineto
+stroke
+newpath
+33885 48841 moveto
+34282 48841 lineto
+stroke
+newpath
+33965 48761 moveto
+34362 48761 lineto
+stroke
+newpath
+34045 48681 moveto
+34442 48681 lineto
+stroke
+newpath
+34125 48601 moveto
+34522 48601 lineto
+stroke
+newpath
+34205 48521 moveto
+34602 48521 lineto
+stroke
+newpath
+34285 48441 moveto
+34682 48441 lineto
+stroke
+newpath
+34365 48361 moveto
+34762 48361 lineto
+stroke
+newpath
+34445 48281 moveto
+34842 48281 lineto
+stroke
+newpath
+34525 48201 moveto
+34922 48201 lineto
+stroke
+newpath
+34605 48121 moveto
+35002 48121 lineto
+stroke
+newpath
+34685 48041 moveto
+35082 48041 lineto
+stroke
+newpath
+34765 47961 moveto
+35162 47961 lineto
+stroke
+newpath
+34845 47881 moveto
+35242 47881 lineto
+stroke
+newpath
+34925 47801 moveto
+35322 47801 lineto
+stroke
+newpath
+35005 47721 moveto
+35402 47721 lineto
+stroke
+newpath
+35085 47641 moveto
+35482 47641 lineto
+stroke
+newpath
+35165 47561 moveto
+35562 47561 lineto
+stroke
+newpath
+35245 47481 moveto
+35642 47481 lineto
+stroke
+newpath
+35325 47401 moveto
+35722 47401 lineto
+stroke
+newpath
+35405 47321 moveto
+35802 47321 lineto
+stroke
+newpath
+35485 47241 moveto
+35882 47241 lineto
+stroke
+newpath
+35565 47161 moveto
+35962 47161 lineto
+stroke
+newpath
+35645 47081 moveto
+36042 47081 lineto
+stroke
+newpath
+35725 47001 moveto
+36122 47001 lineto
+stroke
+newpath
+35805 46921 moveto
+36202 46921 lineto
+stroke
+newpath
+35885 46841 moveto
+36282 46841 lineto
+stroke
+newpath
+35965 46761 moveto
+36362 46761 lineto
+stroke
+newpath
+36045 46681 moveto
+36442 46681 lineto
+stroke
+newpath
+36125 46601 moveto
+36522 46601 lineto
+stroke
+newpath
+36205 46521 moveto
+36602 46521 lineto
+stroke
+newpath
+36285 46441 moveto
+36682 46441 lineto
+stroke
+newpath
+36365 46361 moveto
+36762 46361 lineto
+stroke
+newpath
+36445 46281 moveto
+36842 46281 lineto
+stroke
+newpath
+36525 46201 moveto
+36922 46201 lineto
+stroke
+newpath
+36605 46121 moveto
+37002 46121 lineto
+stroke
+newpath
+36685 46041 moveto
+37082 46041 lineto
+stroke
+newpath
+36765 45961 moveto
+37162 45961 lineto
+stroke
+newpath
+36845 45881 moveto
+37242 45881 lineto
+stroke
+newpath
+36925 45801 moveto
+37322 45801 lineto
+stroke
+newpath
+37005 45721 moveto
+37402 45721 lineto
+stroke
+newpath
+37085 45641 moveto
+37482 45641 lineto
+stroke
+newpath
+37165 45561 moveto
+37562 45561 lineto
+stroke
+newpath
+37245 45481 moveto
+37642 45481 lineto
+stroke
+newpath
+37325 45401 moveto
+37722 45401 lineto
+stroke
+newpath
+38927 51255 moveto
+38927 51255 lineto
+stroke
+newpath
+38717 51175 moveto
+38927 51175 lineto
+stroke
+newpath
+38637 51095 moveto
+38927 51095 lineto
+stroke
+newpath
+38557 51015 moveto
+38927 51015 lineto
+stroke
+newpath
+38477 50935 moveto
+38926 50935 lineto
+stroke
+newpath
+38397 50855 moveto
+38942 50855 lineto
+stroke
+newpath
+38317 50775 moveto
+38975 50775 lineto
+stroke
+newpath
+38237 50695 moveto
+39032 50695 lineto
+stroke
+newpath
+38157 50615 moveto
+39112 50615 lineto
+stroke
+newpath
+38077 50535 moveto
+39192 50535 lineto
+stroke
+newpath
+37997 50455 moveto
+39272 50455 lineto
+stroke
+newpath
+37917 50375 moveto
+39352 50375 lineto
+stroke
+newpath
+37837 50295 moveto
+39432 50295 lineto
+stroke
+newpath
+37757 50215 moveto
+39512 50215 lineto
+stroke
+newpath
+37677 50135 moveto
+39592 50135 lineto
+stroke
+newpath
+37597 50055 moveto
+39672 50055 lineto
+stroke
+newpath
+37517 49975 moveto
+39752 49975 lineto
+stroke
+newpath
+37437 49895 moveto
+39832 49895 lineto
+stroke
+newpath
+37357 49815 moveto
+39912 49815 lineto
+stroke
+newpath
+37277 49735 moveto
+39992 49735 lineto
+stroke
+newpath
+37197 49655 moveto
+40072 49655 lineto
+stroke
+newpath
+37117 49575 moveto
+40152 49575 lineto
+stroke
+newpath
+37023 49495 moveto
+40232 49495 lineto
+stroke
+newpath
+36152 49415 moveto
+40312 49415 lineto
+stroke
+newpath
+36057 49335 moveto
+40392 49335 lineto
+stroke
+newpath
+35631 49255 moveto
+40472 49255 lineto
+stroke
+newpath
+35561 49175 moveto
+40552 49175 lineto
+stroke
+newpath
+35472 49095 moveto
+40632 49095 lineto
+stroke
+newpath
+35379 49015 moveto
+40712 49015 lineto
+stroke
+newpath
+35459 48935 moveto
+40792 48935 lineto
+stroke
+newpath
+35539 48855 moveto
+40872 48855 lineto
+stroke
+newpath
+35619 48775 moveto
+40952 48775 lineto
+stroke
+newpath
+35699 48695 moveto
+41032 48695 lineto
+stroke
+newpath
+35779 48615 moveto
+41112 48615 lineto
+stroke
+newpath
+35859 48535 moveto
+41192 48535 lineto
+stroke
+newpath
+35939 48455 moveto
+41272 48455 lineto
+stroke
+newpath
+36019 48375 moveto
+41352 48375 lineto
+stroke
+newpath
+36099 48295 moveto
+41432 48295 lineto
+stroke
+newpath
+36179 48215 moveto
+41512 48215 lineto
+stroke
+newpath
+36259 48135 moveto
+41445 48135 lineto
+stroke
+newpath
+36339 48055 moveto
+41380 48055 lineto
+stroke
+newpath
+36419 47975 moveto
+41347 47975 lineto
+stroke
+newpath
+36499 47895 moveto
+41315 47895 lineto
+stroke
+newpath
+36579 47815 moveto
+41315 47815 lineto
+stroke
+newpath
+36659 47735 moveto
+41267 47735 lineto
+stroke
+newpath
+36739 47655 moveto
+41187 47655 lineto
+stroke
+newpath
+36819 47575 moveto
+41107 47575 lineto
+stroke
+newpath
+36899 47495 moveto
+41027 47495 lineto
+stroke
+newpath
+36979 47415 moveto
+40947 47415 lineto
+stroke
+newpath
+37059 47335 moveto
+40867 47335 lineto
+stroke
+newpath
+37139 47255 moveto
+40787 47255 lineto
+stroke
+newpath
+37219 47175 moveto
+40707 47175 lineto
+stroke
+newpath
+37299 47095 moveto
+40627 47095 lineto
+stroke
+newpath
+37379 47015 moveto
+40547 47015 lineto
+stroke
+newpath
+37459 46935 moveto
+40467 46935 lineto
+stroke
+newpath
+37539 46855 moveto
+40387 46855 lineto
+stroke
+newpath
+37619 46775 moveto
+40307 46775 lineto
+stroke
+newpath
+37699 46695 moveto
+40227 46695 lineto
+stroke
+newpath
+37779 46615 moveto
+40147 46615 lineto
+stroke
+newpath
+37859 46535 moveto
+40067 46535 lineto
+stroke
+newpath
+37939 46455 moveto
+39987 46455 lineto
+stroke
+newpath
+38019 46375 moveto
+39907 46375 lineto
+stroke
+newpath
+38099 46295 moveto
+39472 46295 lineto
+stroke
+newpath
+38179 46215 moveto
+39348 46215 lineto
+stroke
+newpath
+34481 52632 moveto
+36951 52632 lineto
+stroke
+newpath
+34408 52552 moveto
+36778 52552 lineto
+stroke
+newpath
+34327 52472 moveto
+36610 52472 lineto
+stroke
+newpath
+34387 52392 moveto
+36530 52392 lineto
+stroke
+newpath
+34467 52312 moveto
+36474 52312 lineto
+stroke
+newpath
+34506 52232 moveto
+36441 52232 lineto
+stroke
+newpath
+34539 52152 moveto
+36417 52152 lineto
+stroke
+newpath
+34568 52072 moveto
+36417 52072 lineto
+stroke
+newpath
+34568 51992 moveto
+36351 51992 lineto
+stroke
+newpath
+34568 51912 moveto
+36271 51912 lineto
+stroke
+newpath
+34564 51832 moveto
+36191 51832 lineto
+stroke
+newpath
+34640 51752 moveto
+36111 51752 lineto
+stroke
+newpath
+34718 51672 moveto
+36031 51672 lineto
+stroke
+newpath
+34771 51592 moveto
+35951 51592 lineto
+stroke
+newpath
+34796 51512 moveto
+35871 51512 lineto
+stroke
+newpath
+34809 51432 moveto
+35791 51432 lineto
+stroke
+newpath
+34809 51352 moveto
+35711 51352 lineto
+stroke
+newpath
+34809 51272 moveto
+35631 51272 lineto
+stroke
+newpath
+34809 51192 moveto
+35551 51192 lineto
+stroke
+newpath
+34809 51112 moveto
+35471 51112 lineto
+stroke
+newpath
+34809 51032 moveto
+35391 51032 lineto
+stroke
+newpath
+34809 50952 moveto
+35311 50952 lineto
+stroke
+newpath
+34809 50872 moveto
+35231 50872 lineto
+stroke
+newpath
+34809 50792 moveto
+35151 50792 lineto
+stroke
+newpath
+34809 50712 moveto
+35071 50712 lineto
+stroke
+newpath
+34809 50632 moveto
+34991 50632 lineto
+stroke
+newpath
+34809 50552 moveto
+34934 50552 lineto
+stroke
+newpath
+34809 50472 moveto
+34900 50472 lineto
+stroke
+newpath
+34809 50392 moveto
+34884 50392 lineto
+stroke
+newpath
+34809 50312 moveto
+34883 50312 lineto
+stroke
+newpath
+34809 50232 moveto
+34883 50232 lineto
+stroke
+newpath
+34809 50152 moveto
+34883 50152 lineto
+stroke
+newpath
+34809 50072 moveto
+34883 50072 lineto
+stroke
+newpath
+34809 49992 moveto
+34883 49992 lineto
+stroke
+newpath
+34809 49912 moveto
+34883 49912 lineto
+stroke
+newpath
+34809 49832 moveto
+34843 49832 lineto
+stroke
+newpath
+35031 54453 moveto
+35031 54453 lineto
+stroke
+newpath
+34951 54373 moveto
+36110 54373 lineto
+stroke
+newpath
+34871 54293 moveto
+36202 54293 lineto
+stroke
+newpath
+34791 54213 moveto
+36382 54213 lineto
+stroke
+newpath
+34711 54133 moveto
+37422 54133 lineto
+stroke
+newpath
+34631 54053 moveto
+37502 54053 lineto
+stroke
+newpath
+34551 53973 moveto
+37582 53973 lineto
+stroke
+newpath
+34471 53893 moveto
+37662 53893 lineto
+stroke
+newpath
+34391 53813 moveto
+37742 53813 lineto
+stroke
+newpath
+34311 53733 moveto
+37822 53733 lineto
+stroke
+newpath
+34231 53653 moveto
+37902 53653 lineto
+stroke
+newpath
+34151 53573 moveto
+37982 53573 lineto
+stroke
+newpath
+34257 53493 moveto
+38062 53493 lineto
+stroke
+newpath
+34366 53413 moveto
+38142 53413 lineto
+stroke
+newpath
+34446 53333 moveto
+38222 53333 lineto
+stroke
+newpath
+37326 53253 moveto
+38302 53253 lineto
+stroke
+newpath
+37578 53173 moveto
+38382 53173 lineto
+stroke
+newpath
+37737 53093 moveto
+38462 53093 lineto
+stroke
+newpath
+37817 53013 moveto
+38542 53013 lineto
+stroke
+newpath
+37869 52933 moveto
+38622 52933 lineto
+stroke
+newpath
+37902 52853 moveto
+38702 52853 lineto
+stroke
+newpath
+37923 52773 moveto
+38782 52773 lineto
+stroke
+newpath
+37923 52693 moveto
+38862 52693 lineto
+stroke
+newpath
+37923 52613 moveto
+38927 52613 lineto
+stroke
+newpath
+37891 52533 moveto
+38927 52533 lineto
+stroke
+newpath
+37858 52453 moveto
+38927 52453 lineto
+stroke
+newpath
+37792 52373 moveto
+38927 52373 lineto
+stroke
+newpath
+37712 52293 moveto
+38927 52293 lineto
+stroke
+newpath
+37373 52213 moveto
+38703 52213 lineto
+stroke
+newpath
+38915 52213 moveto
+38927 52213 lineto
+stroke
+newpath
+37389 52133 moveto
+38523 52133 lineto
+stroke
+newpath
+37389 52053 moveto
+38443 52053 lineto
+stroke
+newpath
+37385 51973 moveto
+38382 51973 lineto
+stroke
+newpath
+37352 51893 moveto
+38349 51893 lineto
+stroke
+newpath
+37319 51813 moveto
+38322 51813 lineto
+stroke
+newpath
+37245 51733 moveto
+38322 51733 lineto
+stroke
+newpath
+37146 51653 moveto
+38264 51653 lineto
+stroke
+newpath
+36863 51573 moveto
+38184 51573 lineto
+stroke
+newpath
+36783 51493 moveto
+38104 51493 lineto
+stroke
+newpath
+36703 51413 moveto
+38024 51413 lineto
+stroke
+newpath
+36623 51333 moveto
+37944 51333 lineto
+stroke
+newpath
+36543 51253 moveto
+37864 51253 lineto
+stroke
+newpath
+36463 51173 moveto
+37784 51173 lineto
+stroke
+newpath
+36383 51093 moveto
+37704 51093 lineto
+stroke
+newpath
+36303 51013 moveto
+37624 51013 lineto
+stroke
+newpath
+36223 50933 moveto
+37544 50933 lineto
+stroke
+newpath
+36143 50853 moveto
+37464 50853 lineto
+stroke
+newpath
+36063 50773 moveto
+37384 50773 lineto
+stroke
+newpath
+35983 50693 moveto
+37304 50693 lineto
+stroke
+newpath
+35903 50613 moveto
+37224 50613 lineto
+stroke
+newpath
+35823 50533 moveto
+37144 50533 lineto
+stroke
+newpath
+35743 50453 moveto
+37064 50453 lineto
+stroke
+newpath
+35663 50373 moveto
+36984 50373 lineto
+stroke
+newpath
+35583 50293 moveto
+36904 50293 lineto
+stroke
+newpath
+35541 50213 moveto
+35639 50213 lineto
+stroke
+newpath
+35977 50213 moveto
+36824 50213 lineto
+stroke
+newpath
+36119 50133 moveto
+36744 50133 lineto
+stroke
+newpath
+33464 51609 moveto
+33464 51609 lineto
+stroke
+newpath
+33384 51529 moveto
+33478 51529 lineto
+stroke
+newpath
+33330 51449 moveto
+33398 51449 lineto
+stroke
+newpath
+33465 52608 moveto
+33465 52608 lineto
+stroke
+newpath
+33385 52528 moveto
+33545 52528 lineto
+stroke
+newpath
+33331 52448 moveto
+33597 52448 lineto
+stroke
+newpath
+33411 52368 moveto
+33517 52368 lineto
+stroke
+newpath
+38780 55389 moveto
+38780 55389 lineto
+stroke
+newpath
+38700 55309 moveto
+38859 55309 lineto
+stroke
+newpath
+38621 55229 moveto
+38940 55229 lineto
+stroke
+newpath
+38533 55149 moveto
+39132 55149 lineto
+stroke
+newpath
+38453 55069 moveto
+39378 55069 lineto
+stroke
+newpath
+38373 54989 moveto
+39378 54989 lineto
+stroke
+newpath
+38293 54909 moveto
+39378 54909 lineto
+stroke
+newpath
+38213 54829 moveto
+39378 54829 lineto
+stroke
+newpath
+38133 54749 moveto
+39378 54749 lineto
+stroke
+newpath
+38053 54669 moveto
+39378 54669 lineto
+stroke
+newpath
+37973 54589 moveto
+39378 54589 lineto
+stroke
+newpath
+37978 54509 moveto
+39378 54509 lineto
+stroke
+newpath
+38058 54429 moveto
+39378 54429 lineto
+stroke
+newpath
+38138 54349 moveto
+39378 54349 lineto
+stroke
+newpath
+38218 54269 moveto
+39378 54269 lineto
+stroke
+newpath
+38298 54189 moveto
+39378 54189 lineto
+stroke
+newpath
+38378 54109 moveto
+39378 54109 lineto
+stroke
+newpath
+38458 54029 moveto
+39378 54029 lineto
+stroke
+newpath
+38538 53949 moveto
+39378 53949 lineto
+stroke
+newpath
+38618 53869 moveto
+39378 53869 lineto
+stroke
+newpath
+38698 53789 moveto
+39378 53789 lineto
+stroke
+newpath
+38778 53709 moveto
+39378 53709 lineto
+stroke
+newpath
+38858 53629 moveto
+39378 53629 lineto
+stroke
+newpath
+38938 53549 moveto
+39378 53549 lineto
+stroke
+newpath
+39018 53469 moveto
+39378 53469 lineto
+stroke
+newpath
+39098 53389 moveto
+39378 53389 lineto
+stroke
+newpath
+39178 53309 moveto
+39378 53309 lineto
+stroke
+newpath
+39258 53229 moveto
+39378 53229 lineto
+stroke
+newpath
+39338 53149 moveto
+39378 53149 lineto
+stroke
+newpath
+28360 56385 moveto
+28688 56385 lineto
+stroke
+newpath
+28360 56305 moveto
+28587 56305 lineto
+stroke
+newpath
+31649 56305 moveto
+33662 56305 lineto
+stroke
+newpath
+28360 56225 moveto
+28544 56225 lineto
+stroke
+newpath
+31693 56225 moveto
+33742 56225 lineto
+stroke
+newpath
+28360 56145 moveto
+28531 56145 lineto
+stroke
+newpath
+31705 56145 moveto
+33822 56145 lineto
+stroke
+newpath
+28360 56065 moveto
+28531 56065 lineto
+stroke
+newpath
+31705 56065 moveto
+33902 56065 lineto
+stroke
+newpath
+28360 55985 moveto
+28531 55985 lineto
+stroke
+newpath
+31705 55985 moveto
+33936 55985 lineto
+stroke
+newpath
+28360 55905 moveto
+28531 55905 lineto
+stroke
+newpath
+31705 55905 moveto
+33936 55905 lineto
+stroke
+newpath
+28360 55825 moveto
+28531 55825 lineto
+stroke
+newpath
+31705 55825 moveto
+33961 55825 lineto
+stroke
+newpath
+28360 55745 moveto
+28531 55745 lineto
+stroke
+newpath
+31705 55745 moveto
+33993 55745 lineto
+stroke
+newpath
+28360 55665 moveto
+28531 55665 lineto
+stroke
+newpath
+31705 55665 moveto
+34026 55665 lineto
+stroke
+newpath
+28360 55585 moveto
+28531 55585 lineto
+stroke
+newpath
+31705 55585 moveto
+34106 55585 lineto
+stroke
+newpath
+34972 55585 moveto
+35080 55585 lineto
+stroke
+newpath
+28360 55505 moveto
+28531 55505 lineto
+stroke
+newpath
+31705 55505 moveto
+34186 55505 lineto
+stroke
+newpath
+34892 55505 moveto
+34979 55505 lineto
+stroke
+newpath
+28360 55425 moveto
+28531 55425 lineto
+stroke
+newpath
+31705 55425 moveto
+34362 55425 lineto
+stroke
+newpath
+34714 55425 moveto
+34943 55425 lineto
+stroke
+newpath
+28360 55345 moveto
+28549 55345 lineto
+stroke
+newpath
+29718 55345 moveto
+30517 55345 lineto
+stroke
+newpath
+31687 55345 moveto
+34799 55345 lineto
+stroke
+newpath
+28360 55265 moveto
+28601 55265 lineto
+stroke
+newpath
+29667 55265 moveto
+30569 55265 lineto
+stroke
+newpath
+31635 55265 moveto
+34693 55265 lineto
+stroke
+newpath
+28360 55185 moveto
+34613 55185 lineto
+stroke
+newpath
+28360 55105 moveto
+34533 55105 lineto
+stroke
+newpath
+28418 55025 moveto
+34453 55025 lineto
+stroke
+newpath
+28498 54945 moveto
+34373 54945 lineto
+stroke
+newpath
+28578 54865 moveto
+34293 54865 lineto
+stroke
+newpath
+28658 54785 moveto
+34213 54785 lineto
+stroke
+newpath
+28738 54705 moveto
+34133 54705 lineto
+stroke
+newpath
+28818 54625 moveto
+34053 54625 lineto
+stroke
+newpath
+28898 54545 moveto
+33973 54545 lineto
+stroke
+newpath
+28978 54465 moveto
+33893 54465 lineto
+stroke
+newpath
+29058 54385 moveto
+33813 54385 lineto
+stroke
+newpath
+29138 54305 moveto
+33733 54305 lineto
+stroke
+newpath
+29218 54225 moveto
+33653 54225 lineto
+stroke
+newpath
+29298 54145 moveto
+33573 54145 lineto
+stroke
+newpath
+29552 54065 moveto
+33493 54065 lineto
+stroke
+newpath
+29654 53985 moveto
+33413 53985 lineto
+stroke
+newpath
+29734 53905 moveto
+33333 53905 lineto
+stroke
+newpath
+29814 53825 moveto
+33253 53825 lineto
+stroke
+newpath
+29894 53745 moveto
+33173 53745 lineto
+stroke
+newpath
+29974 53665 moveto
+33093 53665 lineto
+stroke
+newpath
+30054 53585 moveto
+33013 53585 lineto
+stroke
+newpath
+30134 53505 moveto
+32703 53505 lineto
+stroke
+newpath
+30214 53425 moveto
+32576 53425 lineto
+stroke
+newpath
+36055 55676 moveto
+36444 55676 lineto
+stroke
+newpath
+35982 55596 moveto
+36524 55596 lineto
+stroke
+newpath
+36088 55516 moveto
+36604 55516 lineto
+stroke
+newpath
+36131 55436 moveto
+36684 55436 lineto
+stroke
+newpath
+36248 55356 moveto
+36732 55356 lineto
+stroke
+newpath
+36359 55276 moveto
+36732 55276 lineto
+stroke
+newpath
+36439 55196 moveto
+36763 55196 lineto
+stroke
+newpath
+36519 55116 moveto
+36796 55116 lineto
+stroke
+newpath
+36599 55036 moveto
+36862 55036 lineto
+stroke
+newpath
+46182 39638 moveto
+46182 40484 lineto
+46169 40418 lineto
+46098 40312 lineto
+45992 40241 lineto
+45866 40216 lineto
+45831 40216 lineto
+45800 40185 lineto
+45800 40150 lineto
+45775 40024 lineto
+45704 39918 lineto
+45598 39847 lineto
+45472 39822 lineto
+45346 39847 lineto
+45240 39918 lineto
+45169 40024 lineto
+45144 40150 lineto
+45144 40185 lineto
+45112 40216 lineto
+45079 40216 lineto
+44953 40241 lineto
+44847 40312 lineto
+44776 40418 lineto
+44751 40544 lineto
+44776 40670 lineto
+44847 40776 lineto
+44953 40847 lineto
+45079 40872 lineto
+45112 40872 lineto
+45144 40904 lineto
+45144 40938 lineto
+45169 41064 lineto
+45240 41170 lineto
+45346 41241 lineto
+45472 41266 lineto
+45598 41241 lineto
+45704 41170 lineto
+45775 41064 lineto
+45800 40938 lineto
+45800 40904 lineto
+45831 40872 lineto
+45866 40872 lineto
+45992 40847 lineto
+46098 40776 lineto
+46169 40670 lineto
+46182 40605 lineto
+46182 57806 lineto
+46169 57740 lineto
+46098 57634 lineto
+45992 57563 lineto
+45866 57538 lineto
+45831 57538 lineto
+45800 57507 lineto
+45800 57472 lineto
+45775 57346 lineto
+45704 57240 lineto
+45598 57169 lineto
+45472 57144 lineto
+45346 57169 lineto
+45240 57240 lineto
+45169 57346 lineto
+45144 57472 lineto
+45144 57507 lineto
+45112 57538 lineto
+45079 57538 lineto
+44953 57563 lineto
+44847 57634 lineto
+44776 57740 lineto
+44751 57866 lineto
+44776 57992 lineto
+44847 58098 lineto
+44953 58169 lineto
+45079 58194 lineto
+45112 58194 lineto
+45144 58226 lineto
+45144 58260 lineto
+45169 58386 lineto
+45240 58492 lineto
+45346 58563 lineto
+45472 58588 lineto
+45598 58563 lineto
+45704 58492 lineto
+45775 58386 lineto
+45800 58260 lineto
+45800 58226 lineto
+45831 58194 lineto
+45866 58194 lineto
+45992 58169 lineto
+46098 58098 lineto
+46169 57992 lineto
+46182 57927 lineto
+46182 58773 lineto
+27047 58773 lineto
+27047 40849 lineto
+27166 40872 lineto
+27199 40872 lineto
+27231 40904 lineto
+27231 40938 lineto
+27256 41064 lineto
+27327 41170 lineto
+27433 41241 lineto
+27559 41266 lineto
+27685 41241 lineto
+27791 41170 lineto
+27862 41064 lineto
+27887 40938 lineto
+27887 40904 lineto
+27918 40872 lineto
+27953 40872 lineto
+28079 40847 lineto
+28185 40776 lineto
+28256 40670 lineto
+28281 40544 lineto
+28256 40418 lineto
+28185 40312 lineto
+28079 40241 lineto
+27953 40216 lineto
+27918 40216 lineto
+27887 40185 lineto
+27887 40150 lineto
+27862 40024 lineto
+27791 39918 lineto
+27685 39847 lineto
+27559 39822 lineto
+27433 39847 lineto
+27327 39918 lineto
+27256 40024 lineto
+27231 40150 lineto
+27231 40185 lineto
+27199 40216 lineto
+27166 40216 lineto
+27047 40240 lineto
+27047 39638 lineto
+34304 39638 lineto
+34304 42537 lineto
+34125 42611 lineto
+33989 42748 lineto
+33915 42927 lineto
+33915 43043 lineto
+32917 44041 lineto
+32846 44148 lineto
+32820 44274 lineto
+32821 44279 lineto
+32821 46114 lineto
+32738 46197 lineto
+32664 46376 lineto
+32664 46569 lineto
+32738 46748 lineto
+32875 46884 lineto
+33054 46958 lineto
+33247 46958 lineto
+33426 46884 lineto
+33562 46747 lineto
+33636 46568 lineto
+33636 46375 lineto
+33562 46196 lineto
+33479 46114 lineto
+33479 44411 lineto
+33557 44333 lineto
+33599 44432 lineto
+33770 44603 lineto
+33994 44695 lineto
+34236 44695 lineto
+34459 44602 lineto
+34614 44447 lineto
+34770 44603 lineto
+34994 44695 lineto
+35236 44695 lineto
+35459 44602 lineto
+35614 44447 lineto
+35770 44603 lineto
+35994 44695 lineto
+36236 44695 lineto
+36459 44602 lineto
+36614 44447 lineto
+36770 44603 lineto
+36994 44695 lineto
+37236 44695 lineto
+37459 44602 lineto
+37613 44448 lineto
+37770 44603 lineto
+37994 44695 lineto
+38236 44695 lineto
+38459 44602 lineto
+38528 44533 lineto
+38549 44582 lineto
+38619 44652 lineto
+38711 44690 lineto
+39477 44690 lineto
+39465 44702 lineto
+37229 44702 lineto
+37228 44703 lineto
+37228 44702 lineto
+37103 44727 lineto
+36996 44798 lineto
+36994 44801 lineto
+32185 49609 lineto
+32114 49716 lineto
+32088 49842 lineto
+32089 49847 lineto
+32089 51410 lineto
+32088 51414 lineto
+32114 51540 lineto
+32185 51647 lineto
+32367 51829 lineto
+32362 51842 lineto
+32362 52082 lineto
+32454 52303 lineto
+32612 52461 lineto
+32519 52554 lineto
+30102 52554 lineto
+30101 52555 lineto
+30101 52554 lineto
+29946 52585 lineto
+29814 52673 lineto
+29812 52676 lineto
+29161 53326 lineto
+29134 53326 lineto
+28978 53357 lineto
+28846 53445 lineto
+27665 54626 lineto
+27577 54758 lineto
+27546 54914 lineto
+27546 56686 lineto
+27577 56842 lineto
+27665 56974 lineto
+27769 57078 lineto
+27771 57080 lineto
+27903 57168 lineto
+28058 57199 lineto
+28058 57199 lineto
+28059 57199 lineto
+28687 57199 lineto
+28793 57304 lineto
+29015 57395 lineto
+29255 57395 lineto
+29476 57303 lineto
+29646 57133 lineto
+29737 56911 lineto
+29737 56671 lineto
+29645 56450 lineto
+29574 56380 lineto
+29629 56357 lineto
+29699 56287 lineto
+29734 56200 lineto
+30500 56200 lineto
+30537 56287 lineto
+30607 56357 lineto
+30661 56380 lineto
+30590 56451 lineto
+30499 56673 lineto
+30499 56913 lineto
+30591 57134 lineto
+30761 57304 lineto
+30983 57395 lineto
+31223 57395 lineto
+31444 57303 lineto
+31547 57200 lineto
+33752 57200 lineto
+33908 57169 lineto
+34040 57080 lineto
+34512 56608 lineto
+34660 56608 lineto
+34881 56516 lineto
+35039 56359 lineto
+35198 56517 lineto
+35420 56608 lineto
+35660 56608 lineto
+35881 56516 lineto
+36051 56346 lineto
+36055 56335 lineto
+36576 56334 lineto
+36581 56335 lineto
+36707 56309 lineto
+36814 56238 lineto
+37197 55854 lineto
+37315 55854 lineto
+37494 55780 lineto
+37630 55643 lineto
+37701 55469 lineto
+37728 55496 lineto
+37677 55622 lineto
+37677 55862 lineto
+37769 56083 lineto
+37939 56253 lineto
+38161 56344 lineto
+38401 56344 lineto
+38622 56252 lineto
+38780 56094 lineto
+38939 56253 lineto
+39161 56344 lineto
+39401 56344 lineto
+39622 56252 lineto
+39792 56082 lineto
+39883 55860 lineto
+39883 55620 lineto
+39878 55609 lineto
+39937 55549 lineto
+39940 55547 lineto
+40011 55440 lineto
+40031 55336 lineto
+40036 55315 lineto
+40035 55315 lineto
+40036 55314 lineto
+40036 52018 lineto
+40120 51933 lineto
+40194 51754 lineto
+40194 51561 lineto
+40120 51382 lineto
+39983 51246 lineto
+39804 51172 lineto
+39611 51172 lineto
+39585 51183 lineto
+39585 51074 lineto
+41997 48661 lineto
+42115 48777 lineto
+42294 48851 lineto
+42487 48851 lineto
+42666 48777 lineto
+42802 48640 lineto
+42876 48461 lineto
+42876 48345 lineto
+43520 47700 lineto
+43523 47698 lineto
+43594 47591 lineto
+43614 47487 lineto
+43619 47466 lineto
+43618 47466 lineto
+43619 47465 lineto
+43619 45871 lineto
+43618 45871 lineto
+43619 45870 lineto
+43613 45846 lineto
+43594 45745 lineto
+43523 45638 lineto
+43520 45637 lineto
+43025 45142 lineto
+43085 45082 lineto
+43123 44990 lineto
+43123 44183 lineto
+43085 44092 lineto
+43015 44022 lineto
+42960 44000 lineto
+43032 43928 lineto
+43123 43706 lineto
+43123 43466 lineto
+43031 43245 lineto
+42861 43075 lineto
+42639 42984 lineto
+42399 42984 lineto
+42178 43076 lineto
+42008 43246 lineto
+41917 43468 lineto
+41917 43708 lineto
+41921 43720 lineto
+41326 44315 lineto
+41255 44422 lineto
+41229 44548 lineto
+41230 44553 lineto
+41230 46767 lineto
+40453 45990 lineto
+40453 45659 lineto
+40428 45533 lineto
+40357 45426 lineto
+40354 45425 lineto
+40236 45306 lineto
+40310 45127 lineto
+40310 44934 lineto
+40236 44755 lineto
+40099 44619 lineto
+39920 44545 lineto
+39727 44545 lineto
+39687 44562 lineto
+39717 44490 lineto
+39717 43683 lineto
+39679 43592 lineto
+39609 43522 lineto
+39517 43484 lineto
+38710 43484 lineto
+38619 43522 lineto
+38549 43592 lineto
+38528 43642 lineto
+38458 43571 lineto
+38234 43479 lineto
+37992 43479 lineto
+37769 43572 lineto
+37614 43727 lineto
+37458 43571 lineto
+37234 43479 lineto
+36992 43479 lineto
+36769 43572 lineto
+36613 43727 lineto
+36458 43571 lineto
+36234 43479 lineto
+35992 43479 lineto
+35769 43572 lineto
+35614 43727 lineto
+35458 43571 lineto
+35234 43479 lineto
+34992 43479 lineto
+34769 43572 lineto
+34614 43727 lineto
+34458 43571 lineto
+34359 43531 lineto
+34380 43510 lineto
+34498 43509 lineto
+34677 43435 lineto
+34813 43298 lineto
+34887 43119 lineto
+34887 42926 lineto
+34813 42747 lineto
+34676 42611 lineto
+34497 42537 lineto
+34304 42537 lineto
+34304 39638 lineto
+46182 39638 lineto
+poly0
+newpath
+27047 58773 moveto
+46182 58773 lineto
+stroke
+newpath
+27047 58693 moveto
+46182 58693 lineto
+stroke
+newpath
+27047 58613 moveto
+46182 58613 lineto
+stroke
+newpath
+27047 58533 moveto
+45302 58533 lineto
+stroke
+newpath
+45643 58533 moveto
+46182 58533 lineto
+stroke
+newpath
+27047 58453 moveto
+45214 58453 lineto
+stroke
+newpath
+45731 58453 moveto
+46182 58453 lineto
+stroke
+newpath
+27047 58373 moveto
+45167 58373 lineto
+stroke
+newpath
+45778 58373 moveto
+46182 58373 lineto
+stroke
+newpath
+27047 58293 moveto
+45151 58293 lineto
+stroke
+newpath
+45794 58293 moveto
+46182 58293 lineto
+stroke
+newpath
+27047 58213 moveto
+45131 58213 lineto
+stroke
+newpath
+45813 58213 moveto
+46182 58213 lineto
+stroke
+newpath
+27047 58133 moveto
+44900 58133 lineto
+stroke
+newpath
+46046 58133 moveto
+46182 58133 lineto
+stroke
+newpath
+27047 58053 moveto
+44817 58053 lineto
+stroke
+newpath
+46129 58053 moveto
+46182 58053 lineto
+stroke
+newpath
+27047 57973 moveto
+44773 57973 lineto
+stroke
+newpath
+46173 57973 moveto
+46182 57973 lineto
+stroke
+newpath
+27047 57893 moveto
+44757 57893 lineto
+stroke
+newpath
+27047 57813 moveto
+44761 57813 lineto
+stroke
+newpath
+27047 57733 moveto
+44780 57733 lineto
+stroke
+newpath
+46164 57733 moveto
+46182 57733 lineto
+stroke
+newpath
+27047 57653 moveto
+44834 57653 lineto
+stroke
+newpath
+46110 57653 moveto
+46182 57653 lineto
+stroke
+newpath
+27047 57573 moveto
+44938 57573 lineto
+stroke
+newpath
+46006 57573 moveto
+46182 57573 lineto
+stroke
+newpath
+27047 57493 moveto
+45144 57493 lineto
+stroke
+newpath
+45800 57493 moveto
+46182 57493 lineto
+stroke
+newpath
+27047 57413 moveto
+45155 57413 lineto
+stroke
+newpath
+45788 57413 moveto
+46182 57413 lineto
+stroke
+newpath
+27047 57333 moveto
+28864 57333 lineto
+stroke
+newpath
+29404 57333 moveto
+30832 57333 lineto
+stroke
+newpath
+31372 57333 moveto
+45177 57333 lineto
+stroke
+newpath
+45766 57333 moveto
+46182 57333 lineto
+stroke
+newpath
+27047 57253 moveto
+28742 57253 lineto
+stroke
+newpath
+29526 57253 moveto
+30710 57253 lineto
+stroke
+newpath
+31494 57253 moveto
+45231 57253 lineto
+stroke
+newpath
+45712 57253 moveto
+46182 57253 lineto
+stroke
+newpath
+27047 57173 moveto
+27928 57173 lineto
+stroke
+newpath
+29606 57173 moveto
+30630 57173 lineto
+stroke
+newpath
+33888 57173 moveto
+45340 57173 lineto
+stroke
+newpath
+45603 57173 moveto
+46182 57173 lineto
+stroke
+newpath
+27047 57093 moveto
+27791 57093 lineto
+stroke
+newpath
+29663 57093 moveto
+30574 57093 lineto
+stroke
+newpath
+34021 57093 moveto
+46182 57093 lineto
+stroke
+newpath
+27047 57013 moveto
+27704 57013 lineto
+stroke
+newpath
+29696 57013 moveto
+30541 57013 lineto
+stroke
+newpath
+34107 57013 moveto
+46182 57013 lineto
+stroke
+newpath
+27047 56933 moveto
+27638 56933 lineto
+stroke
+newpath
+29728 56933 moveto
+30508 56933 lineto
+stroke
+newpath
+34187 56933 moveto
+46182 56933 lineto
+stroke
+newpath
+27047 56853 moveto
+27585 56853 lineto
+stroke
+newpath
+29737 56853 moveto
+30499 56853 lineto
+stroke
+newpath
+34267 56853 moveto
+46182 56853 lineto
+stroke
+newpath
+27047 56773 moveto
+27564 56773 lineto
+stroke
+newpath
+29737 56773 moveto
+30499 56773 lineto
+stroke
+newpath
+34347 56773 moveto
+46182 56773 lineto
+stroke
+newpath
+27047 56693 moveto
+27548 56693 lineto
+stroke
+newpath
+29737 56693 moveto
+30499 56693 lineto
+stroke
+newpath
+34427 56693 moveto
+46182 56693 lineto
+stroke
+newpath
+27047 56613 moveto
+27546 56613 lineto
+stroke
+newpath
+29712 56613 moveto
+30523 56613 lineto
+stroke
+newpath
+34507 56613 moveto
+46182 56613 lineto
+stroke
+newpath
+27047 56533 moveto
+27546 56533 lineto
+stroke
+newpath
+29679 56533 moveto
+30556 56533 lineto
+stroke
+newpath
+34841 56533 moveto
+35238 56533 lineto
+stroke
+newpath
+35841 56533 moveto
+46182 56533 lineto
+stroke
+newpath
+27047 56453 moveto
+27546 56453 lineto
+stroke
+newpath
+29646 56453 moveto
+30589 56453 lineto
+stroke
+newpath
+34945 56453 moveto
+35134 56453 lineto
+stroke
+newpath
+35944 56453 moveto
+46182 56453 lineto
+stroke
+newpath
+27047 56373 moveto
+27546 56373 lineto
+stroke
+newpath
+29591 56373 moveto
+30645 56373 lineto
+stroke
+newpath
+35025 56373 moveto
+35054 56373 lineto
+stroke
+newpath
+36024 56373 moveto
+46182 56373 lineto
+stroke
+newpath
+27047 56293 moveto
+27546 56293 lineto
+stroke
+newpath
+29693 56293 moveto
+30543 56293 lineto
+stroke
+newpath
+36732 56293 moveto
+38037 56293 lineto
+stroke
+newpath
+38524 56293 moveto
+39037 56293 lineto
+stroke
+newpath
+39524 56293 moveto
+46182 56293 lineto
+stroke
+newpath
+27047 56213 moveto
+27546 56213 lineto
+stroke
+newpath
+29729 56213 moveto
+30506 56213 lineto
+stroke
+newpath
+36839 56213 moveto
+37899 56213 lineto
+stroke
+newpath
+38661 56213 moveto
+38899 56213 lineto
+stroke
+newpath
+39661 56213 moveto
+46182 56213 lineto
+stroke
+newpath
+27047 56133 moveto
+27546 56133 lineto
+stroke
+newpath
+36919 56133 moveto
+37819 56133 lineto
+stroke
+newpath
+38741 56133 moveto
+38819 56133 lineto
+stroke
+newpath
+39741 56133 moveto
+46182 56133 lineto
+stroke
+newpath
+27047 56053 moveto
+27546 56053 lineto
+stroke
+newpath
+36999 56053 moveto
+37757 56053 lineto
+stroke
+newpath
+39804 56053 moveto
+46182 56053 lineto
+stroke
+newpath
+27047 55973 moveto
+27546 55973 lineto
+stroke
+newpath
+37079 55973 moveto
+37724 55973 lineto
+stroke
+newpath
+39837 55973 moveto
+46182 55973 lineto
+stroke
+newpath
+27047 55893 moveto
+27546 55893 lineto
+stroke
+newpath
+37159 55893 moveto
+37690 55893 lineto
+stroke
+newpath
+39870 55893 moveto
+46182 55893 lineto
+stroke
+newpath
+27047 55813 moveto
+27546 55813 lineto
+stroke
+newpath
+37415 55813 moveto
+37677 55813 lineto
+stroke
+newpath
+39883 55813 moveto
+46182 55813 lineto
+stroke
+newpath
+27047 55733 moveto
+27546 55733 lineto
+stroke
+newpath
+37541 55733 moveto
+37677 55733 lineto
+stroke
+newpath
+39883 55733 moveto
+46182 55733 lineto
+stroke
+newpath
+27047 55653 moveto
+27546 55653 lineto
+stroke
+newpath
+37621 55653 moveto
+37677 55653 lineto
+stroke
+newpath
+39883 55653 moveto
+46182 55653 lineto
+stroke
+newpath
+27047 55573 moveto
+27546 55573 lineto
+stroke
+newpath
+37659 55573 moveto
+37696 55573 lineto
+stroke
+newpath
+39914 55573 moveto
+46182 55573 lineto
+stroke
+newpath
+27047 55493 moveto
+27546 55493 lineto
+stroke
+newpath
+37692 55493 moveto
+37725 55493 lineto
+stroke
+newpath
+39976 55493 moveto
+46182 55493 lineto
+stroke
+newpath
+27047 55413 moveto
+27546 55413 lineto
+stroke
+newpath
+40017 55413 moveto
+46182 55413 lineto
+stroke
+newpath
+27047 55333 moveto
+27546 55333 lineto
+stroke
+newpath
+40032 55333 moveto
+46182 55333 lineto
+stroke
+newpath
+27047 55253 moveto
+27546 55253 lineto
+stroke
+newpath
+40036 55253 moveto
+46182 55253 lineto
+stroke
+newpath
+27047 55173 moveto
+27546 55173 lineto
+stroke
+newpath
+40036 55173 moveto
+46182 55173 lineto
+stroke
+newpath
+27047 55093 moveto
+27546 55093 lineto
+stroke
+newpath
+40036 55093 moveto
+46182 55093 lineto
+stroke
+newpath
+27047 55013 moveto
+27546 55013 lineto
+stroke
+newpath
+40036 55013 moveto
+46182 55013 lineto
+stroke
+newpath
+27047 54933 moveto
+27546 54933 lineto
+stroke
+newpath
+40036 54933 moveto
+46182 54933 lineto
+stroke
+newpath
+27047 54853 moveto
+27558 54853 lineto
+stroke
+newpath
+40036 54853 moveto
+46182 54853 lineto
+stroke
+newpath
+27047 54773 moveto
+27574 54773 lineto
+stroke
+newpath
+40036 54773 moveto
+46182 54773 lineto
+stroke
+newpath
+27047 54693 moveto
+27620 54693 lineto
+stroke
+newpath
+40036 54693 moveto
+46182 54693 lineto
+stroke
+newpath
+27047 54613 moveto
+27678 54613 lineto
+stroke
+newpath
+40036 54613 moveto
+46182 54613 lineto
+stroke
+newpath
+27047 54533 moveto
+27758 54533 lineto
+stroke
+newpath
+40036 54533 moveto
+46182 54533 lineto
+stroke
+newpath
+27047 54453 moveto
+27838 54453 lineto
+stroke
+newpath
+40036 54453 moveto
+46182 54453 lineto
+stroke
+newpath
+27047 54373 moveto
+27918 54373 lineto
+stroke
+newpath
+40036 54373 moveto
+46182 54373 lineto
+stroke
+newpath
+27047 54293 moveto
+27998 54293 lineto
+stroke
+newpath
+40036 54293 moveto
+46182 54293 lineto
+stroke
+newpath
+27047 54213 moveto
+28078 54213 lineto
+stroke
+newpath
+40036 54213 moveto
+46182 54213 lineto
+stroke
+newpath
+27047 54133 moveto
+28158 54133 lineto
+stroke
+newpath
+40036 54133 moveto
+46182 54133 lineto
+stroke
+newpath
+27047 54053 moveto
+28238 54053 lineto
+stroke
+newpath
+40036 54053 moveto
+46182 54053 lineto
+stroke
+newpath
+27047 53973 moveto
+28318 53973 lineto
+stroke
+newpath
+40036 53973 moveto
+46182 53973 lineto
+stroke
+newpath
+27047 53893 moveto
+28398 53893 lineto
+stroke
+newpath
+40036 53893 moveto
+46182 53893 lineto
+stroke
+newpath
+27047 53813 moveto
+28478 53813 lineto
+stroke
+newpath
+40036 53813 moveto
+46182 53813 lineto
+stroke
+newpath
+27047 53733 moveto
+28558 53733 lineto
+stroke
+newpath
+40036 53733 moveto
+46182 53733 lineto
+stroke
+newpath
+27047 53653 moveto
+28638 53653 lineto
+stroke
+newpath
+40036 53653 moveto
+46182 53653 lineto
+stroke
+newpath
+27047 53573 moveto
+28718 53573 lineto
+stroke
+newpath
+40036 53573 moveto
+46182 53573 lineto
+stroke
+newpath
+27047 53493 moveto
+28798 53493 lineto
+stroke
+newpath
+40036 53493 moveto
+46182 53493 lineto
+stroke
+newpath
+27047 53413 moveto
+28894 53413 lineto
+stroke
+newpath
+40036 53413 moveto
+46182 53413 lineto
+stroke
+newpath
+27047 53333 moveto
+29098 53333 lineto
+stroke
+newpath
+40036 53333 moveto
+46182 53333 lineto
+stroke
+newpath
+27047 53253 moveto
+29234 53253 lineto
+stroke
+newpath
+40036 53253 moveto
+46182 53253 lineto
+stroke
+newpath
+27047 53173 moveto
+29314 53173 lineto
+stroke
+newpath
+40036 53173 moveto
+46182 53173 lineto
+stroke
+newpath
+27047 53093 moveto
+29394 53093 lineto
+stroke
+newpath
+40036 53093 moveto
+46182 53093 lineto
+stroke
+newpath
+27047 53013 moveto
+29474 53013 lineto
+stroke
+newpath
+40036 53013 moveto
+46182 53013 lineto
+stroke
+newpath
+27047 52933 moveto
+29554 52933 lineto
+stroke
+newpath
+40036 52933 moveto
+46182 52933 lineto
+stroke
+newpath
+27047 52853 moveto
+29634 52853 lineto
+stroke
+newpath
+40036 52853 moveto
+46182 52853 lineto
+stroke
+newpath
+27047 52773 moveto
+29714 52773 lineto
+stroke
+newpath
+40036 52773 moveto
+46182 52773 lineto
+stroke
+newpath
+27047 52693 moveto
+29794 52693 lineto
+stroke
+newpath
+40036 52693 moveto
+46182 52693 lineto
+stroke
+newpath
+27047 52613 moveto
+29904 52613 lineto
+stroke
+newpath
+40036 52613 moveto
+46182 52613 lineto
+stroke
+newpath
+27047 52533 moveto
+32540 52533 lineto
+stroke
+newpath
+40036 52533 moveto
+46182 52533 lineto
+stroke
+newpath
+27047 52453 moveto
+32604 52453 lineto
+stroke
+newpath
+40036 52453 moveto
+46182 52453 lineto
+stroke
+newpath
+27047 52373 moveto
+32524 52373 lineto
+stroke
+newpath
+40036 52373 moveto
+46182 52373 lineto
+stroke
+newpath
+27047 52293 moveto
+32450 52293 lineto
+stroke
+newpath
+40036 52293 moveto
+46182 52293 lineto
+stroke
+newpath
+27047 52213 moveto
+32417 52213 lineto
+stroke
+newpath
+40036 52213 moveto
+46182 52213 lineto
+stroke
+newpath
+27047 52133 moveto
+32384 52133 lineto
+stroke
+newpath
+40036 52133 moveto
+46182 52133 lineto
+stroke
+newpath
+27047 52053 moveto
+32362 52053 lineto
+stroke
+newpath
+40036 52053 moveto
+46182 52053 lineto
+stroke
+newpath
+27047 51973 moveto
+32362 51973 lineto
+stroke
+newpath
+40081 51973 moveto
+46182 51973 lineto
+stroke
+newpath
+27047 51893 moveto
+32362 51893 lineto
+stroke
+newpath
+40137 51893 moveto
+46182 51893 lineto
+stroke
+newpath
+27047 51813 moveto
+32351 51813 lineto
+stroke
+newpath
+40170 51813 moveto
+46182 51813 lineto
+stroke
+newpath
+27047 51733 moveto
+32271 51733 lineto
+stroke
+newpath
+40194 51733 moveto
+46182 51733 lineto
+stroke
+newpath
+27047 51653 moveto
+32191 51653 lineto
+stroke
+newpath
+40194 51653 moveto
+46182 51653 lineto
+stroke
+newpath
+27047 51573 moveto
+32136 51573 lineto
+stroke
+newpath
+40194 51573 moveto
+46182 51573 lineto
+stroke
+newpath
+27047 51493 moveto
+32105 51493 lineto
+stroke
+newpath
+40165 51493 moveto
+46182 51493 lineto
+stroke
+newpath
+27047 51413 moveto
+32088 51413 lineto
+stroke
+newpath
+40132 51413 moveto
+46182 51413 lineto
+stroke
+newpath
+27047 51333 moveto
+32089 51333 lineto
+stroke
+newpath
+40070 51333 moveto
+46182 51333 lineto
+stroke
+newpath
+27047 51253 moveto
+32089 51253 lineto
+stroke
+newpath
+39990 51253 moveto
+46182 51253 lineto
+stroke
+newpath
+27047 51173 moveto
+32089 51173 lineto
+stroke
+newpath
+39585 51173 moveto
+39608 51173 lineto
+stroke
+newpath
+39806 51173 moveto
+46182 51173 lineto
+stroke
+newpath
+27047 51093 moveto
+32089 51093 lineto
+stroke
+newpath
+39585 51093 moveto
+46182 51093 lineto
+stroke
+newpath
+27047 51013 moveto
+32089 51013 lineto
+stroke
+newpath
+39646 51013 moveto
+46182 51013 lineto
+stroke
+newpath
+27047 50933 moveto
+32089 50933 lineto
+stroke
+newpath
+39726 50933 moveto
+46182 50933 lineto
+stroke
+newpath
+27047 50853 moveto
+32089 50853 lineto
+stroke
+newpath
+39806 50853 moveto
+46182 50853 lineto
+stroke
+newpath
+27047 50773 moveto
+32089 50773 lineto
+stroke
+newpath
+39886 50773 moveto
+46182 50773 lineto
+stroke
+newpath
+27047 50693 moveto
+32089 50693 lineto
+stroke
+newpath
+39966 50693 moveto
+46182 50693 lineto
+stroke
+newpath
+27047 50613 moveto
+32089 50613 lineto
+stroke
+newpath
+40046 50613 moveto
+46182 50613 lineto
+stroke
+newpath
+27047 50533 moveto
+32089 50533 lineto
+stroke
+newpath
+40126 50533 moveto
+46182 50533 lineto
+stroke
+newpath
+27047 50453 moveto
+32089 50453 lineto
+stroke
+newpath
+40206 50453 moveto
+46182 50453 lineto
+stroke
+newpath
+27047 50373 moveto
+32089 50373 lineto
+stroke
+newpath
+40286 50373 moveto
+46182 50373 lineto
+stroke
+newpath
+27047 50293 moveto
+32089 50293 lineto
+stroke
+newpath
+40366 50293 moveto
+46182 50293 lineto
+stroke
+newpath
+27047 50213 moveto
+32089 50213 lineto
+stroke
+newpath
+40446 50213 moveto
+46182 50213 lineto
+stroke
+newpath
+27047 50133 moveto
+32089 50133 lineto
+stroke
+newpath
+40526 50133 moveto
+46182 50133 lineto
+stroke
+newpath
+27047 50053 moveto
+32089 50053 lineto
+stroke
+newpath
+40606 50053 moveto
+46182 50053 lineto
+stroke
+newpath
+27047 49973 moveto
+32089 49973 lineto
+stroke
+newpath
+40686 49973 moveto
+46182 49973 lineto
+stroke
+newpath
+27047 49893 moveto
+32089 49893 lineto
+stroke
+newpath
+40766 49893 moveto
+46182 49893 lineto
+stroke
+newpath
+27047 49813 moveto
+32093 49813 lineto
+stroke
+newpath
+40846 49813 moveto
+46182 49813 lineto
+stroke
+newpath
+27047 49733 moveto
+32110 49733 lineto
+stroke
+newpath
+40926 49733 moveto
+46182 49733 lineto
+stroke
+newpath
+27047 49653 moveto
+32155 49653 lineto
+stroke
+newpath
+41006 49653 moveto
+46182 49653 lineto
+stroke
+newpath
+27047 49573 moveto
+32221 49573 lineto
+stroke
+newpath
+41086 49573 moveto
+46182 49573 lineto
+stroke
+newpath
+27047 49493 moveto
+32301 49493 lineto
+stroke
+newpath
+41166 49493 moveto
+46182 49493 lineto
+stroke
+newpath
+27047 49413 moveto
+32381 49413 lineto
+stroke
+newpath
+41246 49413 moveto
+46182 49413 lineto
+stroke
+newpath
+27047 49333 moveto
+32461 49333 lineto
+stroke
+newpath
+41326 49333 moveto
+46182 49333 lineto
+stroke
+newpath
+27047 49253 moveto
+32541 49253 lineto
+stroke
+newpath
+41406 49253 moveto
+46182 49253 lineto
+stroke
+newpath
+27047 49173 moveto
+32621 49173 lineto
+stroke
+newpath
+41486 49173 moveto
+46182 49173 lineto
+stroke
+newpath
+27047 49093 moveto
+32701 49093 lineto
+stroke
+newpath
+41566 49093 moveto
+46182 49093 lineto
+stroke
+newpath
+27047 49013 moveto
+32781 49013 lineto
+stroke
+newpath
+41646 49013 moveto
+46182 49013 lineto
+stroke
+newpath
+27047 48933 moveto
+32861 48933 lineto
+stroke
+newpath
+41726 48933 moveto
+46182 48933 lineto
+stroke
+newpath
+27047 48853 moveto
+32941 48853 lineto
+stroke
+newpath
+41806 48853 moveto
+46182 48853 lineto
+stroke
+newpath
+27047 48773 moveto
+33021 48773 lineto
+stroke
+newpath
+41886 48773 moveto
+42111 48773 lineto
+stroke
+newpath
+42670 48773 moveto
+46182 48773 lineto
+stroke
+newpath
+27047 48693 moveto
+33101 48693 lineto
+stroke
+newpath
+41966 48693 moveto
+42030 48693 lineto
+stroke
+newpath
+42750 48693 moveto
+46182 48693 lineto
+stroke
+newpath
+27047 48613 moveto
+33181 48613 lineto
+stroke
+newpath
+42814 48613 moveto
+46182 48613 lineto
+stroke
+newpath
+27047 48533 moveto
+33261 48533 lineto
+stroke
+newpath
+42847 48533 moveto
+46182 48533 lineto
+stroke
+newpath
+27047 48453 moveto
+33341 48453 lineto
+stroke
+newpath
+42876 48453 moveto
+46182 48453 lineto
+stroke
+newpath
+27047 48373 moveto
+33421 48373 lineto
+stroke
+newpath
+42876 48373 moveto
+46182 48373 lineto
+stroke
+newpath
+27047 48293 moveto
+33501 48293 lineto
+stroke
+newpath
+42928 48293 moveto
+46182 48293 lineto
+stroke
+newpath
+27047 48213 moveto
+33581 48213 lineto
+stroke
+newpath
+43008 48213 moveto
+46182 48213 lineto
+stroke
+newpath
+27047 48133 moveto
+33661 48133 lineto
+stroke
+newpath
+43088 48133 moveto
+46182 48133 lineto
+stroke
+newpath
+27047 48053 moveto
+33741 48053 lineto
+stroke
+newpath
+43168 48053 moveto
+46182 48053 lineto
+stroke
+newpath
+27047 47973 moveto
+33821 47973 lineto
+stroke
+newpath
+43248 47973 moveto
+46182 47973 lineto
+stroke
+newpath
+27047 47893 moveto
+33901 47893 lineto
+stroke
+newpath
+43328 47893 moveto
+46182 47893 lineto
+stroke
+newpath
+27047 47813 moveto
+33981 47813 lineto
+stroke
+newpath
+43408 47813 moveto
+46182 47813 lineto
+stroke
+newpath
+27047 47733 moveto
+34061 47733 lineto
+stroke
+newpath
+43488 47733 moveto
+46182 47733 lineto
+stroke
+newpath
+27047 47653 moveto
+34141 47653 lineto
+stroke
+newpath
+43553 47653 moveto
+46182 47653 lineto
+stroke
+newpath
+27047 47573 moveto
+34221 47573 lineto
+stroke
+newpath
+43598 47573 moveto
+46182 47573 lineto
+stroke
+newpath
+27047 47493 moveto
+34301 47493 lineto
+stroke
+newpath
+43613 47493 moveto
+46182 47493 lineto
+stroke
+newpath
+27047 47413 moveto
+34381 47413 lineto
+stroke
+newpath
+43619 47413 moveto
+46182 47413 lineto
+stroke
+newpath
+27047 47333 moveto
+34461 47333 lineto
+stroke
+newpath
+43619 47333 moveto
+46182 47333 lineto
+stroke
+newpath
+27047 47253 moveto
+34541 47253 lineto
+stroke
+newpath
+43619 47253 moveto
+46182 47253 lineto
+stroke
+newpath
+27047 47173 moveto
+34621 47173 lineto
+stroke
+newpath
+43619 47173 moveto
+46182 47173 lineto
+stroke
+newpath
+27047 47093 moveto
+34701 47093 lineto
+stroke
+newpath
+43619 47093 moveto
+46182 47093 lineto
+stroke
+newpath
+27047 47013 moveto
+34781 47013 lineto
+stroke
+newpath
+43619 47013 moveto
+46182 47013 lineto
+stroke
+newpath
+27047 46933 moveto
+32994 46933 lineto
+stroke
+newpath
+33308 46933 moveto
+34861 46933 lineto
+stroke
+newpath
+43619 46933 moveto
+46182 46933 lineto
+stroke
+newpath
+27047 46853 moveto
+32844 46853 lineto
+stroke
+newpath
+33457 46853 moveto
+34941 46853 lineto
+stroke
+newpath
+43619 46853 moveto
+46182 46853 lineto
+stroke
+newpath
+27047 46773 moveto
+32764 46773 lineto
+stroke
+newpath
+33537 46773 moveto
+35021 46773 lineto
+stroke
+newpath
+43619 46773 moveto
+46182 46773 lineto
+stroke
+newpath
+27047 46693 moveto
+32716 46693 lineto
+stroke
+newpath
+33585 46693 moveto
+35101 46693 lineto
+stroke
+newpath
+41156 46693 moveto
+41230 46693 lineto
+stroke
+newpath
+43619 46693 moveto
+46182 46693 lineto
+stroke
+newpath
+27047 46613 moveto
+32683 46613 lineto
+stroke
+newpath
+33618 46613 moveto
+35181 46613 lineto
+stroke
+newpath
+41076 46613 moveto
+41230 46613 lineto
+stroke
+newpath
+43619 46613 moveto
+46182 46613 lineto
+stroke
+newpath
+27047 46533 moveto
+32664 46533 lineto
+stroke
+newpath
+33636 46533 moveto
+35261 46533 lineto
+stroke
+newpath
+40996 46533 moveto
+41230 46533 lineto
+stroke
+newpath
+43619 46533 moveto
+46182 46533 lineto
+stroke
+newpath
+27047 46453 moveto
+32664 46453 lineto
+stroke
+newpath
+33636 46453 moveto
+35341 46453 lineto
+stroke
+newpath
+40916 46453 moveto
+41230 46453 lineto
+stroke
+newpath
+43619 46453 moveto
+46182 46453 lineto
+stroke
+newpath
+27047 46373 moveto
+32665 46373 lineto
+stroke
+newpath
+33635 46373 moveto
+35421 46373 lineto
+stroke
+newpath
+40836 46373 moveto
+41230 46373 lineto
+stroke
+newpath
+43619 46373 moveto
+46182 46373 lineto
+stroke
+newpath
+27047 46293 moveto
+32698 46293 lineto
+stroke
+newpath
+33602 46293 moveto
+35501 46293 lineto
+stroke
+newpath
+40756 46293 moveto
+41230 46293 lineto
+stroke
+newpath
+43619 46293 moveto
+46182 46293 lineto
+stroke
+newpath
+27047 46213 moveto
+32731 46213 lineto
+stroke
+newpath
+33569 46213 moveto
+35581 46213 lineto
+stroke
+newpath
+40676 46213 moveto
+41230 46213 lineto
+stroke
+newpath
+43619 46213 moveto
+46182 46213 lineto
+stroke
+newpath
+27047 46133 moveto
+32802 46133 lineto
+stroke
+newpath
+33498 46133 moveto
+35661 46133 lineto
+stroke
+newpath
+40596 46133 moveto
+41230 46133 lineto
+stroke
+newpath
+43619 46133 moveto
+46182 46133 lineto
+stroke
+newpath
+27047 46053 moveto
+32821 46053 lineto
+stroke
+newpath
+33479 46053 moveto
+35741 46053 lineto
+stroke
+newpath
+40516 46053 moveto
+41230 46053 lineto
+stroke
+newpath
+43619 46053 moveto
+46182 46053 lineto
+stroke
+newpath
+27047 45973 moveto
+32821 45973 lineto
+stroke
+newpath
+33479 45973 moveto
+35821 45973 lineto
+stroke
+newpath
+40453 45973 moveto
+41230 45973 lineto
+stroke
+newpath
+43619 45973 moveto
+46182 45973 lineto
+stroke
+newpath
+27047 45893 moveto
+32821 45893 lineto
+stroke
+newpath
+33479 45893 moveto
+35901 45893 lineto
+stroke
+newpath
+40453 45893 moveto
+41230 45893 lineto
+stroke
+newpath
+43619 45893 moveto
+46182 45893 lineto
+stroke
+newpath
+27047 45813 moveto
+32821 45813 lineto
+stroke
+newpath
+33479 45813 moveto
+35981 45813 lineto
+stroke
+newpath
+40453 45813 moveto
+41230 45813 lineto
+stroke
+newpath
+43606 45813 moveto
+46182 45813 lineto
+stroke
+newpath
+27047 45733 moveto
+32821 45733 lineto
+stroke
+newpath
+33479 45733 moveto
+36061 45733 lineto
+stroke
+newpath
+40453 45733 moveto
+41230 45733 lineto
+stroke
+newpath
+43586 45733 moveto
+46182 45733 lineto
+stroke
+newpath
+27047 45653 moveto
+32821 45653 lineto
+stroke
+newpath
+33479 45653 moveto
+36141 45653 lineto
+stroke
+newpath
+40451 45653 moveto
+41230 45653 lineto
+stroke
+newpath
+43532 45653 moveto
+46182 45653 lineto
+stroke
+newpath
+27047 45573 moveto
+32821 45573 lineto
+stroke
+newpath
+33479 45573 moveto
+36221 45573 lineto
+stroke
+newpath
+40435 45573 moveto
+41230 45573 lineto
+stroke
+newpath
+43456 45573 moveto
+46182 45573 lineto
+stroke
+newpath
+27047 45493 moveto
+32821 45493 lineto
+stroke
+newpath
+33479 45493 moveto
+36301 45493 lineto
+stroke
+newpath
+40401 45493 moveto
+41230 45493 lineto
+stroke
+newpath
+43376 45493 moveto
+46182 45493 lineto
+stroke
+newpath
+27047 45413 moveto
+32821 45413 lineto
+stroke
+newpath
+33479 45413 moveto
+36381 45413 lineto
+stroke
+newpath
+40342 45413 moveto
+41230 45413 lineto
+stroke
+newpath
+43296 45413 moveto
+46182 45413 lineto
+stroke
+newpath
+27047 45333 moveto
+32821 45333 lineto
+stroke
+newpath
+33479 45333 moveto
+36461 45333 lineto
+stroke
+newpath
+40262 45333 moveto
+41230 45333 lineto
+stroke
+newpath
+43216 45333 moveto
+46182 45333 lineto
+stroke
+newpath
+27047 45253 moveto
+32821 45253 lineto
+stroke
+newpath
+33479 45253 moveto
+36541 45253 lineto
+stroke
+newpath
+40258 45253 moveto
+41230 45253 lineto
+stroke
+newpath
+43136 45253 moveto
+46182 45253 lineto
+stroke
+newpath
+27047 45173 moveto
+32821 45173 lineto
+stroke
+newpath
+33479 45173 moveto
+36621 45173 lineto
+stroke
+newpath
+40291 45173 moveto
+41230 45173 lineto
+stroke
+newpath
+43056 45173 moveto
+46182 45173 lineto
+stroke
+newpath
+27047 45093 moveto
+32821 45093 lineto
+stroke
+newpath
+33479 45093 moveto
+36701 45093 lineto
+stroke
+newpath
+40310 45093 moveto
+41230 45093 lineto
+stroke
+newpath
+43074 45093 moveto
+46182 45093 lineto
+stroke
+newpath
+27047 45013 moveto
+32821 45013 lineto
+stroke
+newpath
+33479 45013 moveto
+36781 45013 lineto
+stroke
+newpath
+40310 45013 moveto
+41230 45013 lineto
+stroke
+newpath
+43114 45013 moveto
+46182 45013 lineto
+stroke
+newpath
+27047 44933 moveto
+32821 44933 lineto
+stroke
+newpath
+33479 44933 moveto
+36861 44933 lineto
+stroke
+newpath
+40309 44933 moveto
+41230 44933 lineto
+stroke
+newpath
+43123 44933 moveto
+46182 44933 lineto
+stroke
+newpath
+27047 44853 moveto
+32821 44853 lineto
+stroke
+newpath
+33479 44853 moveto
+36941 44853 lineto
+stroke
+newpath
+40276 44853 moveto
+41230 44853 lineto
+stroke
+newpath
+43123 44853 moveto
+46182 44853 lineto
+stroke
+newpath
+27047 44773 moveto
+32821 44773 lineto
+stroke
+newpath
+33479 44773 moveto
+37033 44773 lineto
+stroke
+newpath
+40243 44773 moveto
+41230 44773 lineto
+stroke
+newpath
+43123 44773 moveto
+46182 44773 lineto
+stroke
+newpath
+27047 44693 moveto
+32821 44693 lineto
+stroke
+newpath
+33479 44693 moveto
+33990 44693 lineto
+stroke
+newpath
+34241 44693 moveto
+34990 44693 lineto
+stroke
+newpath
+35241 44693 moveto
+35990 44693 lineto
+stroke
+newpath
+36241 44693 moveto
+36990 44693 lineto
+stroke
+newpath
+37241 44693 moveto
+37990 44693 lineto
+stroke
+newpath
+38241 44693 moveto
+39474 44693 lineto
+stroke
+newpath
+40173 44693 moveto
+41230 44693 lineto
+stroke
+newpath
+43123 44693 moveto
+46182 44693 lineto
+stroke
+newpath
+27047 44613 moveto
+32821 44613 lineto
+stroke
+newpath
+33479 44613 moveto
+33795 44613 lineto
+stroke
+newpath
+34433 44613 moveto
+34795 44613 lineto
+stroke
+newpath
+35433 44613 moveto
+35795 44613 lineto
+stroke
+newpath
+36433 44613 moveto
+36795 44613 lineto
+stroke
+newpath
+37433 44613 moveto
+37795 44613 lineto
+stroke
+newpath
+38433 44613 moveto
+38580 44613 lineto
+stroke
+newpath
+40084 44613 moveto
+41230 44613 lineto
+stroke
+newpath
+43123 44613 moveto
+46182 44613 lineto
+stroke
+newpath
+27047 44533 moveto
+32821 44533 lineto
+stroke
+newpath
+33479 44533 moveto
+33700 44533 lineto
+stroke
+newpath
+34528 44533 moveto
+34700 44533 lineto
+stroke
+newpath
+35528 44533 moveto
+35700 44533 lineto
+stroke
+newpath
+36528 44533 moveto
+36700 44533 lineto
+stroke
+newpath
+37528 44533 moveto
+37700 44533 lineto
+stroke
+newpath
+39700 44533 moveto
+41232 44533 lineto
+stroke
+newpath
+43123 44533 moveto
+46182 44533 lineto
+stroke
+newpath
+27047 44453 moveto
+32821 44453 lineto
+stroke
+newpath
+33479 44453 moveto
+33620 44453 lineto
+stroke
+newpath
+34608 44453 moveto
+34620 44453 lineto
+stroke
+newpath
+35608 44453 moveto
+35620 44453 lineto
+stroke
+newpath
+36608 44453 moveto
+36620 44453 lineto
+stroke
+newpath
+37608 44453 moveto
+37619 44453 lineto
+stroke
+newpath
+39717 44453 moveto
+41248 44453 lineto
+stroke
+newpath
+43123 44453 moveto
+46182 44453 lineto
+stroke
+newpath
+27047 44373 moveto
+32821 44373 lineto
+stroke
+newpath
+33517 44373 moveto
+33574 44373 lineto
+stroke
+newpath
+39717 44373 moveto
+41287 44373 lineto
+stroke
+newpath
+43123 44373 moveto
+46182 44373 lineto
+stroke
+newpath
+27047 44293 moveto
+32821 44293 lineto
+stroke
+newpath
+39717 44293 moveto
+41348 44293 lineto
+stroke
+newpath
+43123 44293 moveto
+46182 44293 lineto
+stroke
+newpath
+27047 44213 moveto
+32832 44213 lineto
+stroke
+newpath
+39717 44213 moveto
+41428 44213 lineto
+stroke
+newpath
+43123 44213 moveto
+46182 44213 lineto
+stroke
+newpath
+27047 44133 moveto
+32855 44133 lineto
+stroke
+newpath
+39717 44133 moveto
+41508 44133 lineto
+stroke
+newpath
+43102 44133 moveto
+46182 44133 lineto
+stroke
+newpath
+27047 44053 moveto
+32909 44053 lineto
+stroke
+newpath
+39717 44053 moveto
+41588 44053 lineto
+stroke
+newpath
+43046 44053 moveto
+46182 44053 lineto
+stroke
+newpath
+27047 43973 moveto
+32985 43973 lineto
+stroke
+newpath
+39717 43973 moveto
+41668 43973 lineto
+stroke
+newpath
+42987 43973 moveto
+46182 43973 lineto
+stroke
+newpath
+27047 43893 moveto
+33065 43893 lineto
+stroke
+newpath
+39717 43893 moveto
+41748 43893 lineto
+stroke
+newpath
+43047 43893 moveto
+46182 43893 lineto
+stroke
+newpath
+27047 43813 moveto
+33145 43813 lineto
+stroke
+newpath
+39717 43813 moveto
+41828 43813 lineto
+stroke
+newpath
+43080 43813 moveto
+46182 43813 lineto
+stroke
+newpath
+27047 43733 moveto
+33225 43733 lineto
+stroke
+newpath
+39717 43733 moveto
+41908 43733 lineto
+stroke
+newpath
+43112 43733 moveto
+46182 43733 lineto
+stroke
+newpath
+27047 43653 moveto
+33305 43653 lineto
+stroke
+newpath
+34540 43653 moveto
+34688 43653 lineto
+stroke
+newpath
+35540 43653 moveto
+35688 43653 lineto
+stroke
+newpath
+36539 43653 moveto
+36687 43653 lineto
+stroke
+newpath
+37540 43653 moveto
+37688 43653 lineto
+stroke
+newpath
+39704 43653 moveto
+41917 43653 lineto
+stroke
+newpath
+43123 43653 moveto
+46182 43653 lineto
+stroke
+newpath
+27047 43573 moveto
+33385 43573 lineto
+stroke
+newpath
+34460 43573 moveto
+34768 43573 lineto
+stroke
+newpath
+35460 43573 moveto
+35768 43573 lineto
+stroke
+newpath
+36459 43573 moveto
+36767 43573 lineto
+stroke
+newpath
+37460 43573 moveto
+37768 43573 lineto
+stroke
+newpath
+38459 43573 moveto
+38568 43573 lineto
+stroke
+newpath
+39660 43573 moveto
+41917 43573 lineto
+stroke
+newpath
+43123 43573 moveto
+46182 43573 lineto
+stroke
+newpath
+27047 43493 moveto
+33465 43493 lineto
+stroke
+newpath
+34537 43493 moveto
+34958 43493 lineto
+stroke
+newpath
+35268 43493 moveto
+35958 43493 lineto
+stroke
+newpath
+36268 43493 moveto
+36958 43493 lineto
+stroke
+newpath
+37268 43493 moveto
+37958 43493 lineto
+stroke
+newpath
+38268 43493 moveto
+38688 43493 lineto
+stroke
+newpath
+39538 43493 moveto
+41917 43493 lineto
+stroke
+newpath
+43123 43493 moveto
+46182 43493 lineto
+stroke
+newpath
+27047 43413 moveto
+33545 43413 lineto
+stroke
+newpath
+34699 43413 moveto
+41939 43413 lineto
+stroke
+newpath
+43100 43413 moveto
+46182 43413 lineto
+stroke
+newpath
+27047 43333 moveto
+33625 43333 lineto
+stroke
+newpath
+34779 43333 moveto
+41972 43333 lineto
+stroke
+newpath
+43067 43333 moveto
+46182 43333 lineto
+stroke
+newpath
+27047 43253 moveto
+33705 43253 lineto
+stroke
+newpath
+34832 43253 moveto
+42005 43253 lineto
+stroke
+newpath
+43034 43253 moveto
+46182 43253 lineto
+stroke
+newpath
+27047 43173 moveto
+33785 43173 lineto
+stroke
+newpath
+34865 43173 moveto
+42081 43173 lineto
+stroke
+newpath
+42959 43173 moveto
+46182 43173 lineto
+stroke
+newpath
+27047 43093 moveto
+33865 43093 lineto
+stroke
+newpath
+34887 43093 moveto
+42161 43093 lineto
+stroke
+newpath
+42879 43093 moveto
+46182 43093 lineto
+stroke
+newpath
+27047 43013 moveto
+33915 43013 lineto
+stroke
+newpath
+34887 43013 moveto
+42329 43013 lineto
+stroke
+newpath
+42709 43013 moveto
+46182 43013 lineto
+stroke
+newpath
+27047 42933 moveto
+33915 42933 lineto
+stroke
+newpath
+34887 42933 moveto
+46182 42933 lineto
+stroke
+newpath
+27047 42853 moveto
+33945 42853 lineto
+stroke
+newpath
+34856 42853 moveto
+46182 42853 lineto
+stroke
+newpath
+27047 42773 moveto
+33978 42773 lineto
+stroke
+newpath
+34823 42773 moveto
+46182 42773 lineto
+stroke
+newpath
+27047 42693 moveto
+34043 42693 lineto
+stroke
+newpath
+34758 42693 moveto
+46182 42693 lineto
+stroke
+newpath
+27047 42613 moveto
+34123 42613 lineto
+stroke
+newpath
+34678 42613 moveto
+46182 42613 lineto
+stroke
+newpath
+27047 42533 moveto
+46182 42533 lineto
+stroke
+newpath
+27047 42453 moveto
+46182 42453 lineto
+stroke
+newpath
+27047 42373 moveto
+46182 42373 lineto
+stroke
+newpath
+27047 42293 moveto
+46182 42293 lineto
+stroke
+newpath
+27047 42213 moveto
+46182 42213 lineto
+stroke
+newpath
+27047 42133 moveto
+46182 42133 lineto
+stroke
+newpath
+27047 42053 moveto
+46182 42053 lineto
+stroke
+newpath
+27047 41973 moveto
+46182 41973 lineto
+stroke
+newpath
+27047 41893 moveto
+46182 41893 lineto
+stroke
+newpath
+27047 41813 moveto
+46182 41813 lineto
+stroke
+newpath
+27047 41733 moveto
+46182 41733 lineto
+stroke
+newpath
+27047 41653 moveto
+46182 41653 lineto
+stroke
+newpath
+27047 41573 moveto
+46182 41573 lineto
+stroke
+newpath
+27047 41493 moveto
+46182 41493 lineto
+stroke
+newpath
+27047 41413 moveto
+46182 41413 lineto
+stroke
+newpath
+27047 41333 moveto
+46182 41333 lineto
+stroke
+newpath
+27047 41253 moveto
+27494 41253 lineto
+stroke
+newpath
+27625 41253 moveto
+45407 41253 lineto
+stroke
+newpath
+45538 41253 moveto
+46182 41253 lineto
+stroke
+newpath
+27047 41173 moveto
+27332 41173 lineto
+stroke
+newpath
+27787 41173 moveto
+45245 41173 lineto
+stroke
+newpath
+45700 41173 moveto
+46182 41173 lineto
+stroke
+newpath
+27047 41093 moveto
+27276 41093 lineto
+stroke
+newpath
+27843 41093 moveto
+45189 41093 lineto
+stroke
+newpath
+45756 41093 moveto
+46182 41093 lineto
+stroke
+newpath
+27047 41013 moveto
+27246 41013 lineto
+stroke
+newpath
+27873 41013 moveto
+45159 41013 lineto
+stroke
+newpath
+45786 41013 moveto
+46182 41013 lineto
+stroke
+newpath
+27047 40933 moveto
+27231 40933 lineto
+stroke
+newpath
+27887 40933 moveto
+45144 40933 lineto
+stroke
+newpath
+45800 40933 moveto
+46182 40933 lineto
+stroke
+newpath
+27047 40853 moveto
+27068 40853 lineto
+stroke
+newpath
+28049 40853 moveto
+44984 40853 lineto
+stroke
+newpath
+45962 40853 moveto
+46182 40853 lineto
+stroke
+newpath
+28188 40773 moveto
+44845 40773 lineto
+stroke
+newpath
+46101 40773 moveto
+46182 40773 lineto
+stroke
+newpath
+28241 40693 moveto
+44792 40693 lineto
+stroke
+newpath
+46154 40693 moveto
+46182 40693 lineto
+stroke
+newpath
+28268 40613 moveto
+44765 40613 lineto
+stroke
+newpath
+46181 40613 moveto
+46182 40613 lineto
+stroke
+newpath
+28278 40533 moveto
+44753 40533 lineto
+stroke
+newpath
+28262 40453 moveto
+44769 40453 lineto
+stroke
+newpath
+46175 40453 moveto
+46182 40453 lineto
+stroke
+newpath
+28225 40373 moveto
+44806 40373 lineto
+stroke
+newpath
+46138 40373 moveto
+46182 40373 lineto
+stroke
+newpath
+28156 40293 moveto
+44875 40293 lineto
+stroke
+newpath
+46069 40293 moveto
+46182 40293 lineto
+stroke
+newpath
+27047 40213 moveto
+27202 40213 lineto
+stroke
+newpath
+27915 40213 moveto
+45115 40213 lineto
+stroke
+newpath
+45828 40213 moveto
+46182 40213 lineto
+stroke
+newpath
+27047 40133 moveto
+27234 40133 lineto
+stroke
+newpath
+27883 40133 moveto
+45147 40133 lineto
+stroke
+newpath
+45796 40133 moveto
+46182 40133 lineto
+stroke
+newpath
+27047 40053 moveto
+27250 40053 lineto
+stroke
+newpath
+27867 40053 moveto
+45163 40053 lineto
+stroke
+newpath
+45780 40053 moveto
+46182 40053 lineto
+stroke
+newpath
+27047 39973 moveto
+27290 39973 lineto
+stroke
+newpath
+27827 39973 moveto
+45203 39973 lineto
+stroke
+newpath
+45740 39973 moveto
+46182 39973 lineto
+stroke
+newpath
+27047 39893 moveto
+27364 39893 lineto
+stroke
+newpath
+27753 39893 moveto
+45277 39893 lineto
+stroke
+newpath
+45666 39893 moveto
+46182 39893 lineto
+stroke
+newpath
+27047 39813 moveto
+46182 39813 lineto
+stroke
+newpath
+27047 39733 moveto
+46182 39733 lineto
+stroke
+newpath
+27047 39653 moveto
+46182 39653 lineto
+stroke
+newpath
+42764 47526 moveto
+42764 47526 lineto
+stroke
+newpath
+42764 47446 moveto
+42844 47446 lineto
+stroke
+newpath
+42762 47366 moveto
+42924 47366 lineto
+stroke
+newpath
+42729 47286 moveto
+42961 47286 lineto
+stroke
+newpath
+42696 47206 moveto
+42961 47206 lineto
+stroke
+newpath
+42624 47126 moveto
+42961 47126 lineto
+stroke
+newpath
+42531 47046 moveto
+42961 47046 lineto
+stroke
+newpath
+42170 46966 moveto
+42961 46966 lineto
+stroke
+newpath
+42090 46886 moveto
+42961 46886 lineto
+stroke
+newpath
+42010 46806 moveto
+42961 46806 lineto
+stroke
+newpath
+41930 46726 moveto
+42961 46726 lineto
+stroke
+newpath
+41888 46646 moveto
+42961 46646 lineto
+stroke
+newpath
+41888 46566 moveto
+42961 46566 lineto
+stroke
+newpath
+41888 46486 moveto
+42961 46486 lineto
+stroke
+newpath
+41888 46406 moveto
+42961 46406 lineto
+stroke
+newpath
+41888 46326 moveto
+42961 46326 lineto
+stroke
+newpath
+41888 46246 moveto
+42961 46246 lineto
+stroke
+newpath
+41888 46166 moveto
+42961 46166 lineto
+stroke
+newpath
+41888 46086 moveto
+42961 46086 lineto
+stroke
+newpath
+41888 46006 moveto
+42959 46006 lineto
+stroke
+newpath
+41888 45926 moveto
+42879 45926 lineto
+stroke
+newpath
+41888 45846 moveto
+42799 45846 lineto
+stroke
+newpath
+41888 45766 moveto
+42719 45766 lineto
+stroke
+newpath
+41888 45686 moveto
+42639 45686 lineto
+stroke
+newpath
+41888 45606 moveto
+42559 45606 lineto
+stroke
+newpath
+41888 45526 moveto
+42479 45526 lineto
+stroke
+newpath
+41888 45446 moveto
+42399 45446 lineto
+stroke
+newpath
+41888 45366 moveto
+42319 45366 lineto
+stroke
+newpath
+41888 45286 moveto
+42256 45286 lineto
+stroke
+newpath
+41888 45206 moveto
+42212 45206 lineto
+stroke
+newpath
+41888 45126 moveto
+41999 45126 lineto
+stroke
+newpath
+41888 45046 moveto
+41940 45046 lineto
+stroke
+newpath
+41888 44966 moveto
+41917 44966 lineto
+stroke
+newpath
+41888 44886 moveto
+41917 44886 lineto
+stroke
+newpath
+41888 44806 moveto
+41917 44806 lineto
+stroke
+newpath
+41888 44726 moveto
+41917 44726 lineto
+stroke
+newpath
+33377 50521 moveto
+33377 50521 lineto
+stroke
+newpath
+33315 50441 moveto
+33425 50441 lineto
+stroke
+newpath
+33385 50361 moveto
+33553 50361 lineto
+stroke
+newpath
+33418 50281 moveto
+33636 50281 lineto
+stroke
+newpath
+33451 50201 moveto
+33636 50201 lineto
+stroke
+newpath
+33451 50121 moveto
+33636 50121 lineto
+stroke
+newpath
+33451 50041 moveto
+33636 50041 lineto
+stroke
+newpath
+33432 49961 moveto
+33636 49961 lineto
+stroke
+newpath
+33399 49881 moveto
+33636 49881 lineto
+stroke
+newpath
+33350 49801 moveto
+33636 49801 lineto
+stroke
+newpath
+33270 49721 moveto
+33636 49721 lineto
+stroke
+newpath
+33116 49641 moveto
+33636 49641 lineto
+stroke
+newpath
+33165 49561 moveto
+33648 49561 lineto
+stroke
+newpath
+33245 49481 moveto
+33672 49481 lineto
+stroke
+newpath
+33325 49401 moveto
+33725 49401 lineto
+stroke
+newpath
+33405 49321 moveto
+33802 49321 lineto
+stroke
+newpath
+33485 49241 moveto
+33882 49241 lineto
+stroke
+newpath
+33565 49161 moveto
+33962 49161 lineto
+stroke
+newpath
+33645 49081 moveto
+34042 49081 lineto
+stroke
+newpath
+33725 49001 moveto
+34122 49001 lineto
+stroke
+newpath
+33805 48921 moveto
+34202 48921 lineto
+stroke
+newpath
+33885 48841 moveto
+34282 48841 lineto
+stroke
+newpath
+33965 48761 moveto
+34362 48761 lineto
+stroke
+newpath
+34045 48681 moveto
+34442 48681 lineto
+stroke
+newpath
+34125 48601 moveto
+34522 48601 lineto
+stroke
+newpath
+34205 48521 moveto
+34602 48521 lineto
+stroke
+newpath
+34285 48441 moveto
+34682 48441 lineto
+stroke
+newpath
+34365 48361 moveto
+34762 48361 lineto
+stroke
+newpath
+34445 48281 moveto
+34842 48281 lineto
+stroke
+newpath
+34525 48201 moveto
+34922 48201 lineto
+stroke
+newpath
+34605 48121 moveto
+35002 48121 lineto
+stroke
+newpath
+34685 48041 moveto
+35082 48041 lineto
+stroke
+newpath
+34765 47961 moveto
+35162 47961 lineto
+stroke
+newpath
+34845 47881 moveto
+35242 47881 lineto
+stroke
+newpath
+34925 47801 moveto
+35322 47801 lineto
+stroke
+newpath
+35005 47721 moveto
+35402 47721 lineto
+stroke
+newpath
+35085 47641 moveto
+35482 47641 lineto
+stroke
+newpath
+35165 47561 moveto
+35562 47561 lineto
+stroke
+newpath
+35245 47481 moveto
+35642 47481 lineto
+stroke
+newpath
+35325 47401 moveto
+35722 47401 lineto
+stroke
+newpath
+35405 47321 moveto
+35802 47321 lineto
+stroke
+newpath
+35485 47241 moveto
+35882 47241 lineto
+stroke
+newpath
+35565 47161 moveto
+35962 47161 lineto
+stroke
+newpath
+35645 47081 moveto
+36042 47081 lineto
+stroke
+newpath
+35725 47001 moveto
+36122 47001 lineto
+stroke
+newpath
+35805 46921 moveto
+36202 46921 lineto
+stroke
+newpath
+35885 46841 moveto
+36282 46841 lineto
+stroke
+newpath
+35965 46761 moveto
+36362 46761 lineto
+stroke
+newpath
+36045 46681 moveto
+36442 46681 lineto
+stroke
+newpath
+36125 46601 moveto
+36522 46601 lineto
+stroke
+newpath
+36205 46521 moveto
+36602 46521 lineto
+stroke
+newpath
+36285 46441 moveto
+36682 46441 lineto
+stroke
+newpath
+36365 46361 moveto
+36762 46361 lineto
+stroke
+newpath
+36445 46281 moveto
+36842 46281 lineto
+stroke
+newpath
+36525 46201 moveto
+36922 46201 lineto
+stroke
+newpath
+36605 46121 moveto
+37002 46121 lineto
+stroke
+newpath
+36685 46041 moveto
+37082 46041 lineto
+stroke
+newpath
+36765 45961 moveto
+37162 45961 lineto
+stroke
+newpath
+36845 45881 moveto
+37242 45881 lineto
+stroke
+newpath
+36925 45801 moveto
+37322 45801 lineto
+stroke
+newpath
+37005 45721 moveto
+37402 45721 lineto
+stroke
+newpath
+37085 45641 moveto
+37482 45641 lineto
+stroke
+newpath
+37165 45561 moveto
+37562 45561 lineto
+stroke
+newpath
+37245 45481 moveto
+37642 45481 lineto
+stroke
+newpath
+37325 45401 moveto
+37722 45401 lineto
+stroke
+newpath
+38927 51255 moveto
+38927 51255 lineto
+stroke
+newpath
+38717 51175 moveto
+38927 51175 lineto
+stroke
+newpath
+38637 51095 moveto
+38927 51095 lineto
+stroke
+newpath
+38557 51015 moveto
+38927 51015 lineto
+stroke
+newpath
+38477 50935 moveto
+38926 50935 lineto
+stroke
+newpath
+38397 50855 moveto
+38942 50855 lineto
+stroke
+newpath
+38317 50775 moveto
+38975 50775 lineto
+stroke
+newpath
+38237 50695 moveto
+39032 50695 lineto
+stroke
+newpath
+38157 50615 moveto
+39112 50615 lineto
+stroke
+newpath
+38077 50535 moveto
+39192 50535 lineto
+stroke
+newpath
+37997 50455 moveto
+39272 50455 lineto
+stroke
+newpath
+37917 50375 moveto
+39352 50375 lineto
+stroke
+newpath
+37837 50295 moveto
+39432 50295 lineto
+stroke
+newpath
+37757 50215 moveto
+39512 50215 lineto
+stroke
+newpath
+37677 50135 moveto
+39592 50135 lineto
+stroke
+newpath
+37597 50055 moveto
+39672 50055 lineto
+stroke
+newpath
+37517 49975 moveto
+39752 49975 lineto
+stroke
+newpath
+37437 49895 moveto
+39832 49895 lineto
+stroke
+newpath
+37357 49815 moveto
+39912 49815 lineto
+stroke
+newpath
+37277 49735 moveto
+39992 49735 lineto
+stroke
+newpath
+37197 49655 moveto
+40072 49655 lineto
+stroke
+newpath
+37117 49575 moveto
+40152 49575 lineto
+stroke
+newpath
+37023 49495 moveto
+40232 49495 lineto
+stroke
+newpath
+36152 49415 moveto
+40312 49415 lineto
+stroke
+newpath
+36057 49335 moveto
+40392 49335 lineto
+stroke
+newpath
+35631 49255 moveto
+40472 49255 lineto
+stroke
+newpath
+35561 49175 moveto
+40552 49175 lineto
+stroke
+newpath
+35472 49095 moveto
+40632 49095 lineto
+stroke
+newpath
+35379 49015 moveto
+40712 49015 lineto
+stroke
+newpath
+35459 48935 moveto
+40792 48935 lineto
+stroke
+newpath
+35539 48855 moveto
+40872 48855 lineto
+stroke
+newpath
+35619 48775 moveto
+40952 48775 lineto
+stroke
+newpath
+35699 48695 moveto
+41032 48695 lineto
+stroke
+newpath
+35779 48615 moveto
+41112 48615 lineto
+stroke
+newpath
+35859 48535 moveto
+41192 48535 lineto
+stroke
+newpath
+35939 48455 moveto
+41272 48455 lineto
+stroke
+newpath
+36019 48375 moveto
+41352 48375 lineto
+stroke
+newpath
+36099 48295 moveto
+41432 48295 lineto
+stroke
+newpath
+36179 48215 moveto
+41512 48215 lineto
+stroke
+newpath
+36259 48135 moveto
+41445 48135 lineto
+stroke
+newpath
+36339 48055 moveto
+41380 48055 lineto
+stroke
+newpath
+36419 47975 moveto
+41347 47975 lineto
+stroke
+newpath
+36499 47895 moveto
+41315 47895 lineto
+stroke
+newpath
+36579 47815 moveto
+41315 47815 lineto
+stroke
+newpath
+36659 47735 moveto
+41267 47735 lineto
+stroke
+newpath
+36739 47655 moveto
+41187 47655 lineto
+stroke
+newpath
+36819 47575 moveto
+41107 47575 lineto
+stroke
+newpath
+36899 47495 moveto
+41027 47495 lineto
+stroke
+newpath
+36979 47415 moveto
+40947 47415 lineto
+stroke
+newpath
+37059 47335 moveto
+40867 47335 lineto
+stroke
+newpath
+37139 47255 moveto
+40787 47255 lineto
+stroke
+newpath
+37219 47175 moveto
+40707 47175 lineto
+stroke
+newpath
+37299 47095 moveto
+40627 47095 lineto
+stroke
+newpath
+37379 47015 moveto
+40547 47015 lineto
+stroke
+newpath
+37459 46935 moveto
+40467 46935 lineto
+stroke
+newpath
+37539 46855 moveto
+40387 46855 lineto
+stroke
+newpath
+37619 46775 moveto
+40307 46775 lineto
+stroke
+newpath
+37699 46695 moveto
+40227 46695 lineto
+stroke
+newpath
+37779 46615 moveto
+40147 46615 lineto
+stroke
+newpath
+37859 46535 moveto
+40067 46535 lineto
+stroke
+newpath
+37939 46455 moveto
+39987 46455 lineto
+stroke
+newpath
+38019 46375 moveto
+39907 46375 lineto
+stroke
+newpath
+38099 46295 moveto
+39472 46295 lineto
+stroke
+newpath
+38179 46215 moveto
+39348 46215 lineto
+stroke
+newpath
+34481 52632 moveto
+36951 52632 lineto
+stroke
+newpath
+34408 52552 moveto
+36778 52552 lineto
+stroke
+newpath
+34327 52472 moveto
+36610 52472 lineto
+stroke
+newpath
+34387 52392 moveto
+36530 52392 lineto
+stroke
+newpath
+34467 52312 moveto
+36474 52312 lineto
+stroke
+newpath
+34506 52232 moveto
+36441 52232 lineto
+stroke
+newpath
+34539 52152 moveto
+36417 52152 lineto
+stroke
+newpath
+34568 52072 moveto
+36417 52072 lineto
+stroke
+newpath
+34568 51992 moveto
+36351 51992 lineto
+stroke
+newpath
+34568 51912 moveto
+36271 51912 lineto
+stroke
+newpath
+34564 51832 moveto
+36191 51832 lineto
+stroke
+newpath
+34640 51752 moveto
+36111 51752 lineto
+stroke
+newpath
+34718 51672 moveto
+36031 51672 lineto
+stroke
+newpath
+34771 51592 moveto
+35951 51592 lineto
+stroke
+newpath
+34796 51512 moveto
+35871 51512 lineto
+stroke
+newpath
+34809 51432 moveto
+35791 51432 lineto
+stroke
+newpath
+34809 51352 moveto
+35711 51352 lineto
+stroke
+newpath
+34809 51272 moveto
+35631 51272 lineto
+stroke
+newpath
+34809 51192 moveto
+35551 51192 lineto
+stroke
+newpath
+34809 51112 moveto
+35471 51112 lineto
+stroke
+newpath
+34809 51032 moveto
+35391 51032 lineto
+stroke
+newpath
+34809 50952 moveto
+35311 50952 lineto
+stroke
+newpath
+34809 50872 moveto
+35231 50872 lineto
+stroke
+newpath
+34809 50792 moveto
+35151 50792 lineto
+stroke
+newpath
+34809 50712 moveto
+35071 50712 lineto
+stroke
+newpath
+34809 50632 moveto
+34991 50632 lineto
+stroke
+newpath
+34809 50552 moveto
+34934 50552 lineto
+stroke
+newpath
+34809 50472 moveto
+34900 50472 lineto
+stroke
+newpath
+34809 50392 moveto
+34884 50392 lineto
+stroke
+newpath
+34809 50312 moveto
+34883 50312 lineto
+stroke
+newpath
+34809 50232 moveto
+34883 50232 lineto
+stroke
+newpath
+34809 50152 moveto
+34883 50152 lineto
+stroke
+newpath
+34809 50072 moveto
+34883 50072 lineto
+stroke
+newpath
+34809 49992 moveto
+34883 49992 lineto
+stroke
+newpath
+34809 49912 moveto
+34883 49912 lineto
+stroke
+newpath
+34809 49832 moveto
+34843 49832 lineto
+stroke
+newpath
+35031 54453 moveto
+35031 54453 lineto
+stroke
+newpath
+34951 54373 moveto
+36110 54373 lineto
+stroke
+newpath
+34871 54293 moveto
+36202 54293 lineto
+stroke
+newpath
+34791 54213 moveto
+36382 54213 lineto
+stroke
+newpath
+34711 54133 moveto
+37422 54133 lineto
+stroke
+newpath
+34631 54053 moveto
+37502 54053 lineto
+stroke
+newpath
+34551 53973 moveto
+37582 53973 lineto
+stroke
+newpath
+34471 53893 moveto
+37662 53893 lineto
+stroke
+newpath
+34391 53813 moveto
+37742 53813 lineto
+stroke
+newpath
+34311 53733 moveto
+37822 53733 lineto
+stroke
+newpath
+34231 53653 moveto
+37902 53653 lineto
+stroke
+newpath
+34151 53573 moveto
+37982 53573 lineto
+stroke
+newpath
+34257 53493 moveto
+38062 53493 lineto
+stroke
+newpath
+34366 53413 moveto
+38142 53413 lineto
+stroke
+newpath
+34446 53333 moveto
+38222 53333 lineto
+stroke
+newpath
+37326 53253 moveto
+38302 53253 lineto
+stroke
+newpath
+37578 53173 moveto
+38382 53173 lineto
+stroke
+newpath
+37737 53093 moveto
+38462 53093 lineto
+stroke
+newpath
+37817 53013 moveto
+38542 53013 lineto
+stroke
+newpath
+37869 52933 moveto
+38622 52933 lineto
+stroke
+newpath
+37902 52853 moveto
+38702 52853 lineto
+stroke
+newpath
+37923 52773 moveto
+38782 52773 lineto
+stroke
+newpath
+37923 52693 moveto
+38862 52693 lineto
+stroke
+newpath
+37923 52613 moveto
+38927 52613 lineto
+stroke
+newpath
+37891 52533 moveto
+38927 52533 lineto
+stroke
+newpath
+37858 52453 moveto
+38927 52453 lineto
+stroke
+newpath
+37792 52373 moveto
+38927 52373 lineto
+stroke
+newpath
+37712 52293 moveto
+38927 52293 lineto
+stroke
+newpath
+37373 52213 moveto
+38703 52213 lineto
+stroke
+newpath
+38915 52213 moveto
+38927 52213 lineto
+stroke
+newpath
+37389 52133 moveto
+38523 52133 lineto
+stroke
+newpath
+37389 52053 moveto
+38443 52053 lineto
+stroke
+newpath
+37385 51973 moveto
+38382 51973 lineto
+stroke
+newpath
+37352 51893 moveto
+38349 51893 lineto
+stroke
+newpath
+37319 51813 moveto
+38322 51813 lineto
+stroke
+newpath
+37245 51733 moveto
+38322 51733 lineto
+stroke
+newpath
+37146 51653 moveto
+38264 51653 lineto
+stroke
+newpath
+36863 51573 moveto
+38184 51573 lineto
+stroke
+newpath
+36783 51493 moveto
+38104 51493 lineto
+stroke
+newpath
+36703 51413 moveto
+38024 51413 lineto
+stroke
+newpath
+36623 51333 moveto
+37944 51333 lineto
+stroke
+newpath
+36543 51253 moveto
+37864 51253 lineto
+stroke
+newpath
+36463 51173 moveto
+37784 51173 lineto
+stroke
+newpath
+36383 51093 moveto
+37704 51093 lineto
+stroke
+newpath
+36303 51013 moveto
+37624 51013 lineto
+stroke
+newpath
+36223 50933 moveto
+37544 50933 lineto
+stroke
+newpath
+36143 50853 moveto
+37464 50853 lineto
+stroke
+newpath
+36063 50773 moveto
+37384 50773 lineto
+stroke
+newpath
+35983 50693 moveto
+37304 50693 lineto
+stroke
+newpath
+35903 50613 moveto
+37224 50613 lineto
+stroke
+newpath
+35823 50533 moveto
+37144 50533 lineto
+stroke
+newpath
+35743 50453 moveto
+37064 50453 lineto
+stroke
+newpath
+35663 50373 moveto
+36984 50373 lineto
+stroke
+newpath
+35583 50293 moveto
+36904 50293 lineto
+stroke
+newpath
+35541 50213 moveto
+35639 50213 lineto
+stroke
+newpath
+35977 50213 moveto
+36824 50213 lineto
+stroke
+newpath
+36119 50133 moveto
+36744 50133 lineto
+stroke
+newpath
+33464 51609 moveto
+33464 51609 lineto
+stroke
+newpath
+33384 51529 moveto
+33478 51529 lineto
+stroke
+newpath
+33330 51449 moveto
+33398 51449 lineto
+stroke
+newpath
+33465 52608 moveto
+33465 52608 lineto
+stroke
+newpath
+33385 52528 moveto
+33545 52528 lineto
+stroke
+newpath
+33331 52448 moveto
+33597 52448 lineto
+stroke
+newpath
+33411 52368 moveto
+33517 52368 lineto
+stroke
+newpath
+38780 55389 moveto
+38780 55389 lineto
+stroke
+newpath
+38700 55309 moveto
+38859 55309 lineto
+stroke
+newpath
+38621 55229 moveto
+38940 55229 lineto
+stroke
+newpath
+38533 55149 moveto
+39132 55149 lineto
+stroke
+newpath
+38453 55069 moveto
+39378 55069 lineto
+stroke
+newpath
+38373 54989 moveto
+39378 54989 lineto
+stroke
+newpath
+38293 54909 moveto
+39378 54909 lineto
+stroke
+newpath
+38213 54829 moveto
+39378 54829 lineto
+stroke
+newpath
+38133 54749 moveto
+39378 54749 lineto
+stroke
+newpath
+38053 54669 moveto
+39378 54669 lineto
+stroke
+newpath
+37973 54589 moveto
+39378 54589 lineto
+stroke
+newpath
+37978 54509 moveto
+39378 54509 lineto
+stroke
+newpath
+38058 54429 moveto
+39378 54429 lineto
+stroke
+newpath
+38138 54349 moveto
+39378 54349 lineto
+stroke
+newpath
+38218 54269 moveto
+39378 54269 lineto
+stroke
+newpath
+38298 54189 moveto
+39378 54189 lineto
+stroke
+newpath
+38378 54109 moveto
+39378 54109 lineto
+stroke
+newpath
+38458 54029 moveto
+39378 54029 lineto
+stroke
+newpath
+38538 53949 moveto
+39378 53949 lineto
+stroke
+newpath
+38618 53869 moveto
+39378 53869 lineto
+stroke
+newpath
+38698 53789 moveto
+39378 53789 lineto
+stroke
+newpath
+38778 53709 moveto
+39378 53709 lineto
+stroke
+newpath
+38858 53629 moveto
+39378 53629 lineto
+stroke
+newpath
+38938 53549 moveto
+39378 53549 lineto
+stroke
+newpath
+39018 53469 moveto
+39378 53469 lineto
+stroke
+newpath
+39098 53389 moveto
+39378 53389 lineto
+stroke
+newpath
+39178 53309 moveto
+39378 53309 lineto
+stroke
+newpath
+39258 53229 moveto
+39378 53229 lineto
+stroke
+newpath
+39338 53149 moveto
+39378 53149 lineto
+stroke
+newpath
+28360 56385 moveto
+28688 56385 lineto
+stroke
+newpath
+28360 56305 moveto
+28587 56305 lineto
+stroke
+newpath
+31649 56305 moveto
+33662 56305 lineto
+stroke
+newpath
+28360 56225 moveto
+28544 56225 lineto
+stroke
+newpath
+31693 56225 moveto
+33742 56225 lineto
+stroke
+newpath
+28360 56145 moveto
+28531 56145 lineto
+stroke
+newpath
+31705 56145 moveto
+33822 56145 lineto
+stroke
+newpath
+28360 56065 moveto
+28531 56065 lineto
+stroke
+newpath
+31705 56065 moveto
+33902 56065 lineto
+stroke
+newpath
+28360 55985 moveto
+28531 55985 lineto
+stroke
+newpath
+31705 55985 moveto
+33936 55985 lineto
+stroke
+newpath
+28360 55905 moveto
+28531 55905 lineto
+stroke
+newpath
+31705 55905 moveto
+33936 55905 lineto
+stroke
+newpath
+28360 55825 moveto
+28531 55825 lineto
+stroke
+newpath
+31705 55825 moveto
+33961 55825 lineto
+stroke
+newpath
+28360 55745 moveto
+28531 55745 lineto
+stroke
+newpath
+31705 55745 moveto
+33993 55745 lineto
+stroke
+newpath
+28360 55665 moveto
+28531 55665 lineto
+stroke
+newpath
+31705 55665 moveto
+34026 55665 lineto
+stroke
+newpath
+28360 55585 moveto
+28531 55585 lineto
+stroke
+newpath
+31705 55585 moveto
+34106 55585 lineto
+stroke
+newpath
+34972 55585 moveto
+35080 55585 lineto
+stroke
+newpath
+28360 55505 moveto
+28531 55505 lineto
+stroke
+newpath
+31705 55505 moveto
+34186 55505 lineto
+stroke
+newpath
+34892 55505 moveto
+34979 55505 lineto
+stroke
+newpath
+28360 55425 moveto
+28531 55425 lineto
+stroke
+newpath
+31705 55425 moveto
+34362 55425 lineto
+stroke
+newpath
+34714 55425 moveto
+34943 55425 lineto
+stroke
+newpath
+28360 55345 moveto
+28549 55345 lineto
+stroke
+newpath
+29718 55345 moveto
+30517 55345 lineto
+stroke
+newpath
+31687 55345 moveto
+34799 55345 lineto
+stroke
+newpath
+28360 55265 moveto
+28601 55265 lineto
+stroke
+newpath
+29667 55265 moveto
+30569 55265 lineto
+stroke
+newpath
+31635 55265 moveto
+34693 55265 lineto
+stroke
+newpath
+28360 55185 moveto
+34613 55185 lineto
+stroke
+newpath
+28360 55105 moveto
+34533 55105 lineto
+stroke
+newpath
+28418 55025 moveto
+34453 55025 lineto
+stroke
+newpath
+28498 54945 moveto
+34373 54945 lineto
+stroke
+newpath
+28578 54865 moveto
+34293 54865 lineto
+stroke
+newpath
+28658 54785 moveto
+34213 54785 lineto
+stroke
+newpath
+28738 54705 moveto
+34133 54705 lineto
+stroke
+newpath
+28818 54625 moveto
+34053 54625 lineto
+stroke
+newpath
+28898 54545 moveto
+33973 54545 lineto
+stroke
+newpath
+28978 54465 moveto
+33893 54465 lineto
+stroke
+newpath
+29058 54385 moveto
+33813 54385 lineto
+stroke
+newpath
+29138 54305 moveto
+33733 54305 lineto
+stroke
+newpath
+29218 54225 moveto
+33653 54225 lineto
+stroke
+newpath
+29298 54145 moveto
+33573 54145 lineto
+stroke
+newpath
+29552 54065 moveto
+33493 54065 lineto
+stroke
+newpath
+29654 53985 moveto
+33413 53985 lineto
+stroke
+newpath
+29734 53905 moveto
+33333 53905 lineto
+stroke
+newpath
+29814 53825 moveto
+33253 53825 lineto
+stroke
+newpath
+29894 53745 moveto
+33173 53745 lineto
+stroke
+newpath
+29974 53665 moveto
+33093 53665 lineto
+stroke
+newpath
+30054 53585 moveto
+33013 53585 lineto
+stroke
+newpath
+30134 53505 moveto
+32703 53505 lineto
+stroke
+newpath
+30214 53425 moveto
+32576 53425 lineto
+stroke
+newpath
+36055 55676 moveto
+36444 55676 lineto
+stroke
+newpath
+35982 55596 moveto
+36524 55596 lineto
+stroke
+newpath
+36088 55516 moveto
+36604 55516 lineto
+stroke
+newpath
+36131 55436 moveto
+36684 55436 lineto
+stroke
+newpath
+36248 55356 moveto
+36732 55356 lineto
+stroke
+newpath
+36359 55276 moveto
+36732 55276 lineto
+stroke
+newpath
+36439 55196 moveto
+36763 55196 lineto
+stroke
+newpath
+36519 55116 moveto
+36796 55116 lineto
+stroke
+newpath
+36599 55036 moveto
+36862 55036 lineto
+stroke
+newpath
+41917 44656 moveto
+41917 44991 lineto
+41955 45082 lineto
+42025 45152 lineto
+42117 45190 lineto
+42208 45190 lineto
+42216 45227 lineto
+42287 45334 lineto
+42961 46008 lineto
+42961 47329 lineto
+42764 47526 lineto
+42764 47370 lineto
+42690 47191 lineto
+42553 47055 lineto
+42374 46981 lineto
+42185 46981 lineto
+41888 46684 lineto
+41888 44685 lineto
+41917 44656 lineto
+poly0
+newpath
+27047 58773 moveto
+46182 58773 lineto
+stroke
+newpath
+27047 58693 moveto
+46182 58693 lineto
+stroke
+newpath
+27047 58613 moveto
+46182 58613 lineto
+stroke
+newpath
+27047 58533 moveto
+45302 58533 lineto
+stroke
+newpath
+45643 58533 moveto
+46182 58533 lineto
+stroke
+newpath
+27047 58453 moveto
+45214 58453 lineto
+stroke
+newpath
+45731 58453 moveto
+46182 58453 lineto
+stroke
+newpath
+27047 58373 moveto
+45167 58373 lineto
+stroke
+newpath
+45778 58373 moveto
+46182 58373 lineto
+stroke
+newpath
+27047 58293 moveto
+45151 58293 lineto
+stroke
+newpath
+45794 58293 moveto
+46182 58293 lineto
+stroke
+newpath
+27047 58213 moveto
+45131 58213 lineto
+stroke
+newpath
+45813 58213 moveto
+46182 58213 lineto
+stroke
+newpath
+27047 58133 moveto
+44900 58133 lineto
+stroke
+newpath
+46046 58133 moveto
+46182 58133 lineto
+stroke
+newpath
+27047 58053 moveto
+44817 58053 lineto
+stroke
+newpath
+46129 58053 moveto
+46182 58053 lineto
+stroke
+newpath
+27047 57973 moveto
+44773 57973 lineto
+stroke
+newpath
+46173 57973 moveto
+46182 57973 lineto
+stroke
+newpath
+27047 57893 moveto
+44757 57893 lineto
+stroke
+newpath
+27047 57813 moveto
+44761 57813 lineto
+stroke
+newpath
+27047 57733 moveto
+44780 57733 lineto
+stroke
+newpath
+46164 57733 moveto
+46182 57733 lineto
+stroke
+newpath
+27047 57653 moveto
+44834 57653 lineto
+stroke
+newpath
+46110 57653 moveto
+46182 57653 lineto
+stroke
+newpath
+27047 57573 moveto
+44938 57573 lineto
+stroke
+newpath
+46006 57573 moveto
+46182 57573 lineto
+stroke
+newpath
+27047 57493 moveto
+45144 57493 lineto
+stroke
+newpath
+45800 57493 moveto
+46182 57493 lineto
+stroke
+newpath
+27047 57413 moveto
+45155 57413 lineto
+stroke
+newpath
+45788 57413 moveto
+46182 57413 lineto
+stroke
+newpath
+27047 57333 moveto
+28864 57333 lineto
+stroke
+newpath
+29404 57333 moveto
+30832 57333 lineto
+stroke
+newpath
+31372 57333 moveto
+45177 57333 lineto
+stroke
+newpath
+45766 57333 moveto
+46182 57333 lineto
+stroke
+newpath
+27047 57253 moveto
+28742 57253 lineto
+stroke
+newpath
+29526 57253 moveto
+30710 57253 lineto
+stroke
+newpath
+31494 57253 moveto
+45231 57253 lineto
+stroke
+newpath
+45712 57253 moveto
+46182 57253 lineto
+stroke
+newpath
+27047 57173 moveto
+27928 57173 lineto
+stroke
+newpath
+29606 57173 moveto
+30630 57173 lineto
+stroke
+newpath
+33888 57173 moveto
+45340 57173 lineto
+stroke
+newpath
+45603 57173 moveto
+46182 57173 lineto
+stroke
+newpath
+27047 57093 moveto
+27791 57093 lineto
+stroke
+newpath
+29663 57093 moveto
+30574 57093 lineto
+stroke
+newpath
+34021 57093 moveto
+46182 57093 lineto
+stroke
+newpath
+27047 57013 moveto
+27704 57013 lineto
+stroke
+newpath
+29696 57013 moveto
+30541 57013 lineto
+stroke
+newpath
+34107 57013 moveto
+46182 57013 lineto
+stroke
+newpath
+27047 56933 moveto
+27638 56933 lineto
+stroke
+newpath
+29728 56933 moveto
+30508 56933 lineto
+stroke
+newpath
+34187 56933 moveto
+46182 56933 lineto
+stroke
+newpath
+27047 56853 moveto
+27585 56853 lineto
+stroke
+newpath
+29737 56853 moveto
+30499 56853 lineto
+stroke
+newpath
+34267 56853 moveto
+46182 56853 lineto
+stroke
+newpath
+27047 56773 moveto
+27564 56773 lineto
+stroke
+newpath
+29737 56773 moveto
+30499 56773 lineto
+stroke
+newpath
+34347 56773 moveto
+46182 56773 lineto
+stroke
+newpath
+27047 56693 moveto
+27548 56693 lineto
+stroke
+newpath
+29737 56693 moveto
+30499 56693 lineto
+stroke
+newpath
+34427 56693 moveto
+46182 56693 lineto
+stroke
+newpath
+27047 56613 moveto
+27546 56613 lineto
+stroke
+newpath
+29712 56613 moveto
+30523 56613 lineto
+stroke
+newpath
+34507 56613 moveto
+46182 56613 lineto
+stroke
+newpath
+27047 56533 moveto
+27546 56533 lineto
+stroke
+newpath
+29679 56533 moveto
+30556 56533 lineto
+stroke
+newpath
+34841 56533 moveto
+35238 56533 lineto
+stroke
+newpath
+35841 56533 moveto
+46182 56533 lineto
+stroke
+newpath
+27047 56453 moveto
+27546 56453 lineto
+stroke
+newpath
+29646 56453 moveto
+30589 56453 lineto
+stroke
+newpath
+34945 56453 moveto
+35134 56453 lineto
+stroke
+newpath
+35944 56453 moveto
+46182 56453 lineto
+stroke
+newpath
+27047 56373 moveto
+27546 56373 lineto
+stroke
+newpath
+29591 56373 moveto
+30645 56373 lineto
+stroke
+newpath
+35025 56373 moveto
+35054 56373 lineto
+stroke
+newpath
+36024 56373 moveto
+46182 56373 lineto
+stroke
+newpath
+27047 56293 moveto
+27546 56293 lineto
+stroke
+newpath
+29693 56293 moveto
+30543 56293 lineto
+stroke
+newpath
+36732 56293 moveto
+38037 56293 lineto
+stroke
+newpath
+38524 56293 moveto
+39037 56293 lineto
+stroke
+newpath
+39524 56293 moveto
+46182 56293 lineto
+stroke
+newpath
+27047 56213 moveto
+27546 56213 lineto
+stroke
+newpath
+29729 56213 moveto
+30506 56213 lineto
+stroke
+newpath
+36839 56213 moveto
+37899 56213 lineto
+stroke
+newpath
+38661 56213 moveto
+38899 56213 lineto
+stroke
+newpath
+39661 56213 moveto
+46182 56213 lineto
+stroke
+newpath
+27047 56133 moveto
+27546 56133 lineto
+stroke
+newpath
+36919 56133 moveto
+37819 56133 lineto
+stroke
+newpath
+38741 56133 moveto
+38819 56133 lineto
+stroke
+newpath
+39741 56133 moveto
+46182 56133 lineto
+stroke
+newpath
+27047 56053 moveto
+27546 56053 lineto
+stroke
+newpath
+36999 56053 moveto
+37757 56053 lineto
+stroke
+newpath
+39804 56053 moveto
+46182 56053 lineto
+stroke
+newpath
+27047 55973 moveto
+27546 55973 lineto
+stroke
+newpath
+37079 55973 moveto
+37724 55973 lineto
+stroke
+newpath
+39837 55973 moveto
+46182 55973 lineto
+stroke
+newpath
+27047 55893 moveto
+27546 55893 lineto
+stroke
+newpath
+37159 55893 moveto
+37690 55893 lineto
+stroke
+newpath
+39870 55893 moveto
+46182 55893 lineto
+stroke
+newpath
+27047 55813 moveto
+27546 55813 lineto
+stroke
+newpath
+37415 55813 moveto
+37677 55813 lineto
+stroke
+newpath
+39883 55813 moveto
+46182 55813 lineto
+stroke
+newpath
+27047 55733 moveto
+27546 55733 lineto
+stroke
+newpath
+37541 55733 moveto
+37677 55733 lineto
+stroke
+newpath
+39883 55733 moveto
+46182 55733 lineto
+stroke
+newpath
+27047 55653 moveto
+27546 55653 lineto
+stroke
+newpath
+37621 55653 moveto
+37677 55653 lineto
+stroke
+newpath
+39883 55653 moveto
+46182 55653 lineto
+stroke
+newpath
+27047 55573 moveto
+27546 55573 lineto
+stroke
+newpath
+37659 55573 moveto
+37696 55573 lineto
+stroke
+newpath
+39914 55573 moveto
+46182 55573 lineto
+stroke
+newpath
+27047 55493 moveto
+27546 55493 lineto
+stroke
+newpath
+37692 55493 moveto
+37725 55493 lineto
+stroke
+newpath
+39976 55493 moveto
+46182 55493 lineto
+stroke
+newpath
+27047 55413 moveto
+27546 55413 lineto
+stroke
+newpath
+40017 55413 moveto
+46182 55413 lineto
+stroke
+newpath
+27047 55333 moveto
+27546 55333 lineto
+stroke
+newpath
+40032 55333 moveto
+46182 55333 lineto
+stroke
+newpath
+27047 55253 moveto
+27546 55253 lineto
+stroke
+newpath
+40036 55253 moveto
+46182 55253 lineto
+stroke
+newpath
+27047 55173 moveto
+27546 55173 lineto
+stroke
+newpath
+40036 55173 moveto
+46182 55173 lineto
+stroke
+newpath
+27047 55093 moveto
+27546 55093 lineto
+stroke
+newpath
+40036 55093 moveto
+46182 55093 lineto
+stroke
+newpath
+27047 55013 moveto
+27546 55013 lineto
+stroke
+newpath
+40036 55013 moveto
+46182 55013 lineto
+stroke
+newpath
+27047 54933 moveto
+27546 54933 lineto
+stroke
+newpath
+40036 54933 moveto
+46182 54933 lineto
+stroke
+newpath
+27047 54853 moveto
+27558 54853 lineto
+stroke
+newpath
+40036 54853 moveto
+46182 54853 lineto
+stroke
+newpath
+27047 54773 moveto
+27574 54773 lineto
+stroke
+newpath
+40036 54773 moveto
+46182 54773 lineto
+stroke
+newpath
+27047 54693 moveto
+27620 54693 lineto
+stroke
+newpath
+40036 54693 moveto
+46182 54693 lineto
+stroke
+newpath
+27047 54613 moveto
+27678 54613 lineto
+stroke
+newpath
+40036 54613 moveto
+46182 54613 lineto
+stroke
+newpath
+27047 54533 moveto
+27758 54533 lineto
+stroke
+newpath
+40036 54533 moveto
+46182 54533 lineto
+stroke
+newpath
+27047 54453 moveto
+27838 54453 lineto
+stroke
+newpath
+40036 54453 moveto
+46182 54453 lineto
+stroke
+newpath
+27047 54373 moveto
+27918 54373 lineto
+stroke
+newpath
+40036 54373 moveto
+46182 54373 lineto
+stroke
+newpath
+27047 54293 moveto
+27998 54293 lineto
+stroke
+newpath
+40036 54293 moveto
+46182 54293 lineto
+stroke
+newpath
+27047 54213 moveto
+28078 54213 lineto
+stroke
+newpath
+40036 54213 moveto
+46182 54213 lineto
+stroke
+newpath
+27047 54133 moveto
+28158 54133 lineto
+stroke
+newpath
+40036 54133 moveto
+46182 54133 lineto
+stroke
+newpath
+27047 54053 moveto
+28238 54053 lineto
+stroke
+newpath
+40036 54053 moveto
+46182 54053 lineto
+stroke
+newpath
+27047 53973 moveto
+28318 53973 lineto
+stroke
+newpath
+40036 53973 moveto
+46182 53973 lineto
+stroke
+newpath
+27047 53893 moveto
+28398 53893 lineto
+stroke
+newpath
+40036 53893 moveto
+46182 53893 lineto
+stroke
+newpath
+27047 53813 moveto
+28478 53813 lineto
+stroke
+newpath
+40036 53813 moveto
+46182 53813 lineto
+stroke
+newpath
+27047 53733 moveto
+28558 53733 lineto
+stroke
+newpath
+40036 53733 moveto
+46182 53733 lineto
+stroke
+newpath
+27047 53653 moveto
+28638 53653 lineto
+stroke
+newpath
+40036 53653 moveto
+46182 53653 lineto
+stroke
+newpath
+27047 53573 moveto
+28718 53573 lineto
+stroke
+newpath
+40036 53573 moveto
+46182 53573 lineto
+stroke
+newpath
+27047 53493 moveto
+28798 53493 lineto
+stroke
+newpath
+40036 53493 moveto
+46182 53493 lineto
+stroke
+newpath
+27047 53413 moveto
+28894 53413 lineto
+stroke
+newpath
+40036 53413 moveto
+46182 53413 lineto
+stroke
+newpath
+27047 53333 moveto
+29098 53333 lineto
+stroke
+newpath
+40036 53333 moveto
+46182 53333 lineto
+stroke
+newpath
+27047 53253 moveto
+29234 53253 lineto
+stroke
+newpath
+40036 53253 moveto
+46182 53253 lineto
+stroke
+newpath
+27047 53173 moveto
+29314 53173 lineto
+stroke
+newpath
+40036 53173 moveto
+46182 53173 lineto
+stroke
+newpath
+27047 53093 moveto
+29394 53093 lineto
+stroke
+newpath
+40036 53093 moveto
+46182 53093 lineto
+stroke
+newpath
+27047 53013 moveto
+29474 53013 lineto
+stroke
+newpath
+40036 53013 moveto
+46182 53013 lineto
+stroke
+newpath
+27047 52933 moveto
+29554 52933 lineto
+stroke
+newpath
+40036 52933 moveto
+46182 52933 lineto
+stroke
+newpath
+27047 52853 moveto
+29634 52853 lineto
+stroke
+newpath
+40036 52853 moveto
+46182 52853 lineto
+stroke
+newpath
+27047 52773 moveto
+29714 52773 lineto
+stroke
+newpath
+40036 52773 moveto
+46182 52773 lineto
+stroke
+newpath
+27047 52693 moveto
+29794 52693 lineto
+stroke
+newpath
+40036 52693 moveto
+46182 52693 lineto
+stroke
+newpath
+27047 52613 moveto
+29904 52613 lineto
+stroke
+newpath
+40036 52613 moveto
+46182 52613 lineto
+stroke
+newpath
+27047 52533 moveto
+32540 52533 lineto
+stroke
+newpath
+40036 52533 moveto
+46182 52533 lineto
+stroke
+newpath
+27047 52453 moveto
+32604 52453 lineto
+stroke
+newpath
+40036 52453 moveto
+46182 52453 lineto
+stroke
+newpath
+27047 52373 moveto
+32524 52373 lineto
+stroke
+newpath
+40036 52373 moveto
+46182 52373 lineto
+stroke
+newpath
+27047 52293 moveto
+32450 52293 lineto
+stroke
+newpath
+40036 52293 moveto
+46182 52293 lineto
+stroke
+newpath
+27047 52213 moveto
+32417 52213 lineto
+stroke
+newpath
+40036 52213 moveto
+46182 52213 lineto
+stroke
+newpath
+27047 52133 moveto
+32384 52133 lineto
+stroke
+newpath
+40036 52133 moveto
+46182 52133 lineto
+stroke
+newpath
+27047 52053 moveto
+32362 52053 lineto
+stroke
+newpath
+40036 52053 moveto
+46182 52053 lineto
+stroke
+newpath
+27047 51973 moveto
+32362 51973 lineto
+stroke
+newpath
+40081 51973 moveto
+46182 51973 lineto
+stroke
+newpath
+27047 51893 moveto
+32362 51893 lineto
+stroke
+newpath
+40137 51893 moveto
+46182 51893 lineto
+stroke
+newpath
+27047 51813 moveto
+32351 51813 lineto
+stroke
+newpath
+40170 51813 moveto
+46182 51813 lineto
+stroke
+newpath
+27047 51733 moveto
+32271 51733 lineto
+stroke
+newpath
+40194 51733 moveto
+46182 51733 lineto
+stroke
+newpath
+27047 51653 moveto
+32191 51653 lineto
+stroke
+newpath
+40194 51653 moveto
+46182 51653 lineto
+stroke
+newpath
+27047 51573 moveto
+32136 51573 lineto
+stroke
+newpath
+40194 51573 moveto
+46182 51573 lineto
+stroke
+newpath
+27047 51493 moveto
+32105 51493 lineto
+stroke
+newpath
+40165 51493 moveto
+46182 51493 lineto
+stroke
+newpath
+27047 51413 moveto
+32088 51413 lineto
+stroke
+newpath
+40132 51413 moveto
+46182 51413 lineto
+stroke
+newpath
+27047 51333 moveto
+32089 51333 lineto
+stroke
+newpath
+40070 51333 moveto
+46182 51333 lineto
+stroke
+newpath
+27047 51253 moveto
+32089 51253 lineto
+stroke
+newpath
+39990 51253 moveto
+46182 51253 lineto
+stroke
+newpath
+27047 51173 moveto
+32089 51173 lineto
+stroke
+newpath
+39585 51173 moveto
+39608 51173 lineto
+stroke
+newpath
+39806 51173 moveto
+46182 51173 lineto
+stroke
+newpath
+27047 51093 moveto
+32089 51093 lineto
+stroke
+newpath
+39585 51093 moveto
+46182 51093 lineto
+stroke
+newpath
+27047 51013 moveto
+32089 51013 lineto
+stroke
+newpath
+39646 51013 moveto
+46182 51013 lineto
+stroke
+newpath
+27047 50933 moveto
+32089 50933 lineto
+stroke
+newpath
+39726 50933 moveto
+46182 50933 lineto
+stroke
+newpath
+27047 50853 moveto
+32089 50853 lineto
+stroke
+newpath
+39806 50853 moveto
+46182 50853 lineto
+stroke
+newpath
+27047 50773 moveto
+32089 50773 lineto
+stroke
+newpath
+39886 50773 moveto
+46182 50773 lineto
+stroke
+newpath
+27047 50693 moveto
+32089 50693 lineto
+stroke
+newpath
+39966 50693 moveto
+46182 50693 lineto
+stroke
+newpath
+27047 50613 moveto
+32089 50613 lineto
+stroke
+newpath
+40046 50613 moveto
+46182 50613 lineto
+stroke
+newpath
+27047 50533 moveto
+32089 50533 lineto
+stroke
+newpath
+40126 50533 moveto
+46182 50533 lineto
+stroke
+newpath
+27047 50453 moveto
+32089 50453 lineto
+stroke
+newpath
+40206 50453 moveto
+46182 50453 lineto
+stroke
+newpath
+27047 50373 moveto
+32089 50373 lineto
+stroke
+newpath
+40286 50373 moveto
+46182 50373 lineto
+stroke
+newpath
+27047 50293 moveto
+32089 50293 lineto
+stroke
+newpath
+40366 50293 moveto
+46182 50293 lineto
+stroke
+newpath
+27047 50213 moveto
+32089 50213 lineto
+stroke
+newpath
+40446 50213 moveto
+46182 50213 lineto
+stroke
+newpath
+27047 50133 moveto
+32089 50133 lineto
+stroke
+newpath
+40526 50133 moveto
+46182 50133 lineto
+stroke
+newpath
+27047 50053 moveto
+32089 50053 lineto
+stroke
+newpath
+40606 50053 moveto
+46182 50053 lineto
+stroke
+newpath
+27047 49973 moveto
+32089 49973 lineto
+stroke
+newpath
+40686 49973 moveto
+46182 49973 lineto
+stroke
+newpath
+27047 49893 moveto
+32089 49893 lineto
+stroke
+newpath
+40766 49893 moveto
+46182 49893 lineto
+stroke
+newpath
+27047 49813 moveto
+32093 49813 lineto
+stroke
+newpath
+40846 49813 moveto
+46182 49813 lineto
+stroke
+newpath
+27047 49733 moveto
+32110 49733 lineto
+stroke
+newpath
+40926 49733 moveto
+46182 49733 lineto
+stroke
+newpath
+27047 49653 moveto
+32155 49653 lineto
+stroke
+newpath
+41006 49653 moveto
+46182 49653 lineto
+stroke
+newpath
+27047 49573 moveto
+32221 49573 lineto
+stroke
+newpath
+41086 49573 moveto
+46182 49573 lineto
+stroke
+newpath
+27047 49493 moveto
+32301 49493 lineto
+stroke
+newpath
+41166 49493 moveto
+46182 49493 lineto
+stroke
+newpath
+27047 49413 moveto
+32381 49413 lineto
+stroke
+newpath
+41246 49413 moveto
+46182 49413 lineto
+stroke
+newpath
+27047 49333 moveto
+32461 49333 lineto
+stroke
+newpath
+41326 49333 moveto
+46182 49333 lineto
+stroke
+newpath
+27047 49253 moveto
+32541 49253 lineto
+stroke
+newpath
+41406 49253 moveto
+46182 49253 lineto
+stroke
+newpath
+27047 49173 moveto
+32621 49173 lineto
+stroke
+newpath
+41486 49173 moveto
+46182 49173 lineto
+stroke
+newpath
+27047 49093 moveto
+32701 49093 lineto
+stroke
+newpath
+41566 49093 moveto
+46182 49093 lineto
+stroke
+newpath
+27047 49013 moveto
+32781 49013 lineto
+stroke
+newpath
+41646 49013 moveto
+46182 49013 lineto
+stroke
+newpath
+27047 48933 moveto
+32861 48933 lineto
+stroke
+newpath
+41726 48933 moveto
+46182 48933 lineto
+stroke
+newpath
+27047 48853 moveto
+32941 48853 lineto
+stroke
+newpath
+41806 48853 moveto
+46182 48853 lineto
+stroke
+newpath
+27047 48773 moveto
+33021 48773 lineto
+stroke
+newpath
+41886 48773 moveto
+42111 48773 lineto
+stroke
+newpath
+42670 48773 moveto
+46182 48773 lineto
+stroke
+newpath
+27047 48693 moveto
+33101 48693 lineto
+stroke
+newpath
+41966 48693 moveto
+42030 48693 lineto
+stroke
+newpath
+42750 48693 moveto
+46182 48693 lineto
+stroke
+newpath
+27047 48613 moveto
+33181 48613 lineto
+stroke
+newpath
+42814 48613 moveto
+46182 48613 lineto
+stroke
+newpath
+27047 48533 moveto
+33261 48533 lineto
+stroke
+newpath
+42847 48533 moveto
+46182 48533 lineto
+stroke
+newpath
+27047 48453 moveto
+33341 48453 lineto
+stroke
+newpath
+42876 48453 moveto
+46182 48453 lineto
+stroke
+newpath
+27047 48373 moveto
+33421 48373 lineto
+stroke
+newpath
+42876 48373 moveto
+46182 48373 lineto
+stroke
+newpath
+27047 48293 moveto
+33501 48293 lineto
+stroke
+newpath
+42928 48293 moveto
+46182 48293 lineto
+stroke
+newpath
+27047 48213 moveto
+33581 48213 lineto
+stroke
+newpath
+43008 48213 moveto
+46182 48213 lineto
+stroke
+newpath
+27047 48133 moveto
+33661 48133 lineto
+stroke
+newpath
+43088 48133 moveto
+46182 48133 lineto
+stroke
+newpath
+27047 48053 moveto
+33741 48053 lineto
+stroke
+newpath
+43168 48053 moveto
+46182 48053 lineto
+stroke
+newpath
+27047 47973 moveto
+33821 47973 lineto
+stroke
+newpath
+43248 47973 moveto
+46182 47973 lineto
+stroke
+newpath
+27047 47893 moveto
+33901 47893 lineto
+stroke
+newpath
+43328 47893 moveto
+46182 47893 lineto
+stroke
+newpath
+27047 47813 moveto
+33981 47813 lineto
+stroke
+newpath
+43408 47813 moveto
+46182 47813 lineto
+stroke
+newpath
+27047 47733 moveto
+34061 47733 lineto
+stroke
+newpath
+43488 47733 moveto
+46182 47733 lineto
+stroke
+newpath
+27047 47653 moveto
+34141 47653 lineto
+stroke
+newpath
+43553 47653 moveto
+46182 47653 lineto
+stroke
+newpath
+27047 47573 moveto
+34221 47573 lineto
+stroke
+newpath
+43598 47573 moveto
+46182 47573 lineto
+stroke
+newpath
+27047 47493 moveto
+34301 47493 lineto
+stroke
+newpath
+43613 47493 moveto
+46182 47493 lineto
+stroke
+newpath
+27047 47413 moveto
+34381 47413 lineto
+stroke
+newpath
+43619 47413 moveto
+46182 47413 lineto
+stroke
+newpath
+27047 47333 moveto
+34461 47333 lineto
+stroke
+newpath
+43619 47333 moveto
+46182 47333 lineto
+stroke
+newpath
+27047 47253 moveto
+34541 47253 lineto
+stroke
+newpath
+43619 47253 moveto
+46182 47253 lineto
+stroke
+newpath
+27047 47173 moveto
+34621 47173 lineto
+stroke
+newpath
+43619 47173 moveto
+46182 47173 lineto
+stroke
+newpath
+27047 47093 moveto
+34701 47093 lineto
+stroke
+newpath
+43619 47093 moveto
+46182 47093 lineto
+stroke
+newpath
+27047 47013 moveto
+34781 47013 lineto
+stroke
+newpath
+43619 47013 moveto
+46182 47013 lineto
+stroke
+newpath
+27047 46933 moveto
+32994 46933 lineto
+stroke
+newpath
+33308 46933 moveto
+34861 46933 lineto
+stroke
+newpath
+43619 46933 moveto
+46182 46933 lineto
+stroke
+newpath
+27047 46853 moveto
+32844 46853 lineto
+stroke
+newpath
+33457 46853 moveto
+34941 46853 lineto
+stroke
+newpath
+43619 46853 moveto
+46182 46853 lineto
+stroke
+newpath
+27047 46773 moveto
+32764 46773 lineto
+stroke
+newpath
+33537 46773 moveto
+35021 46773 lineto
+stroke
+newpath
+43619 46773 moveto
+46182 46773 lineto
+stroke
+newpath
+27047 46693 moveto
+32716 46693 lineto
+stroke
+newpath
+33585 46693 moveto
+35101 46693 lineto
+stroke
+newpath
+41156 46693 moveto
+41230 46693 lineto
+stroke
+newpath
+43619 46693 moveto
+46182 46693 lineto
+stroke
+newpath
+27047 46613 moveto
+32683 46613 lineto
+stroke
+newpath
+33618 46613 moveto
+35181 46613 lineto
+stroke
+newpath
+41076 46613 moveto
+41230 46613 lineto
+stroke
+newpath
+43619 46613 moveto
+46182 46613 lineto
+stroke
+newpath
+27047 46533 moveto
+32664 46533 lineto
+stroke
+newpath
+33636 46533 moveto
+35261 46533 lineto
+stroke
+newpath
+40996 46533 moveto
+41230 46533 lineto
+stroke
+newpath
+43619 46533 moveto
+46182 46533 lineto
+stroke
+newpath
+27047 46453 moveto
+32664 46453 lineto
+stroke
+newpath
+33636 46453 moveto
+35341 46453 lineto
+stroke
+newpath
+40916 46453 moveto
+41230 46453 lineto
+stroke
+newpath
+43619 46453 moveto
+46182 46453 lineto
+stroke
+newpath
+27047 46373 moveto
+32665 46373 lineto
+stroke
+newpath
+33635 46373 moveto
+35421 46373 lineto
+stroke
+newpath
+40836 46373 moveto
+41230 46373 lineto
+stroke
+newpath
+43619 46373 moveto
+46182 46373 lineto
+stroke
+newpath
+27047 46293 moveto
+32698 46293 lineto
+stroke
+newpath
+33602 46293 moveto
+35501 46293 lineto
+stroke
+newpath
+40756 46293 moveto
+41230 46293 lineto
+stroke
+newpath
+43619 46293 moveto
+46182 46293 lineto
+stroke
+newpath
+27047 46213 moveto
+32731 46213 lineto
+stroke
+newpath
+33569 46213 moveto
+35581 46213 lineto
+stroke
+newpath
+40676 46213 moveto
+41230 46213 lineto
+stroke
+newpath
+43619 46213 moveto
+46182 46213 lineto
+stroke
+newpath
+27047 46133 moveto
+32802 46133 lineto
+stroke
+newpath
+33498 46133 moveto
+35661 46133 lineto
+stroke
+newpath
+40596 46133 moveto
+41230 46133 lineto
+stroke
+newpath
+43619 46133 moveto
+46182 46133 lineto
+stroke
+newpath
+27047 46053 moveto
+32821 46053 lineto
+stroke
+newpath
+33479 46053 moveto
+35741 46053 lineto
+stroke
+newpath
+40516 46053 moveto
+41230 46053 lineto
+stroke
+newpath
+43619 46053 moveto
+46182 46053 lineto
+stroke
+newpath
+27047 45973 moveto
+32821 45973 lineto
+stroke
+newpath
+33479 45973 moveto
+35821 45973 lineto
+stroke
+newpath
+40453 45973 moveto
+41230 45973 lineto
+stroke
+newpath
+43619 45973 moveto
+46182 45973 lineto
+stroke
+newpath
+27047 45893 moveto
+32821 45893 lineto
+stroke
+newpath
+33479 45893 moveto
+35901 45893 lineto
+stroke
+newpath
+40453 45893 moveto
+41230 45893 lineto
+stroke
+newpath
+43619 45893 moveto
+46182 45893 lineto
+stroke
+newpath
+27047 45813 moveto
+32821 45813 lineto
+stroke
+newpath
+33479 45813 moveto
+35981 45813 lineto
+stroke
+newpath
+40453 45813 moveto
+41230 45813 lineto
+stroke
+newpath
+43606 45813 moveto
+46182 45813 lineto
+stroke
+newpath
+27047 45733 moveto
+32821 45733 lineto
+stroke
+newpath
+33479 45733 moveto
+36061 45733 lineto
+stroke
+newpath
+40453 45733 moveto
+41230 45733 lineto
+stroke
+newpath
+43586 45733 moveto
+46182 45733 lineto
+stroke
+newpath
+27047 45653 moveto
+32821 45653 lineto
+stroke
+newpath
+33479 45653 moveto
+36141 45653 lineto
+stroke
+newpath
+40451 45653 moveto
+41230 45653 lineto
+stroke
+newpath
+43532 45653 moveto
+46182 45653 lineto
+stroke
+newpath
+27047 45573 moveto
+32821 45573 lineto
+stroke
+newpath
+33479 45573 moveto
+36221 45573 lineto
+stroke
+newpath
+40435 45573 moveto
+41230 45573 lineto
+stroke
+newpath
+43456 45573 moveto
+46182 45573 lineto
+stroke
+newpath
+27047 45493 moveto
+32821 45493 lineto
+stroke
+newpath
+33479 45493 moveto
+36301 45493 lineto
+stroke
+newpath
+40401 45493 moveto
+41230 45493 lineto
+stroke
+newpath
+43376 45493 moveto
+46182 45493 lineto
+stroke
+newpath
+27047 45413 moveto
+32821 45413 lineto
+stroke
+newpath
+33479 45413 moveto
+36381 45413 lineto
+stroke
+newpath
+40342 45413 moveto
+41230 45413 lineto
+stroke
+newpath
+43296 45413 moveto
+46182 45413 lineto
+stroke
+newpath
+27047 45333 moveto
+32821 45333 lineto
+stroke
+newpath
+33479 45333 moveto
+36461 45333 lineto
+stroke
+newpath
+40262 45333 moveto
+41230 45333 lineto
+stroke
+newpath
+43216 45333 moveto
+46182 45333 lineto
+stroke
+newpath
+27047 45253 moveto
+32821 45253 lineto
+stroke
+newpath
+33479 45253 moveto
+36541 45253 lineto
+stroke
+newpath
+40258 45253 moveto
+41230 45253 lineto
+stroke
+newpath
+43136 45253 moveto
+46182 45253 lineto
+stroke
+newpath
+27047 45173 moveto
+32821 45173 lineto
+stroke
+newpath
+33479 45173 moveto
+36621 45173 lineto
+stroke
+newpath
+40291 45173 moveto
+41230 45173 lineto
+stroke
+newpath
+43056 45173 moveto
+46182 45173 lineto
+stroke
+newpath
+27047 45093 moveto
+32821 45093 lineto
+stroke
+newpath
+33479 45093 moveto
+36701 45093 lineto
+stroke
+newpath
+40310 45093 moveto
+41230 45093 lineto
+stroke
+newpath
+43074 45093 moveto
+46182 45093 lineto
+stroke
+newpath
+27047 45013 moveto
+32821 45013 lineto
+stroke
+newpath
+33479 45013 moveto
+36781 45013 lineto
+stroke
+newpath
+40310 45013 moveto
+41230 45013 lineto
+stroke
+newpath
+43114 45013 moveto
+46182 45013 lineto
+stroke
+newpath
+27047 44933 moveto
+32821 44933 lineto
+stroke
+newpath
+33479 44933 moveto
+36861 44933 lineto
+stroke
+newpath
+40309 44933 moveto
+41230 44933 lineto
+stroke
+newpath
+43123 44933 moveto
+46182 44933 lineto
+stroke
+newpath
+27047 44853 moveto
+32821 44853 lineto
+stroke
+newpath
+33479 44853 moveto
+36941 44853 lineto
+stroke
+newpath
+40276 44853 moveto
+41230 44853 lineto
+stroke
+newpath
+43123 44853 moveto
+46182 44853 lineto
+stroke
+newpath
+27047 44773 moveto
+32821 44773 lineto
+stroke
+newpath
+33479 44773 moveto
+37033 44773 lineto
+stroke
+newpath
+40243 44773 moveto
+41230 44773 lineto
+stroke
+newpath
+43123 44773 moveto
+46182 44773 lineto
+stroke
+newpath
+27047 44693 moveto
+32821 44693 lineto
+stroke
+newpath
+33479 44693 moveto
+33990 44693 lineto
+stroke
+newpath
+34241 44693 moveto
+34990 44693 lineto
+stroke
+newpath
+35241 44693 moveto
+35990 44693 lineto
+stroke
+newpath
+36241 44693 moveto
+36990 44693 lineto
+stroke
+newpath
+37241 44693 moveto
+37990 44693 lineto
+stroke
+newpath
+38241 44693 moveto
+39474 44693 lineto
+stroke
+newpath
+40173 44693 moveto
+41230 44693 lineto
+stroke
+newpath
+43123 44693 moveto
+46182 44693 lineto
+stroke
+newpath
+27047 44613 moveto
+32821 44613 lineto
+stroke
+newpath
+33479 44613 moveto
+33795 44613 lineto
+stroke
+newpath
+34433 44613 moveto
+34795 44613 lineto
+stroke
+newpath
+35433 44613 moveto
+35795 44613 lineto
+stroke
+newpath
+36433 44613 moveto
+36795 44613 lineto
+stroke
+newpath
+37433 44613 moveto
+37795 44613 lineto
+stroke
+newpath
+38433 44613 moveto
+38580 44613 lineto
+stroke
+newpath
+40084 44613 moveto
+41230 44613 lineto
+stroke
+newpath
+43123 44613 moveto
+46182 44613 lineto
+stroke
+newpath
+27047 44533 moveto
+32821 44533 lineto
+stroke
+newpath
+33479 44533 moveto
+33700 44533 lineto
+stroke
+newpath
+34528 44533 moveto
+34700 44533 lineto
+stroke
+newpath
+35528 44533 moveto
+35700 44533 lineto
+stroke
+newpath
+36528 44533 moveto
+36700 44533 lineto
+stroke
+newpath
+37528 44533 moveto
+37700 44533 lineto
+stroke
+newpath
+39700 44533 moveto
+41232 44533 lineto
+stroke
+newpath
+43123 44533 moveto
+46182 44533 lineto
+stroke
+newpath
+27047 44453 moveto
+32821 44453 lineto
+stroke
+newpath
+33479 44453 moveto
+33620 44453 lineto
+stroke
+newpath
+34608 44453 moveto
+34620 44453 lineto
+stroke
+newpath
+35608 44453 moveto
+35620 44453 lineto
+stroke
+newpath
+36608 44453 moveto
+36620 44453 lineto
+stroke
+newpath
+37608 44453 moveto
+37619 44453 lineto
+stroke
+newpath
+39717 44453 moveto
+41248 44453 lineto
+stroke
+newpath
+43123 44453 moveto
+46182 44453 lineto
+stroke
+newpath
+27047 44373 moveto
+32821 44373 lineto
+stroke
+newpath
+33517 44373 moveto
+33574 44373 lineto
+stroke
+newpath
+39717 44373 moveto
+41287 44373 lineto
+stroke
+newpath
+43123 44373 moveto
+46182 44373 lineto
+stroke
+newpath
+27047 44293 moveto
+32821 44293 lineto
+stroke
+newpath
+39717 44293 moveto
+41348 44293 lineto
+stroke
+newpath
+43123 44293 moveto
+46182 44293 lineto
+stroke
+newpath
+27047 44213 moveto
+32832 44213 lineto
+stroke
+newpath
+39717 44213 moveto
+41428 44213 lineto
+stroke
+newpath
+43123 44213 moveto
+46182 44213 lineto
+stroke
+newpath
+27047 44133 moveto
+32855 44133 lineto
+stroke
+newpath
+39717 44133 moveto
+41508 44133 lineto
+stroke
+newpath
+43102 44133 moveto
+46182 44133 lineto
+stroke
+newpath
+27047 44053 moveto
+32909 44053 lineto
+stroke
+newpath
+39717 44053 moveto
+41588 44053 lineto
+stroke
+newpath
+43046 44053 moveto
+46182 44053 lineto
+stroke
+newpath
+27047 43973 moveto
+32985 43973 lineto
+stroke
+newpath
+39717 43973 moveto
+41668 43973 lineto
+stroke
+newpath
+42987 43973 moveto
+46182 43973 lineto
+stroke
+newpath
+27047 43893 moveto
+33065 43893 lineto
+stroke
+newpath
+39717 43893 moveto
+41748 43893 lineto
+stroke
+newpath
+43047 43893 moveto
+46182 43893 lineto
+stroke
+newpath
+27047 43813 moveto
+33145 43813 lineto
+stroke
+newpath
+39717 43813 moveto
+41828 43813 lineto
+stroke
+newpath
+43080 43813 moveto
+46182 43813 lineto
+stroke
+newpath
+27047 43733 moveto
+33225 43733 lineto
+stroke
+newpath
+39717 43733 moveto
+41908 43733 lineto
+stroke
+newpath
+43112 43733 moveto
+46182 43733 lineto
+stroke
+newpath
+27047 43653 moveto
+33305 43653 lineto
+stroke
+newpath
+34540 43653 moveto
+34688 43653 lineto
+stroke
+newpath
+35540 43653 moveto
+35688 43653 lineto
+stroke
+newpath
+36539 43653 moveto
+36687 43653 lineto
+stroke
+newpath
+37540 43653 moveto
+37688 43653 lineto
+stroke
+newpath
+39704 43653 moveto
+41917 43653 lineto
+stroke
+newpath
+43123 43653 moveto
+46182 43653 lineto
+stroke
+newpath
+27047 43573 moveto
+33385 43573 lineto
+stroke
+newpath
+34460 43573 moveto
+34768 43573 lineto
+stroke
+newpath
+35460 43573 moveto
+35768 43573 lineto
+stroke
+newpath
+36459 43573 moveto
+36767 43573 lineto
+stroke
+newpath
+37460 43573 moveto
+37768 43573 lineto
+stroke
+newpath
+38459 43573 moveto
+38568 43573 lineto
+stroke
+newpath
+39660 43573 moveto
+41917 43573 lineto
+stroke
+newpath
+43123 43573 moveto
+46182 43573 lineto
+stroke
+newpath
+27047 43493 moveto
+33465 43493 lineto
+stroke
+newpath
+34537 43493 moveto
+34958 43493 lineto
+stroke
+newpath
+35268 43493 moveto
+35958 43493 lineto
+stroke
+newpath
+36268 43493 moveto
+36958 43493 lineto
+stroke
+newpath
+37268 43493 moveto
+37958 43493 lineto
+stroke
+newpath
+38268 43493 moveto
+38688 43493 lineto
+stroke
+newpath
+39538 43493 moveto
+41917 43493 lineto
+stroke
+newpath
+43123 43493 moveto
+46182 43493 lineto
+stroke
+newpath
+27047 43413 moveto
+33545 43413 lineto
+stroke
+newpath
+34699 43413 moveto
+41939 43413 lineto
+stroke
+newpath
+43100 43413 moveto
+46182 43413 lineto
+stroke
+newpath
+27047 43333 moveto
+33625 43333 lineto
+stroke
+newpath
+34779 43333 moveto
+41972 43333 lineto
+stroke
+newpath
+43067 43333 moveto
+46182 43333 lineto
+stroke
+newpath
+27047 43253 moveto
+33705 43253 lineto
+stroke
+newpath
+34832 43253 moveto
+42005 43253 lineto
+stroke
+newpath
+43034 43253 moveto
+46182 43253 lineto
+stroke
+newpath
+27047 43173 moveto
+33785 43173 lineto
+stroke
+newpath
+34865 43173 moveto
+42081 43173 lineto
+stroke
+newpath
+42959 43173 moveto
+46182 43173 lineto
+stroke
+newpath
+27047 43093 moveto
+33865 43093 lineto
+stroke
+newpath
+34887 43093 moveto
+42161 43093 lineto
+stroke
+newpath
+42879 43093 moveto
+46182 43093 lineto
+stroke
+newpath
+27047 43013 moveto
+33915 43013 lineto
+stroke
+newpath
+34887 43013 moveto
+42329 43013 lineto
+stroke
+newpath
+42709 43013 moveto
+46182 43013 lineto
+stroke
+newpath
+27047 42933 moveto
+33915 42933 lineto
+stroke
+newpath
+34887 42933 moveto
+46182 42933 lineto
+stroke
+newpath
+27047 42853 moveto
+33945 42853 lineto
+stroke
+newpath
+34856 42853 moveto
+46182 42853 lineto
+stroke
+newpath
+27047 42773 moveto
+33978 42773 lineto
+stroke
+newpath
+34823 42773 moveto
+46182 42773 lineto
+stroke
+newpath
+27047 42693 moveto
+34043 42693 lineto
+stroke
+newpath
+34758 42693 moveto
+46182 42693 lineto
+stroke
+newpath
+27047 42613 moveto
+34123 42613 lineto
+stroke
+newpath
+34678 42613 moveto
+46182 42613 lineto
+stroke
+newpath
+27047 42533 moveto
+46182 42533 lineto
+stroke
+newpath
+27047 42453 moveto
+46182 42453 lineto
+stroke
+newpath
+27047 42373 moveto
+46182 42373 lineto
+stroke
+newpath
+27047 42293 moveto
+46182 42293 lineto
+stroke
+newpath
+27047 42213 moveto
+46182 42213 lineto
+stroke
+newpath
+27047 42133 moveto
+46182 42133 lineto
+stroke
+newpath
+27047 42053 moveto
+46182 42053 lineto
+stroke
+newpath
+27047 41973 moveto
+46182 41973 lineto
+stroke
+newpath
+27047 41893 moveto
+46182 41893 lineto
+stroke
+newpath
+27047 41813 moveto
+46182 41813 lineto
+stroke
+newpath
+27047 41733 moveto
+46182 41733 lineto
+stroke
+newpath
+27047 41653 moveto
+46182 41653 lineto
+stroke
+newpath
+27047 41573 moveto
+46182 41573 lineto
+stroke
+newpath
+27047 41493 moveto
+46182 41493 lineto
+stroke
+newpath
+27047 41413 moveto
+46182 41413 lineto
+stroke
+newpath
+27047 41333 moveto
+46182 41333 lineto
+stroke
+newpath
+27047 41253 moveto
+27494 41253 lineto
+stroke
+newpath
+27625 41253 moveto
+45407 41253 lineto
+stroke
+newpath
+45538 41253 moveto
+46182 41253 lineto
+stroke
+newpath
+27047 41173 moveto
+27332 41173 lineto
+stroke
+newpath
+27787 41173 moveto
+45245 41173 lineto
+stroke
+newpath
+45700 41173 moveto
+46182 41173 lineto
+stroke
+newpath
+27047 41093 moveto
+27276 41093 lineto
+stroke
+newpath
+27843 41093 moveto
+45189 41093 lineto
+stroke
+newpath
+45756 41093 moveto
+46182 41093 lineto
+stroke
+newpath
+27047 41013 moveto
+27246 41013 lineto
+stroke
+newpath
+27873 41013 moveto
+45159 41013 lineto
+stroke
+newpath
+45786 41013 moveto
+46182 41013 lineto
+stroke
+newpath
+27047 40933 moveto
+27231 40933 lineto
+stroke
+newpath
+27887 40933 moveto
+45144 40933 lineto
+stroke
+newpath
+45800 40933 moveto
+46182 40933 lineto
+stroke
+newpath
+27047 40853 moveto
+27068 40853 lineto
+stroke
+newpath
+28049 40853 moveto
+44984 40853 lineto
+stroke
+newpath
+45962 40853 moveto
+46182 40853 lineto
+stroke
+newpath
+28188 40773 moveto
+44845 40773 lineto
+stroke
+newpath
+46101 40773 moveto
+46182 40773 lineto
+stroke
+newpath
+28241 40693 moveto
+44792 40693 lineto
+stroke
+newpath
+46154 40693 moveto
+46182 40693 lineto
+stroke
+newpath
+28268 40613 moveto
+44765 40613 lineto
+stroke
+newpath
+46181 40613 moveto
+46182 40613 lineto
+stroke
+newpath
+28278 40533 moveto
+44753 40533 lineto
+stroke
+newpath
+28262 40453 moveto
+44769 40453 lineto
+stroke
+newpath
+46175 40453 moveto
+46182 40453 lineto
+stroke
+newpath
+28225 40373 moveto
+44806 40373 lineto
+stroke
+newpath
+46138 40373 moveto
+46182 40373 lineto
+stroke
+newpath
+28156 40293 moveto
+44875 40293 lineto
+stroke
+newpath
+46069 40293 moveto
+46182 40293 lineto
+stroke
+newpath
+27047 40213 moveto
+27202 40213 lineto
+stroke
+newpath
+27915 40213 moveto
+45115 40213 lineto
+stroke
+newpath
+45828 40213 moveto
+46182 40213 lineto
+stroke
+newpath
+27047 40133 moveto
+27234 40133 lineto
+stroke
+newpath
+27883 40133 moveto
+45147 40133 lineto
+stroke
+newpath
+45796 40133 moveto
+46182 40133 lineto
+stroke
+newpath
+27047 40053 moveto
+27250 40053 lineto
+stroke
+newpath
+27867 40053 moveto
+45163 40053 lineto
+stroke
+newpath
+45780 40053 moveto
+46182 40053 lineto
+stroke
+newpath
+27047 39973 moveto
+27290 39973 lineto
+stroke
+newpath
+27827 39973 moveto
+45203 39973 lineto
+stroke
+newpath
+45740 39973 moveto
+46182 39973 lineto
+stroke
+newpath
+27047 39893 moveto
+27364 39893 lineto
+stroke
+newpath
+27753 39893 moveto
+45277 39893 lineto
+stroke
+newpath
+45666 39893 moveto
+46182 39893 lineto
+stroke
+newpath
+27047 39813 moveto
+46182 39813 lineto
+stroke
+newpath
+27047 39733 moveto
+46182 39733 lineto
+stroke
+newpath
+27047 39653 moveto
+46182 39653 lineto
+stroke
+newpath
+42764 47526 moveto
+42764 47526 lineto
+stroke
+newpath
+42764 47446 moveto
+42844 47446 lineto
+stroke
+newpath
+42762 47366 moveto
+42924 47366 lineto
+stroke
+newpath
+42729 47286 moveto
+42961 47286 lineto
+stroke
+newpath
+42696 47206 moveto
+42961 47206 lineto
+stroke
+newpath
+42624 47126 moveto
+42961 47126 lineto
+stroke
+newpath
+42531 47046 moveto
+42961 47046 lineto
+stroke
+newpath
+42170 46966 moveto
+42961 46966 lineto
+stroke
+newpath
+42090 46886 moveto
+42961 46886 lineto
+stroke
+newpath
+42010 46806 moveto
+42961 46806 lineto
+stroke
+newpath
+41930 46726 moveto
+42961 46726 lineto
+stroke
+newpath
+41888 46646 moveto
+42961 46646 lineto
+stroke
+newpath
+41888 46566 moveto
+42961 46566 lineto
+stroke
+newpath
+41888 46486 moveto
+42961 46486 lineto
+stroke
+newpath
+41888 46406 moveto
+42961 46406 lineto
+stroke
+newpath
+41888 46326 moveto
+42961 46326 lineto
+stroke
+newpath
+41888 46246 moveto
+42961 46246 lineto
+stroke
+newpath
+41888 46166 moveto
+42961 46166 lineto
+stroke
+newpath
+41888 46086 moveto
+42961 46086 lineto
+stroke
+newpath
+41888 46006 moveto
+42959 46006 lineto
+stroke
+newpath
+41888 45926 moveto
+42879 45926 lineto
+stroke
+newpath
+41888 45846 moveto
+42799 45846 lineto
+stroke
+newpath
+41888 45766 moveto
+42719 45766 lineto
+stroke
+newpath
+41888 45686 moveto
+42639 45686 lineto
+stroke
+newpath
+41888 45606 moveto
+42559 45606 lineto
+stroke
+newpath
+41888 45526 moveto
+42479 45526 lineto
+stroke
+newpath
+41888 45446 moveto
+42399 45446 lineto
+stroke
+newpath
+41888 45366 moveto
+42319 45366 lineto
+stroke
+newpath
+41888 45286 moveto
+42256 45286 lineto
+stroke
+newpath
+41888 45206 moveto
+42212 45206 lineto
+stroke
+newpath
+41888 45126 moveto
+41999 45126 lineto
+stroke
+newpath
+41888 45046 moveto
+41940 45046 lineto
+stroke
+newpath
+41888 44966 moveto
+41917 44966 lineto
+stroke
+newpath
+41888 44886 moveto
+41917 44886 lineto
+stroke
+newpath
+41888 44806 moveto
+41917 44806 lineto
+stroke
+newpath
+41888 44726 moveto
+41917 44726 lineto
+stroke
+newpath
+33377 50521 moveto
+33377 50521 lineto
+stroke
+newpath
+33315 50441 moveto
+33425 50441 lineto
+stroke
+newpath
+33385 50361 moveto
+33553 50361 lineto
+stroke
+newpath
+33418 50281 moveto
+33636 50281 lineto
+stroke
+newpath
+33451 50201 moveto
+33636 50201 lineto
+stroke
+newpath
+33451 50121 moveto
+33636 50121 lineto
+stroke
+newpath
+33451 50041 moveto
+33636 50041 lineto
+stroke
+newpath
+33432 49961 moveto
+33636 49961 lineto
+stroke
+newpath
+33399 49881 moveto
+33636 49881 lineto
+stroke
+newpath
+33350 49801 moveto
+33636 49801 lineto
+stroke
+newpath
+33270 49721 moveto
+33636 49721 lineto
+stroke
+newpath
+33116 49641 moveto
+33636 49641 lineto
+stroke
+newpath
+33165 49561 moveto
+33648 49561 lineto
+stroke
+newpath
+33245 49481 moveto
+33672 49481 lineto
+stroke
+newpath
+33325 49401 moveto
+33725 49401 lineto
+stroke
+newpath
+33405 49321 moveto
+33802 49321 lineto
+stroke
+newpath
+33485 49241 moveto
+33882 49241 lineto
+stroke
+newpath
+33565 49161 moveto
+33962 49161 lineto
+stroke
+newpath
+33645 49081 moveto
+34042 49081 lineto
+stroke
+newpath
+33725 49001 moveto
+34122 49001 lineto
+stroke
+newpath
+33805 48921 moveto
+34202 48921 lineto
+stroke
+newpath
+33885 48841 moveto
+34282 48841 lineto
+stroke
+newpath
+33965 48761 moveto
+34362 48761 lineto
+stroke
+newpath
+34045 48681 moveto
+34442 48681 lineto
+stroke
+newpath
+34125 48601 moveto
+34522 48601 lineto
+stroke
+newpath
+34205 48521 moveto
+34602 48521 lineto
+stroke
+newpath
+34285 48441 moveto
+34682 48441 lineto
+stroke
+newpath
+34365 48361 moveto
+34762 48361 lineto
+stroke
+newpath
+34445 48281 moveto
+34842 48281 lineto
+stroke
+newpath
+34525 48201 moveto
+34922 48201 lineto
+stroke
+newpath
+34605 48121 moveto
+35002 48121 lineto
+stroke
+newpath
+34685 48041 moveto
+35082 48041 lineto
+stroke
+newpath
+34765 47961 moveto
+35162 47961 lineto
+stroke
+newpath
+34845 47881 moveto
+35242 47881 lineto
+stroke
+newpath
+34925 47801 moveto
+35322 47801 lineto
+stroke
+newpath
+35005 47721 moveto
+35402 47721 lineto
+stroke
+newpath
+35085 47641 moveto
+35482 47641 lineto
+stroke
+newpath
+35165 47561 moveto
+35562 47561 lineto
+stroke
+newpath
+35245 47481 moveto
+35642 47481 lineto
+stroke
+newpath
+35325 47401 moveto
+35722 47401 lineto
+stroke
+newpath
+35405 47321 moveto
+35802 47321 lineto
+stroke
+newpath
+35485 47241 moveto
+35882 47241 lineto
+stroke
+newpath
+35565 47161 moveto
+35962 47161 lineto
+stroke
+newpath
+35645 47081 moveto
+36042 47081 lineto
+stroke
+newpath
+35725 47001 moveto
+36122 47001 lineto
+stroke
+newpath
+35805 46921 moveto
+36202 46921 lineto
+stroke
+newpath
+35885 46841 moveto
+36282 46841 lineto
+stroke
+newpath
+35965 46761 moveto
+36362 46761 lineto
+stroke
+newpath
+36045 46681 moveto
+36442 46681 lineto
+stroke
+newpath
+36125 46601 moveto
+36522 46601 lineto
+stroke
+newpath
+36205 46521 moveto
+36602 46521 lineto
+stroke
+newpath
+36285 46441 moveto
+36682 46441 lineto
+stroke
+newpath
+36365 46361 moveto
+36762 46361 lineto
+stroke
+newpath
+36445 46281 moveto
+36842 46281 lineto
+stroke
+newpath
+36525 46201 moveto
+36922 46201 lineto
+stroke
+newpath
+36605 46121 moveto
+37002 46121 lineto
+stroke
+newpath
+36685 46041 moveto
+37082 46041 lineto
+stroke
+newpath
+36765 45961 moveto
+37162 45961 lineto
+stroke
+newpath
+36845 45881 moveto
+37242 45881 lineto
+stroke
+newpath
+36925 45801 moveto
+37322 45801 lineto
+stroke
+newpath
+37005 45721 moveto
+37402 45721 lineto
+stroke
+newpath
+37085 45641 moveto
+37482 45641 lineto
+stroke
+newpath
+37165 45561 moveto
+37562 45561 lineto
+stroke
+newpath
+37245 45481 moveto
+37642 45481 lineto
+stroke
+newpath
+37325 45401 moveto
+37722 45401 lineto
+stroke
+newpath
+38927 51255 moveto
+38927 51255 lineto
+stroke
+newpath
+38717 51175 moveto
+38927 51175 lineto
+stroke
+newpath
+38637 51095 moveto
+38927 51095 lineto
+stroke
+newpath
+38557 51015 moveto
+38927 51015 lineto
+stroke
+newpath
+38477 50935 moveto
+38926 50935 lineto
+stroke
+newpath
+38397 50855 moveto
+38942 50855 lineto
+stroke
+newpath
+38317 50775 moveto
+38975 50775 lineto
+stroke
+newpath
+38237 50695 moveto
+39032 50695 lineto
+stroke
+newpath
+38157 50615 moveto
+39112 50615 lineto
+stroke
+newpath
+38077 50535 moveto
+39192 50535 lineto
+stroke
+newpath
+37997 50455 moveto
+39272 50455 lineto
+stroke
+newpath
+37917 50375 moveto
+39352 50375 lineto
+stroke
+newpath
+37837 50295 moveto
+39432 50295 lineto
+stroke
+newpath
+37757 50215 moveto
+39512 50215 lineto
+stroke
+newpath
+37677 50135 moveto
+39592 50135 lineto
+stroke
+newpath
+37597 50055 moveto
+39672 50055 lineto
+stroke
+newpath
+37517 49975 moveto
+39752 49975 lineto
+stroke
+newpath
+37437 49895 moveto
+39832 49895 lineto
+stroke
+newpath
+37357 49815 moveto
+39912 49815 lineto
+stroke
+newpath
+37277 49735 moveto
+39992 49735 lineto
+stroke
+newpath
+37197 49655 moveto
+40072 49655 lineto
+stroke
+newpath
+37117 49575 moveto
+40152 49575 lineto
+stroke
+newpath
+37023 49495 moveto
+40232 49495 lineto
+stroke
+newpath
+36152 49415 moveto
+40312 49415 lineto
+stroke
+newpath
+36057 49335 moveto
+40392 49335 lineto
+stroke
+newpath
+35631 49255 moveto
+40472 49255 lineto
+stroke
+newpath
+35561 49175 moveto
+40552 49175 lineto
+stroke
+newpath
+35472 49095 moveto
+40632 49095 lineto
+stroke
+newpath
+35379 49015 moveto
+40712 49015 lineto
+stroke
+newpath
+35459 48935 moveto
+40792 48935 lineto
+stroke
+newpath
+35539 48855 moveto
+40872 48855 lineto
+stroke
+newpath
+35619 48775 moveto
+40952 48775 lineto
+stroke
+newpath
+35699 48695 moveto
+41032 48695 lineto
+stroke
+newpath
+35779 48615 moveto
+41112 48615 lineto
+stroke
+newpath
+35859 48535 moveto
+41192 48535 lineto
+stroke
+newpath
+35939 48455 moveto
+41272 48455 lineto
+stroke
+newpath
+36019 48375 moveto
+41352 48375 lineto
+stroke
+newpath
+36099 48295 moveto
+41432 48295 lineto
+stroke
+newpath
+36179 48215 moveto
+41512 48215 lineto
+stroke
+newpath
+36259 48135 moveto
+41445 48135 lineto
+stroke
+newpath
+36339 48055 moveto
+41380 48055 lineto
+stroke
+newpath
+36419 47975 moveto
+41347 47975 lineto
+stroke
+newpath
+36499 47895 moveto
+41315 47895 lineto
+stroke
+newpath
+36579 47815 moveto
+41315 47815 lineto
+stroke
+newpath
+36659 47735 moveto
+41267 47735 lineto
+stroke
+newpath
+36739 47655 moveto
+41187 47655 lineto
+stroke
+newpath
+36819 47575 moveto
+41107 47575 lineto
+stroke
+newpath
+36899 47495 moveto
+41027 47495 lineto
+stroke
+newpath
+36979 47415 moveto
+40947 47415 lineto
+stroke
+newpath
+37059 47335 moveto
+40867 47335 lineto
+stroke
+newpath
+37139 47255 moveto
+40787 47255 lineto
+stroke
+newpath
+37219 47175 moveto
+40707 47175 lineto
+stroke
+newpath
+37299 47095 moveto
+40627 47095 lineto
+stroke
+newpath
+37379 47015 moveto
+40547 47015 lineto
+stroke
+newpath
+37459 46935 moveto
+40467 46935 lineto
+stroke
+newpath
+37539 46855 moveto
+40387 46855 lineto
+stroke
+newpath
+37619 46775 moveto
+40307 46775 lineto
+stroke
+newpath
+37699 46695 moveto
+40227 46695 lineto
+stroke
+newpath
+37779 46615 moveto
+40147 46615 lineto
+stroke
+newpath
+37859 46535 moveto
+40067 46535 lineto
+stroke
+newpath
+37939 46455 moveto
+39987 46455 lineto
+stroke
+newpath
+38019 46375 moveto
+39907 46375 lineto
+stroke
+newpath
+38099 46295 moveto
+39472 46295 lineto
+stroke
+newpath
+38179 46215 moveto
+39348 46215 lineto
+stroke
+newpath
+34481 52632 moveto
+36951 52632 lineto
+stroke
+newpath
+34408 52552 moveto
+36778 52552 lineto
+stroke
+newpath
+34327 52472 moveto
+36610 52472 lineto
+stroke
+newpath
+34387 52392 moveto
+36530 52392 lineto
+stroke
+newpath
+34467 52312 moveto
+36474 52312 lineto
+stroke
+newpath
+34506 52232 moveto
+36441 52232 lineto
+stroke
+newpath
+34539 52152 moveto
+36417 52152 lineto
+stroke
+newpath
+34568 52072 moveto
+36417 52072 lineto
+stroke
+newpath
+34568 51992 moveto
+36351 51992 lineto
+stroke
+newpath
+34568 51912 moveto
+36271 51912 lineto
+stroke
+newpath
+34564 51832 moveto
+36191 51832 lineto
+stroke
+newpath
+34640 51752 moveto
+36111 51752 lineto
+stroke
+newpath
+34718 51672 moveto
+36031 51672 lineto
+stroke
+newpath
+34771 51592 moveto
+35951 51592 lineto
+stroke
+newpath
+34796 51512 moveto
+35871 51512 lineto
+stroke
+newpath
+34809 51432 moveto
+35791 51432 lineto
+stroke
+newpath
+34809 51352 moveto
+35711 51352 lineto
+stroke
+newpath
+34809 51272 moveto
+35631 51272 lineto
+stroke
+newpath
+34809 51192 moveto
+35551 51192 lineto
+stroke
+newpath
+34809 51112 moveto
+35471 51112 lineto
+stroke
+newpath
+34809 51032 moveto
+35391 51032 lineto
+stroke
+newpath
+34809 50952 moveto
+35311 50952 lineto
+stroke
+newpath
+34809 50872 moveto
+35231 50872 lineto
+stroke
+newpath
+34809 50792 moveto
+35151 50792 lineto
+stroke
+newpath
+34809 50712 moveto
+35071 50712 lineto
+stroke
+newpath
+34809 50632 moveto
+34991 50632 lineto
+stroke
+newpath
+34809 50552 moveto
+34934 50552 lineto
+stroke
+newpath
+34809 50472 moveto
+34900 50472 lineto
+stroke
+newpath
+34809 50392 moveto
+34884 50392 lineto
+stroke
+newpath
+34809 50312 moveto
+34883 50312 lineto
+stroke
+newpath
+34809 50232 moveto
+34883 50232 lineto
+stroke
+newpath
+34809 50152 moveto
+34883 50152 lineto
+stroke
+newpath
+34809 50072 moveto
+34883 50072 lineto
+stroke
+newpath
+34809 49992 moveto
+34883 49992 lineto
+stroke
+newpath
+34809 49912 moveto
+34883 49912 lineto
+stroke
+newpath
+34809 49832 moveto
+34843 49832 lineto
+stroke
+newpath
+35031 54453 moveto
+35031 54453 lineto
+stroke
+newpath
+34951 54373 moveto
+36110 54373 lineto
+stroke
+newpath
+34871 54293 moveto
+36202 54293 lineto
+stroke
+newpath
+34791 54213 moveto
+36382 54213 lineto
+stroke
+newpath
+34711 54133 moveto
+37422 54133 lineto
+stroke
+newpath
+34631 54053 moveto
+37502 54053 lineto
+stroke
+newpath
+34551 53973 moveto
+37582 53973 lineto
+stroke
+newpath
+34471 53893 moveto
+37662 53893 lineto
+stroke
+newpath
+34391 53813 moveto
+37742 53813 lineto
+stroke
+newpath
+34311 53733 moveto
+37822 53733 lineto
+stroke
+newpath
+34231 53653 moveto
+37902 53653 lineto
+stroke
+newpath
+34151 53573 moveto
+37982 53573 lineto
+stroke
+newpath
+34257 53493 moveto
+38062 53493 lineto
+stroke
+newpath
+34366 53413 moveto
+38142 53413 lineto
+stroke
+newpath
+34446 53333 moveto
+38222 53333 lineto
+stroke
+newpath
+37326 53253 moveto
+38302 53253 lineto
+stroke
+newpath
+37578 53173 moveto
+38382 53173 lineto
+stroke
+newpath
+37737 53093 moveto
+38462 53093 lineto
+stroke
+newpath
+37817 53013 moveto
+38542 53013 lineto
+stroke
+newpath
+37869 52933 moveto
+38622 52933 lineto
+stroke
+newpath
+37902 52853 moveto
+38702 52853 lineto
+stroke
+newpath
+37923 52773 moveto
+38782 52773 lineto
+stroke
+newpath
+37923 52693 moveto
+38862 52693 lineto
+stroke
+newpath
+37923 52613 moveto
+38927 52613 lineto
+stroke
+newpath
+37891 52533 moveto
+38927 52533 lineto
+stroke
+newpath
+37858 52453 moveto
+38927 52453 lineto
+stroke
+newpath
+37792 52373 moveto
+38927 52373 lineto
+stroke
+newpath
+37712 52293 moveto
+38927 52293 lineto
+stroke
+newpath
+37373 52213 moveto
+38703 52213 lineto
+stroke
+newpath
+38915 52213 moveto
+38927 52213 lineto
+stroke
+newpath
+37389 52133 moveto
+38523 52133 lineto
+stroke
+newpath
+37389 52053 moveto
+38443 52053 lineto
+stroke
+newpath
+37385 51973 moveto
+38382 51973 lineto
+stroke
+newpath
+37352 51893 moveto
+38349 51893 lineto
+stroke
+newpath
+37319 51813 moveto
+38322 51813 lineto
+stroke
+newpath
+37245 51733 moveto
+38322 51733 lineto
+stroke
+newpath
+37146 51653 moveto
+38264 51653 lineto
+stroke
+newpath
+36863 51573 moveto
+38184 51573 lineto
+stroke
+newpath
+36783 51493 moveto
+38104 51493 lineto
+stroke
+newpath
+36703 51413 moveto
+38024 51413 lineto
+stroke
+newpath
+36623 51333 moveto
+37944 51333 lineto
+stroke
+newpath
+36543 51253 moveto
+37864 51253 lineto
+stroke
+newpath
+36463 51173 moveto
+37784 51173 lineto
+stroke
+newpath
+36383 51093 moveto
+37704 51093 lineto
+stroke
+newpath
+36303 51013 moveto
+37624 51013 lineto
+stroke
+newpath
+36223 50933 moveto
+37544 50933 lineto
+stroke
+newpath
+36143 50853 moveto
+37464 50853 lineto
+stroke
+newpath
+36063 50773 moveto
+37384 50773 lineto
+stroke
+newpath
+35983 50693 moveto
+37304 50693 lineto
+stroke
+newpath
+35903 50613 moveto
+37224 50613 lineto
+stroke
+newpath
+35823 50533 moveto
+37144 50533 lineto
+stroke
+newpath
+35743 50453 moveto
+37064 50453 lineto
+stroke
+newpath
+35663 50373 moveto
+36984 50373 lineto
+stroke
+newpath
+35583 50293 moveto
+36904 50293 lineto
+stroke
+newpath
+35541 50213 moveto
+35639 50213 lineto
+stroke
+newpath
+35977 50213 moveto
+36824 50213 lineto
+stroke
+newpath
+36119 50133 moveto
+36744 50133 lineto
+stroke
+newpath
+33464 51609 moveto
+33464 51609 lineto
+stroke
+newpath
+33384 51529 moveto
+33478 51529 lineto
+stroke
+newpath
+33330 51449 moveto
+33398 51449 lineto
+stroke
+newpath
+33465 52608 moveto
+33465 52608 lineto
+stroke
+newpath
+33385 52528 moveto
+33545 52528 lineto
+stroke
+newpath
+33331 52448 moveto
+33597 52448 lineto
+stroke
+newpath
+33411 52368 moveto
+33517 52368 lineto
+stroke
+newpath
+38780 55389 moveto
+38780 55389 lineto
+stroke
+newpath
+38700 55309 moveto
+38859 55309 lineto
+stroke
+newpath
+38621 55229 moveto
+38940 55229 lineto
+stroke
+newpath
+38533 55149 moveto
+39132 55149 lineto
+stroke
+newpath
+38453 55069 moveto
+39378 55069 lineto
+stroke
+newpath
+38373 54989 moveto
+39378 54989 lineto
+stroke
+newpath
+38293 54909 moveto
+39378 54909 lineto
+stroke
+newpath
+38213 54829 moveto
+39378 54829 lineto
+stroke
+newpath
+38133 54749 moveto
+39378 54749 lineto
+stroke
+newpath
+38053 54669 moveto
+39378 54669 lineto
+stroke
+newpath
+37973 54589 moveto
+39378 54589 lineto
+stroke
+newpath
+37978 54509 moveto
+39378 54509 lineto
+stroke
+newpath
+38058 54429 moveto
+39378 54429 lineto
+stroke
+newpath
+38138 54349 moveto
+39378 54349 lineto
+stroke
+newpath
+38218 54269 moveto
+39378 54269 lineto
+stroke
+newpath
+38298 54189 moveto
+39378 54189 lineto
+stroke
+newpath
+38378 54109 moveto
+39378 54109 lineto
+stroke
+newpath
+38458 54029 moveto
+39378 54029 lineto
+stroke
+newpath
+38538 53949 moveto
+39378 53949 lineto
+stroke
+newpath
+38618 53869 moveto
+39378 53869 lineto
+stroke
+newpath
+38698 53789 moveto
+39378 53789 lineto
+stroke
+newpath
+38778 53709 moveto
+39378 53709 lineto
+stroke
+newpath
+38858 53629 moveto
+39378 53629 lineto
+stroke
+newpath
+38938 53549 moveto
+39378 53549 lineto
+stroke
+newpath
+39018 53469 moveto
+39378 53469 lineto
+stroke
+newpath
+39098 53389 moveto
+39378 53389 lineto
+stroke
+newpath
+39178 53309 moveto
+39378 53309 lineto
+stroke
+newpath
+39258 53229 moveto
+39378 53229 lineto
+stroke
+newpath
+39338 53149 moveto
+39378 53149 lineto
+stroke
+newpath
+28360 56385 moveto
+28688 56385 lineto
+stroke
+newpath
+28360 56305 moveto
+28587 56305 lineto
+stroke
+newpath
+31649 56305 moveto
+33662 56305 lineto
+stroke
+newpath
+28360 56225 moveto
+28544 56225 lineto
+stroke
+newpath
+31693 56225 moveto
+33742 56225 lineto
+stroke
+newpath
+28360 56145 moveto
+28531 56145 lineto
+stroke
+newpath
+31705 56145 moveto
+33822 56145 lineto
+stroke
+newpath
+28360 56065 moveto
+28531 56065 lineto
+stroke
+newpath
+31705 56065 moveto
+33902 56065 lineto
+stroke
+newpath
+28360 55985 moveto
+28531 55985 lineto
+stroke
+newpath
+31705 55985 moveto
+33936 55985 lineto
+stroke
+newpath
+28360 55905 moveto
+28531 55905 lineto
+stroke
+newpath
+31705 55905 moveto
+33936 55905 lineto
+stroke
+newpath
+28360 55825 moveto
+28531 55825 lineto
+stroke
+newpath
+31705 55825 moveto
+33961 55825 lineto
+stroke
+newpath
+28360 55745 moveto
+28531 55745 lineto
+stroke
+newpath
+31705 55745 moveto
+33993 55745 lineto
+stroke
+newpath
+28360 55665 moveto
+28531 55665 lineto
+stroke
+newpath
+31705 55665 moveto
+34026 55665 lineto
+stroke
+newpath
+28360 55585 moveto
+28531 55585 lineto
+stroke
+newpath
+31705 55585 moveto
+34106 55585 lineto
+stroke
+newpath
+34972 55585 moveto
+35080 55585 lineto
+stroke
+newpath
+28360 55505 moveto
+28531 55505 lineto
+stroke
+newpath
+31705 55505 moveto
+34186 55505 lineto
+stroke
+newpath
+34892 55505 moveto
+34979 55505 lineto
+stroke
+newpath
+28360 55425 moveto
+28531 55425 lineto
+stroke
+newpath
+31705 55425 moveto
+34362 55425 lineto
+stroke
+newpath
+34714 55425 moveto
+34943 55425 lineto
+stroke
+newpath
+28360 55345 moveto
+28549 55345 lineto
+stroke
+newpath
+29718 55345 moveto
+30517 55345 lineto
+stroke
+newpath
+31687 55345 moveto
+34799 55345 lineto
+stroke
+newpath
+28360 55265 moveto
+28601 55265 lineto
+stroke
+newpath
+29667 55265 moveto
+30569 55265 lineto
+stroke
+newpath
+31635 55265 moveto
+34693 55265 lineto
+stroke
+newpath
+28360 55185 moveto
+34613 55185 lineto
+stroke
+newpath
+28360 55105 moveto
+34533 55105 lineto
+stroke
+newpath
+28418 55025 moveto
+34453 55025 lineto
+stroke
+newpath
+28498 54945 moveto
+34373 54945 lineto
+stroke
+newpath
+28578 54865 moveto
+34293 54865 lineto
+stroke
+newpath
+28658 54785 moveto
+34213 54785 lineto
+stroke
+newpath
+28738 54705 moveto
+34133 54705 lineto
+stroke
+newpath
+28818 54625 moveto
+34053 54625 lineto
+stroke
+newpath
+28898 54545 moveto
+33973 54545 lineto
+stroke
+newpath
+28978 54465 moveto
+33893 54465 lineto
+stroke
+newpath
+29058 54385 moveto
+33813 54385 lineto
+stroke
+newpath
+29138 54305 moveto
+33733 54305 lineto
+stroke
+newpath
+29218 54225 moveto
+33653 54225 lineto
+stroke
+newpath
+29298 54145 moveto
+33573 54145 lineto
+stroke
+newpath
+29552 54065 moveto
+33493 54065 lineto
+stroke
+newpath
+29654 53985 moveto
+33413 53985 lineto
+stroke
+newpath
+29734 53905 moveto
+33333 53905 lineto
+stroke
+newpath
+29814 53825 moveto
+33253 53825 lineto
+stroke
+newpath
+29894 53745 moveto
+33173 53745 lineto
+stroke
+newpath
+29974 53665 moveto
+33093 53665 lineto
+stroke
+newpath
+30054 53585 moveto
+33013 53585 lineto
+stroke
+newpath
+30134 53505 moveto
+32703 53505 lineto
+stroke
+newpath
+30214 53425 moveto
+32576 53425 lineto
+stroke
+newpath
+36055 55676 moveto
+36444 55676 lineto
+stroke
+newpath
+35982 55596 moveto
+36524 55596 lineto
+stroke
+newpath
+36088 55516 moveto
+36604 55516 lineto
+stroke
+newpath
+36131 55436 moveto
+36684 55436 lineto
+stroke
+newpath
+36248 55356 moveto
+36732 55356 lineto
+stroke
+newpath
+36359 55276 moveto
+36732 55276 lineto
+stroke
+newpath
+36439 55196 moveto
+36763 55196 lineto
+stroke
+newpath
+36519 55116 moveto
+36796 55116 lineto
+stroke
+newpath
+36599 55036 moveto
+36862 55036 lineto
+stroke
+newpath
+37365 45360 moveto
+37763 45360 lineto
+33732 49391 lineto
+33661 49498 lineto
+33635 49624 lineto
+33636 49629 lineto
+33636 50358 lineto
+33561 50358 lineto
+33470 50396 lineto
+33400 50466 lineto
+33377 50521 lineto
+33306 50450 lineto
+33377 50378 lineto
+33451 50199 lineto
+33451 50006 lineto
+33377 49827 lineto
+33240 49691 lineto
+33094 49632 lineto
+37365 45360 lineto
+poly0
+newpath
+27047 58773 moveto
+46182 58773 lineto
+stroke
+newpath
+27047 58693 moveto
+46182 58693 lineto
+stroke
+newpath
+27047 58613 moveto
+46182 58613 lineto
+stroke
+newpath
+27047 58533 moveto
+45302 58533 lineto
+stroke
+newpath
+45643 58533 moveto
+46182 58533 lineto
+stroke
+newpath
+27047 58453 moveto
+45214 58453 lineto
+stroke
+newpath
+45731 58453 moveto
+46182 58453 lineto
+stroke
+newpath
+27047 58373 moveto
+45167 58373 lineto
+stroke
+newpath
+45778 58373 moveto
+46182 58373 lineto
+stroke
+newpath
+27047 58293 moveto
+45151 58293 lineto
+stroke
+newpath
+45794 58293 moveto
+46182 58293 lineto
+stroke
+newpath
+27047 58213 moveto
+45131 58213 lineto
+stroke
+newpath
+45813 58213 moveto
+46182 58213 lineto
+stroke
+newpath
+27047 58133 moveto
+44900 58133 lineto
+stroke
+newpath
+46046 58133 moveto
+46182 58133 lineto
+stroke
+newpath
+27047 58053 moveto
+44817 58053 lineto
+stroke
+newpath
+46129 58053 moveto
+46182 58053 lineto
+stroke
+newpath
+27047 57973 moveto
+44773 57973 lineto
+stroke
+newpath
+46173 57973 moveto
+46182 57973 lineto
+stroke
+newpath
+27047 57893 moveto
+44757 57893 lineto
+stroke
+newpath
+27047 57813 moveto
+44761 57813 lineto
+stroke
+newpath
+27047 57733 moveto
+44780 57733 lineto
+stroke
+newpath
+46164 57733 moveto
+46182 57733 lineto
+stroke
+newpath
+27047 57653 moveto
+44834 57653 lineto
+stroke
+newpath
+46110 57653 moveto
+46182 57653 lineto
+stroke
+newpath
+27047 57573 moveto
+44938 57573 lineto
+stroke
+newpath
+46006 57573 moveto
+46182 57573 lineto
+stroke
+newpath
+27047 57493 moveto
+45144 57493 lineto
+stroke
+newpath
+45800 57493 moveto
+46182 57493 lineto
+stroke
+newpath
+27047 57413 moveto
+45155 57413 lineto
+stroke
+newpath
+45788 57413 moveto
+46182 57413 lineto
+stroke
+newpath
+27047 57333 moveto
+28864 57333 lineto
+stroke
+newpath
+29404 57333 moveto
+30832 57333 lineto
+stroke
+newpath
+31372 57333 moveto
+45177 57333 lineto
+stroke
+newpath
+45766 57333 moveto
+46182 57333 lineto
+stroke
+newpath
+27047 57253 moveto
+28742 57253 lineto
+stroke
+newpath
+29526 57253 moveto
+30710 57253 lineto
+stroke
+newpath
+31494 57253 moveto
+45231 57253 lineto
+stroke
+newpath
+45712 57253 moveto
+46182 57253 lineto
+stroke
+newpath
+27047 57173 moveto
+27928 57173 lineto
+stroke
+newpath
+29606 57173 moveto
+30630 57173 lineto
+stroke
+newpath
+33888 57173 moveto
+45340 57173 lineto
+stroke
+newpath
+45603 57173 moveto
+46182 57173 lineto
+stroke
+newpath
+27047 57093 moveto
+27791 57093 lineto
+stroke
+newpath
+29663 57093 moveto
+30574 57093 lineto
+stroke
+newpath
+34021 57093 moveto
+46182 57093 lineto
+stroke
+newpath
+27047 57013 moveto
+27704 57013 lineto
+stroke
+newpath
+29696 57013 moveto
+30541 57013 lineto
+stroke
+newpath
+34107 57013 moveto
+46182 57013 lineto
+stroke
+newpath
+27047 56933 moveto
+27638 56933 lineto
+stroke
+newpath
+29728 56933 moveto
+30508 56933 lineto
+stroke
+newpath
+34187 56933 moveto
+46182 56933 lineto
+stroke
+newpath
+27047 56853 moveto
+27585 56853 lineto
+stroke
+newpath
+29737 56853 moveto
+30499 56853 lineto
+stroke
+newpath
+34267 56853 moveto
+46182 56853 lineto
+stroke
+newpath
+27047 56773 moveto
+27564 56773 lineto
+stroke
+newpath
+29737 56773 moveto
+30499 56773 lineto
+stroke
+newpath
+34347 56773 moveto
+46182 56773 lineto
+stroke
+newpath
+27047 56693 moveto
+27548 56693 lineto
+stroke
+newpath
+29737 56693 moveto
+30499 56693 lineto
+stroke
+newpath
+34427 56693 moveto
+46182 56693 lineto
+stroke
+newpath
+27047 56613 moveto
+27546 56613 lineto
+stroke
+newpath
+29712 56613 moveto
+30523 56613 lineto
+stroke
+newpath
+34507 56613 moveto
+46182 56613 lineto
+stroke
+newpath
+27047 56533 moveto
+27546 56533 lineto
+stroke
+newpath
+29679 56533 moveto
+30556 56533 lineto
+stroke
+newpath
+34841 56533 moveto
+35238 56533 lineto
+stroke
+newpath
+35841 56533 moveto
+46182 56533 lineto
+stroke
+newpath
+27047 56453 moveto
+27546 56453 lineto
+stroke
+newpath
+29646 56453 moveto
+30589 56453 lineto
+stroke
+newpath
+34945 56453 moveto
+35134 56453 lineto
+stroke
+newpath
+35944 56453 moveto
+46182 56453 lineto
+stroke
+newpath
+27047 56373 moveto
+27546 56373 lineto
+stroke
+newpath
+29591 56373 moveto
+30645 56373 lineto
+stroke
+newpath
+35025 56373 moveto
+35054 56373 lineto
+stroke
+newpath
+36024 56373 moveto
+46182 56373 lineto
+stroke
+newpath
+27047 56293 moveto
+27546 56293 lineto
+stroke
+newpath
+29693 56293 moveto
+30543 56293 lineto
+stroke
+newpath
+36732 56293 moveto
+38037 56293 lineto
+stroke
+newpath
+38524 56293 moveto
+39037 56293 lineto
+stroke
+newpath
+39524 56293 moveto
+46182 56293 lineto
+stroke
+newpath
+27047 56213 moveto
+27546 56213 lineto
+stroke
+newpath
+29729 56213 moveto
+30506 56213 lineto
+stroke
+newpath
+36839 56213 moveto
+37899 56213 lineto
+stroke
+newpath
+38661 56213 moveto
+38899 56213 lineto
+stroke
+newpath
+39661 56213 moveto
+46182 56213 lineto
+stroke
+newpath
+27047 56133 moveto
+27546 56133 lineto
+stroke
+newpath
+36919 56133 moveto
+37819 56133 lineto
+stroke
+newpath
+38741 56133 moveto
+38819 56133 lineto
+stroke
+newpath
+39741 56133 moveto
+46182 56133 lineto
+stroke
+newpath
+27047 56053 moveto
+27546 56053 lineto
+stroke
+newpath
+36999 56053 moveto
+37757 56053 lineto
+stroke
+newpath
+39804 56053 moveto
+46182 56053 lineto
+stroke
+newpath
+27047 55973 moveto
+27546 55973 lineto
+stroke
+newpath
+37079 55973 moveto
+37724 55973 lineto
+stroke
+newpath
+39837 55973 moveto
+46182 55973 lineto
+stroke
+newpath
+27047 55893 moveto
+27546 55893 lineto
+stroke
+newpath
+37159 55893 moveto
+37690 55893 lineto
+stroke
+newpath
+39870 55893 moveto
+46182 55893 lineto
+stroke
+newpath
+27047 55813 moveto
+27546 55813 lineto
+stroke
+newpath
+37415 55813 moveto
+37677 55813 lineto
+stroke
+newpath
+39883 55813 moveto
+46182 55813 lineto
+stroke
+newpath
+27047 55733 moveto
+27546 55733 lineto
+stroke
+newpath
+37541 55733 moveto
+37677 55733 lineto
+stroke
+newpath
+39883 55733 moveto
+46182 55733 lineto
+stroke
+newpath
+27047 55653 moveto
+27546 55653 lineto
+stroke
+newpath
+37621 55653 moveto
+37677 55653 lineto
+stroke
+newpath
+39883 55653 moveto
+46182 55653 lineto
+stroke
+newpath
+27047 55573 moveto
+27546 55573 lineto
+stroke
+newpath
+37659 55573 moveto
+37696 55573 lineto
+stroke
+newpath
+39914 55573 moveto
+46182 55573 lineto
+stroke
+newpath
+27047 55493 moveto
+27546 55493 lineto
+stroke
+newpath
+37692 55493 moveto
+37725 55493 lineto
+stroke
+newpath
+39976 55493 moveto
+46182 55493 lineto
+stroke
+newpath
+27047 55413 moveto
+27546 55413 lineto
+stroke
+newpath
+40017 55413 moveto
+46182 55413 lineto
+stroke
+newpath
+27047 55333 moveto
+27546 55333 lineto
+stroke
+newpath
+40032 55333 moveto
+46182 55333 lineto
+stroke
+newpath
+27047 55253 moveto
+27546 55253 lineto
+stroke
+newpath
+40036 55253 moveto
+46182 55253 lineto
+stroke
+newpath
+27047 55173 moveto
+27546 55173 lineto
+stroke
+newpath
+40036 55173 moveto
+46182 55173 lineto
+stroke
+newpath
+27047 55093 moveto
+27546 55093 lineto
+stroke
+newpath
+40036 55093 moveto
+46182 55093 lineto
+stroke
+newpath
+27047 55013 moveto
+27546 55013 lineto
+stroke
+newpath
+40036 55013 moveto
+46182 55013 lineto
+stroke
+newpath
+27047 54933 moveto
+27546 54933 lineto
+stroke
+newpath
+40036 54933 moveto
+46182 54933 lineto
+stroke
+newpath
+27047 54853 moveto
+27558 54853 lineto
+stroke
+newpath
+40036 54853 moveto
+46182 54853 lineto
+stroke
+newpath
+27047 54773 moveto
+27574 54773 lineto
+stroke
+newpath
+40036 54773 moveto
+46182 54773 lineto
+stroke
+newpath
+27047 54693 moveto
+27620 54693 lineto
+stroke
+newpath
+40036 54693 moveto
+46182 54693 lineto
+stroke
+newpath
+27047 54613 moveto
+27678 54613 lineto
+stroke
+newpath
+40036 54613 moveto
+46182 54613 lineto
+stroke
+newpath
+27047 54533 moveto
+27758 54533 lineto
+stroke
+newpath
+40036 54533 moveto
+46182 54533 lineto
+stroke
+newpath
+27047 54453 moveto
+27838 54453 lineto
+stroke
+newpath
+40036 54453 moveto
+46182 54453 lineto
+stroke
+newpath
+27047 54373 moveto
+27918 54373 lineto
+stroke
+newpath
+40036 54373 moveto
+46182 54373 lineto
+stroke
+newpath
+27047 54293 moveto
+27998 54293 lineto
+stroke
+newpath
+40036 54293 moveto
+46182 54293 lineto
+stroke
+newpath
+27047 54213 moveto
+28078 54213 lineto
+stroke
+newpath
+40036 54213 moveto
+46182 54213 lineto
+stroke
+newpath
+27047 54133 moveto
+28158 54133 lineto
+stroke
+newpath
+40036 54133 moveto
+46182 54133 lineto
+stroke
+newpath
+27047 54053 moveto
+28238 54053 lineto
+stroke
+newpath
+40036 54053 moveto
+46182 54053 lineto
+stroke
+newpath
+27047 53973 moveto
+28318 53973 lineto
+stroke
+newpath
+40036 53973 moveto
+46182 53973 lineto
+stroke
+newpath
+27047 53893 moveto
+28398 53893 lineto
+stroke
+newpath
+40036 53893 moveto
+46182 53893 lineto
+stroke
+newpath
+27047 53813 moveto
+28478 53813 lineto
+stroke
+newpath
+40036 53813 moveto
+46182 53813 lineto
+stroke
+newpath
+27047 53733 moveto
+28558 53733 lineto
+stroke
+newpath
+40036 53733 moveto
+46182 53733 lineto
+stroke
+newpath
+27047 53653 moveto
+28638 53653 lineto
+stroke
+newpath
+40036 53653 moveto
+46182 53653 lineto
+stroke
+newpath
+27047 53573 moveto
+28718 53573 lineto
+stroke
+newpath
+40036 53573 moveto
+46182 53573 lineto
+stroke
+newpath
+27047 53493 moveto
+28798 53493 lineto
+stroke
+newpath
+40036 53493 moveto
+46182 53493 lineto
+stroke
+newpath
+27047 53413 moveto
+28894 53413 lineto
+stroke
+newpath
+40036 53413 moveto
+46182 53413 lineto
+stroke
+newpath
+27047 53333 moveto
+29098 53333 lineto
+stroke
+newpath
+40036 53333 moveto
+46182 53333 lineto
+stroke
+newpath
+27047 53253 moveto
+29234 53253 lineto
+stroke
+newpath
+40036 53253 moveto
+46182 53253 lineto
+stroke
+newpath
+27047 53173 moveto
+29314 53173 lineto
+stroke
+newpath
+40036 53173 moveto
+46182 53173 lineto
+stroke
+newpath
+27047 53093 moveto
+29394 53093 lineto
+stroke
+newpath
+40036 53093 moveto
+46182 53093 lineto
+stroke
+newpath
+27047 53013 moveto
+29474 53013 lineto
+stroke
+newpath
+40036 53013 moveto
+46182 53013 lineto
+stroke
+newpath
+27047 52933 moveto
+29554 52933 lineto
+stroke
+newpath
+40036 52933 moveto
+46182 52933 lineto
+stroke
+newpath
+27047 52853 moveto
+29634 52853 lineto
+stroke
+newpath
+40036 52853 moveto
+46182 52853 lineto
+stroke
+newpath
+27047 52773 moveto
+29714 52773 lineto
+stroke
+newpath
+40036 52773 moveto
+46182 52773 lineto
+stroke
+newpath
+27047 52693 moveto
+29794 52693 lineto
+stroke
+newpath
+40036 52693 moveto
+46182 52693 lineto
+stroke
+newpath
+27047 52613 moveto
+29904 52613 lineto
+stroke
+newpath
+40036 52613 moveto
+46182 52613 lineto
+stroke
+newpath
+27047 52533 moveto
+32540 52533 lineto
+stroke
+newpath
+40036 52533 moveto
+46182 52533 lineto
+stroke
+newpath
+27047 52453 moveto
+32604 52453 lineto
+stroke
+newpath
+40036 52453 moveto
+46182 52453 lineto
+stroke
+newpath
+27047 52373 moveto
+32524 52373 lineto
+stroke
+newpath
+40036 52373 moveto
+46182 52373 lineto
+stroke
+newpath
+27047 52293 moveto
+32450 52293 lineto
+stroke
+newpath
+40036 52293 moveto
+46182 52293 lineto
+stroke
+newpath
+27047 52213 moveto
+32417 52213 lineto
+stroke
+newpath
+40036 52213 moveto
+46182 52213 lineto
+stroke
+newpath
+27047 52133 moveto
+32384 52133 lineto
+stroke
+newpath
+40036 52133 moveto
+46182 52133 lineto
+stroke
+newpath
+27047 52053 moveto
+32362 52053 lineto
+stroke
+newpath
+40036 52053 moveto
+46182 52053 lineto
+stroke
+newpath
+27047 51973 moveto
+32362 51973 lineto
+stroke
+newpath
+40081 51973 moveto
+46182 51973 lineto
+stroke
+newpath
+27047 51893 moveto
+32362 51893 lineto
+stroke
+newpath
+40137 51893 moveto
+46182 51893 lineto
+stroke
+newpath
+27047 51813 moveto
+32351 51813 lineto
+stroke
+newpath
+40170 51813 moveto
+46182 51813 lineto
+stroke
+newpath
+27047 51733 moveto
+32271 51733 lineto
+stroke
+newpath
+40194 51733 moveto
+46182 51733 lineto
+stroke
+newpath
+27047 51653 moveto
+32191 51653 lineto
+stroke
+newpath
+40194 51653 moveto
+46182 51653 lineto
+stroke
+newpath
+27047 51573 moveto
+32136 51573 lineto
+stroke
+newpath
+40194 51573 moveto
+46182 51573 lineto
+stroke
+newpath
+27047 51493 moveto
+32105 51493 lineto
+stroke
+newpath
+40165 51493 moveto
+46182 51493 lineto
+stroke
+newpath
+27047 51413 moveto
+32088 51413 lineto
+stroke
+newpath
+40132 51413 moveto
+46182 51413 lineto
+stroke
+newpath
+27047 51333 moveto
+32089 51333 lineto
+stroke
+newpath
+40070 51333 moveto
+46182 51333 lineto
+stroke
+newpath
+27047 51253 moveto
+32089 51253 lineto
+stroke
+newpath
+39990 51253 moveto
+46182 51253 lineto
+stroke
+newpath
+27047 51173 moveto
+32089 51173 lineto
+stroke
+newpath
+39585 51173 moveto
+39608 51173 lineto
+stroke
+newpath
+39806 51173 moveto
+46182 51173 lineto
+stroke
+newpath
+27047 51093 moveto
+32089 51093 lineto
+stroke
+newpath
+39585 51093 moveto
+46182 51093 lineto
+stroke
+newpath
+27047 51013 moveto
+32089 51013 lineto
+stroke
+newpath
+39646 51013 moveto
+46182 51013 lineto
+stroke
+newpath
+27047 50933 moveto
+32089 50933 lineto
+stroke
+newpath
+39726 50933 moveto
+46182 50933 lineto
+stroke
+newpath
+27047 50853 moveto
+32089 50853 lineto
+stroke
+newpath
+39806 50853 moveto
+46182 50853 lineto
+stroke
+newpath
+27047 50773 moveto
+32089 50773 lineto
+stroke
+newpath
+39886 50773 moveto
+46182 50773 lineto
+stroke
+newpath
+27047 50693 moveto
+32089 50693 lineto
+stroke
+newpath
+39966 50693 moveto
+46182 50693 lineto
+stroke
+newpath
+27047 50613 moveto
+32089 50613 lineto
+stroke
+newpath
+40046 50613 moveto
+46182 50613 lineto
+stroke
+newpath
+27047 50533 moveto
+32089 50533 lineto
+stroke
+newpath
+40126 50533 moveto
+46182 50533 lineto
+stroke
+newpath
+27047 50453 moveto
+32089 50453 lineto
+stroke
+newpath
+40206 50453 moveto
+46182 50453 lineto
+stroke
+newpath
+27047 50373 moveto
+32089 50373 lineto
+stroke
+newpath
+40286 50373 moveto
+46182 50373 lineto
+stroke
+newpath
+27047 50293 moveto
+32089 50293 lineto
+stroke
+newpath
+40366 50293 moveto
+46182 50293 lineto
+stroke
+newpath
+27047 50213 moveto
+32089 50213 lineto
+stroke
+newpath
+40446 50213 moveto
+46182 50213 lineto
+stroke
+newpath
+27047 50133 moveto
+32089 50133 lineto
+stroke
+newpath
+40526 50133 moveto
+46182 50133 lineto
+stroke
+newpath
+27047 50053 moveto
+32089 50053 lineto
+stroke
+newpath
+40606 50053 moveto
+46182 50053 lineto
+stroke
+newpath
+27047 49973 moveto
+32089 49973 lineto
+stroke
+newpath
+40686 49973 moveto
+46182 49973 lineto
+stroke
+newpath
+27047 49893 moveto
+32089 49893 lineto
+stroke
+newpath
+40766 49893 moveto
+46182 49893 lineto
+stroke
+newpath
+27047 49813 moveto
+32093 49813 lineto
+stroke
+newpath
+40846 49813 moveto
+46182 49813 lineto
+stroke
+newpath
+27047 49733 moveto
+32110 49733 lineto
+stroke
+newpath
+40926 49733 moveto
+46182 49733 lineto
+stroke
+newpath
+27047 49653 moveto
+32155 49653 lineto
+stroke
+newpath
+41006 49653 moveto
+46182 49653 lineto
+stroke
+newpath
+27047 49573 moveto
+32221 49573 lineto
+stroke
+newpath
+41086 49573 moveto
+46182 49573 lineto
+stroke
+newpath
+27047 49493 moveto
+32301 49493 lineto
+stroke
+newpath
+41166 49493 moveto
+46182 49493 lineto
+stroke
+newpath
+27047 49413 moveto
+32381 49413 lineto
+stroke
+newpath
+41246 49413 moveto
+46182 49413 lineto
+stroke
+newpath
+27047 49333 moveto
+32461 49333 lineto
+stroke
+newpath
+41326 49333 moveto
+46182 49333 lineto
+stroke
+newpath
+27047 49253 moveto
+32541 49253 lineto
+stroke
+newpath
+41406 49253 moveto
+46182 49253 lineto
+stroke
+newpath
+27047 49173 moveto
+32621 49173 lineto
+stroke
+newpath
+41486 49173 moveto
+46182 49173 lineto
+stroke
+newpath
+27047 49093 moveto
+32701 49093 lineto
+stroke
+newpath
+41566 49093 moveto
+46182 49093 lineto
+stroke
+newpath
+27047 49013 moveto
+32781 49013 lineto
+stroke
+newpath
+41646 49013 moveto
+46182 49013 lineto
+stroke
+newpath
+27047 48933 moveto
+32861 48933 lineto
+stroke
+newpath
+41726 48933 moveto
+46182 48933 lineto
+stroke
+newpath
+27047 48853 moveto
+32941 48853 lineto
+stroke
+newpath
+41806 48853 moveto
+46182 48853 lineto
+stroke
+newpath
+27047 48773 moveto
+33021 48773 lineto
+stroke
+newpath
+41886 48773 moveto
+42111 48773 lineto
+stroke
+newpath
+42670 48773 moveto
+46182 48773 lineto
+stroke
+newpath
+27047 48693 moveto
+33101 48693 lineto
+stroke
+newpath
+41966 48693 moveto
+42030 48693 lineto
+stroke
+newpath
+42750 48693 moveto
+46182 48693 lineto
+stroke
+newpath
+27047 48613 moveto
+33181 48613 lineto
+stroke
+newpath
+42814 48613 moveto
+46182 48613 lineto
+stroke
+newpath
+27047 48533 moveto
+33261 48533 lineto
+stroke
+newpath
+42847 48533 moveto
+46182 48533 lineto
+stroke
+newpath
+27047 48453 moveto
+33341 48453 lineto
+stroke
+newpath
+42876 48453 moveto
+46182 48453 lineto
+stroke
+newpath
+27047 48373 moveto
+33421 48373 lineto
+stroke
+newpath
+42876 48373 moveto
+46182 48373 lineto
+stroke
+newpath
+27047 48293 moveto
+33501 48293 lineto
+stroke
+newpath
+42928 48293 moveto
+46182 48293 lineto
+stroke
+newpath
+27047 48213 moveto
+33581 48213 lineto
+stroke
+newpath
+43008 48213 moveto
+46182 48213 lineto
+stroke
+newpath
+27047 48133 moveto
+33661 48133 lineto
+stroke
+newpath
+43088 48133 moveto
+46182 48133 lineto
+stroke
+newpath
+27047 48053 moveto
+33741 48053 lineto
+stroke
+newpath
+43168 48053 moveto
+46182 48053 lineto
+stroke
+newpath
+27047 47973 moveto
+33821 47973 lineto
+stroke
+newpath
+43248 47973 moveto
+46182 47973 lineto
+stroke
+newpath
+27047 47893 moveto
+33901 47893 lineto
+stroke
+newpath
+43328 47893 moveto
+46182 47893 lineto
+stroke
+newpath
+27047 47813 moveto
+33981 47813 lineto
+stroke
+newpath
+43408 47813 moveto
+46182 47813 lineto
+stroke
+newpath
+27047 47733 moveto
+34061 47733 lineto
+stroke
+newpath
+43488 47733 moveto
+46182 47733 lineto
+stroke
+newpath
+27047 47653 moveto
+34141 47653 lineto
+stroke
+newpath
+43553 47653 moveto
+46182 47653 lineto
+stroke
+newpath
+27047 47573 moveto
+34221 47573 lineto
+stroke
+newpath
+43598 47573 moveto
+46182 47573 lineto
+stroke
+newpath
+27047 47493 moveto
+34301 47493 lineto
+stroke
+newpath
+43613 47493 moveto
+46182 47493 lineto
+stroke
+newpath
+27047 47413 moveto
+34381 47413 lineto
+stroke
+newpath
+43619 47413 moveto
+46182 47413 lineto
+stroke
+newpath
+27047 47333 moveto
+34461 47333 lineto
+stroke
+newpath
+43619 47333 moveto
+46182 47333 lineto
+stroke
+newpath
+27047 47253 moveto
+34541 47253 lineto
+stroke
+newpath
+43619 47253 moveto
+46182 47253 lineto
+stroke
+newpath
+27047 47173 moveto
+34621 47173 lineto
+stroke
+newpath
+43619 47173 moveto
+46182 47173 lineto
+stroke
+newpath
+27047 47093 moveto
+34701 47093 lineto
+stroke
+newpath
+43619 47093 moveto
+46182 47093 lineto
+stroke
+newpath
+27047 47013 moveto
+34781 47013 lineto
+stroke
+newpath
+43619 47013 moveto
+46182 47013 lineto
+stroke
+newpath
+27047 46933 moveto
+32994 46933 lineto
+stroke
+newpath
+33308 46933 moveto
+34861 46933 lineto
+stroke
+newpath
+43619 46933 moveto
+46182 46933 lineto
+stroke
+newpath
+27047 46853 moveto
+32844 46853 lineto
+stroke
+newpath
+33457 46853 moveto
+34941 46853 lineto
+stroke
+newpath
+43619 46853 moveto
+46182 46853 lineto
+stroke
+newpath
+27047 46773 moveto
+32764 46773 lineto
+stroke
+newpath
+33537 46773 moveto
+35021 46773 lineto
+stroke
+newpath
+43619 46773 moveto
+46182 46773 lineto
+stroke
+newpath
+27047 46693 moveto
+32716 46693 lineto
+stroke
+newpath
+33585 46693 moveto
+35101 46693 lineto
+stroke
+newpath
+41156 46693 moveto
+41230 46693 lineto
+stroke
+newpath
+43619 46693 moveto
+46182 46693 lineto
+stroke
+newpath
+27047 46613 moveto
+32683 46613 lineto
+stroke
+newpath
+33618 46613 moveto
+35181 46613 lineto
+stroke
+newpath
+41076 46613 moveto
+41230 46613 lineto
+stroke
+newpath
+43619 46613 moveto
+46182 46613 lineto
+stroke
+newpath
+27047 46533 moveto
+32664 46533 lineto
+stroke
+newpath
+33636 46533 moveto
+35261 46533 lineto
+stroke
+newpath
+40996 46533 moveto
+41230 46533 lineto
+stroke
+newpath
+43619 46533 moveto
+46182 46533 lineto
+stroke
+newpath
+27047 46453 moveto
+32664 46453 lineto
+stroke
+newpath
+33636 46453 moveto
+35341 46453 lineto
+stroke
+newpath
+40916 46453 moveto
+41230 46453 lineto
+stroke
+newpath
+43619 46453 moveto
+46182 46453 lineto
+stroke
+newpath
+27047 46373 moveto
+32665 46373 lineto
+stroke
+newpath
+33635 46373 moveto
+35421 46373 lineto
+stroke
+newpath
+40836 46373 moveto
+41230 46373 lineto
+stroke
+newpath
+43619 46373 moveto
+46182 46373 lineto
+stroke
+newpath
+27047 46293 moveto
+32698 46293 lineto
+stroke
+newpath
+33602 46293 moveto
+35501 46293 lineto
+stroke
+newpath
+40756 46293 moveto
+41230 46293 lineto
+stroke
+newpath
+43619 46293 moveto
+46182 46293 lineto
+stroke
+newpath
+27047 46213 moveto
+32731 46213 lineto
+stroke
+newpath
+33569 46213 moveto
+35581 46213 lineto
+stroke
+newpath
+40676 46213 moveto
+41230 46213 lineto
+stroke
+newpath
+43619 46213 moveto
+46182 46213 lineto
+stroke
+newpath
+27047 46133 moveto
+32802 46133 lineto
+stroke
+newpath
+33498 46133 moveto
+35661 46133 lineto
+stroke
+newpath
+40596 46133 moveto
+41230 46133 lineto
+stroke
+newpath
+43619 46133 moveto
+46182 46133 lineto
+stroke
+newpath
+27047 46053 moveto
+32821 46053 lineto
+stroke
+newpath
+33479 46053 moveto
+35741 46053 lineto
+stroke
+newpath
+40516 46053 moveto
+41230 46053 lineto
+stroke
+newpath
+43619 46053 moveto
+46182 46053 lineto
+stroke
+newpath
+27047 45973 moveto
+32821 45973 lineto
+stroke
+newpath
+33479 45973 moveto
+35821 45973 lineto
+stroke
+newpath
+40453 45973 moveto
+41230 45973 lineto
+stroke
+newpath
+43619 45973 moveto
+46182 45973 lineto
+stroke
+newpath
+27047 45893 moveto
+32821 45893 lineto
+stroke
+newpath
+33479 45893 moveto
+35901 45893 lineto
+stroke
+newpath
+40453 45893 moveto
+41230 45893 lineto
+stroke
+newpath
+43619 45893 moveto
+46182 45893 lineto
+stroke
+newpath
+27047 45813 moveto
+32821 45813 lineto
+stroke
+newpath
+33479 45813 moveto
+35981 45813 lineto
+stroke
+newpath
+40453 45813 moveto
+41230 45813 lineto
+stroke
+newpath
+43606 45813 moveto
+46182 45813 lineto
+stroke
+newpath
+27047 45733 moveto
+32821 45733 lineto
+stroke
+newpath
+33479 45733 moveto
+36061 45733 lineto
+stroke
+newpath
+40453 45733 moveto
+41230 45733 lineto
+stroke
+newpath
+43586 45733 moveto
+46182 45733 lineto
+stroke
+newpath
+27047 45653 moveto
+32821 45653 lineto
+stroke
+newpath
+33479 45653 moveto
+36141 45653 lineto
+stroke
+newpath
+40451 45653 moveto
+41230 45653 lineto
+stroke
+newpath
+43532 45653 moveto
+46182 45653 lineto
+stroke
+newpath
+27047 45573 moveto
+32821 45573 lineto
+stroke
+newpath
+33479 45573 moveto
+36221 45573 lineto
+stroke
+newpath
+40435 45573 moveto
+41230 45573 lineto
+stroke
+newpath
+43456 45573 moveto
+46182 45573 lineto
+stroke
+newpath
+27047 45493 moveto
+32821 45493 lineto
+stroke
+newpath
+33479 45493 moveto
+36301 45493 lineto
+stroke
+newpath
+40401 45493 moveto
+41230 45493 lineto
+stroke
+newpath
+43376 45493 moveto
+46182 45493 lineto
+stroke
+newpath
+27047 45413 moveto
+32821 45413 lineto
+stroke
+newpath
+33479 45413 moveto
+36381 45413 lineto
+stroke
+newpath
+40342 45413 moveto
+41230 45413 lineto
+stroke
+newpath
+43296 45413 moveto
+46182 45413 lineto
+stroke
+newpath
+27047 45333 moveto
+32821 45333 lineto
+stroke
+newpath
+33479 45333 moveto
+36461 45333 lineto
+stroke
+newpath
+40262 45333 moveto
+41230 45333 lineto
+stroke
+newpath
+43216 45333 moveto
+46182 45333 lineto
+stroke
+newpath
+27047 45253 moveto
+32821 45253 lineto
+stroke
+newpath
+33479 45253 moveto
+36541 45253 lineto
+stroke
+newpath
+40258 45253 moveto
+41230 45253 lineto
+stroke
+newpath
+43136 45253 moveto
+46182 45253 lineto
+stroke
+newpath
+27047 45173 moveto
+32821 45173 lineto
+stroke
+newpath
+33479 45173 moveto
+36621 45173 lineto
+stroke
+newpath
+40291 45173 moveto
+41230 45173 lineto
+stroke
+newpath
+43056 45173 moveto
+46182 45173 lineto
+stroke
+newpath
+27047 45093 moveto
+32821 45093 lineto
+stroke
+newpath
+33479 45093 moveto
+36701 45093 lineto
+stroke
+newpath
+40310 45093 moveto
+41230 45093 lineto
+stroke
+newpath
+43074 45093 moveto
+46182 45093 lineto
+stroke
+newpath
+27047 45013 moveto
+32821 45013 lineto
+stroke
+newpath
+33479 45013 moveto
+36781 45013 lineto
+stroke
+newpath
+40310 45013 moveto
+41230 45013 lineto
+stroke
+newpath
+43114 45013 moveto
+46182 45013 lineto
+stroke
+newpath
+27047 44933 moveto
+32821 44933 lineto
+stroke
+newpath
+33479 44933 moveto
+36861 44933 lineto
+stroke
+newpath
+40309 44933 moveto
+41230 44933 lineto
+stroke
+newpath
+43123 44933 moveto
+46182 44933 lineto
+stroke
+newpath
+27047 44853 moveto
+32821 44853 lineto
+stroke
+newpath
+33479 44853 moveto
+36941 44853 lineto
+stroke
+newpath
+40276 44853 moveto
+41230 44853 lineto
+stroke
+newpath
+43123 44853 moveto
+46182 44853 lineto
+stroke
+newpath
+27047 44773 moveto
+32821 44773 lineto
+stroke
+newpath
+33479 44773 moveto
+37033 44773 lineto
+stroke
+newpath
+40243 44773 moveto
+41230 44773 lineto
+stroke
+newpath
+43123 44773 moveto
+46182 44773 lineto
+stroke
+newpath
+27047 44693 moveto
+32821 44693 lineto
+stroke
+newpath
+33479 44693 moveto
+33990 44693 lineto
+stroke
+newpath
+34241 44693 moveto
+34990 44693 lineto
+stroke
+newpath
+35241 44693 moveto
+35990 44693 lineto
+stroke
+newpath
+36241 44693 moveto
+36990 44693 lineto
+stroke
+newpath
+37241 44693 moveto
+37990 44693 lineto
+stroke
+newpath
+38241 44693 moveto
+39474 44693 lineto
+stroke
+newpath
+40173 44693 moveto
+41230 44693 lineto
+stroke
+newpath
+43123 44693 moveto
+46182 44693 lineto
+stroke
+newpath
+27047 44613 moveto
+32821 44613 lineto
+stroke
+newpath
+33479 44613 moveto
+33795 44613 lineto
+stroke
+newpath
+34433 44613 moveto
+34795 44613 lineto
+stroke
+newpath
+35433 44613 moveto
+35795 44613 lineto
+stroke
+newpath
+36433 44613 moveto
+36795 44613 lineto
+stroke
+newpath
+37433 44613 moveto
+37795 44613 lineto
+stroke
+newpath
+38433 44613 moveto
+38580 44613 lineto
+stroke
+newpath
+40084 44613 moveto
+41230 44613 lineto
+stroke
+newpath
+43123 44613 moveto
+46182 44613 lineto
+stroke
+newpath
+27047 44533 moveto
+32821 44533 lineto
+stroke
+newpath
+33479 44533 moveto
+33700 44533 lineto
+stroke
+newpath
+34528 44533 moveto
+34700 44533 lineto
+stroke
+newpath
+35528 44533 moveto
+35700 44533 lineto
+stroke
+newpath
+36528 44533 moveto
+36700 44533 lineto
+stroke
+newpath
+37528 44533 moveto
+37700 44533 lineto
+stroke
+newpath
+39700 44533 moveto
+41232 44533 lineto
+stroke
+newpath
+43123 44533 moveto
+46182 44533 lineto
+stroke
+newpath
+27047 44453 moveto
+32821 44453 lineto
+stroke
+newpath
+33479 44453 moveto
+33620 44453 lineto
+stroke
+newpath
+34608 44453 moveto
+34620 44453 lineto
+stroke
+newpath
+35608 44453 moveto
+35620 44453 lineto
+stroke
+newpath
+36608 44453 moveto
+36620 44453 lineto
+stroke
+newpath
+37608 44453 moveto
+37619 44453 lineto
+stroke
+newpath
+39717 44453 moveto
+41248 44453 lineto
+stroke
+newpath
+43123 44453 moveto
+46182 44453 lineto
+stroke
+newpath
+27047 44373 moveto
+32821 44373 lineto
+stroke
+newpath
+33517 44373 moveto
+33574 44373 lineto
+stroke
+newpath
+39717 44373 moveto
+41287 44373 lineto
+stroke
+newpath
+43123 44373 moveto
+46182 44373 lineto
+stroke
+newpath
+27047 44293 moveto
+32821 44293 lineto
+stroke
+newpath
+39717 44293 moveto
+41348 44293 lineto
+stroke
+newpath
+43123 44293 moveto
+46182 44293 lineto
+stroke
+newpath
+27047 44213 moveto
+32832 44213 lineto
+stroke
+newpath
+39717 44213 moveto
+41428 44213 lineto
+stroke
+newpath
+43123 44213 moveto
+46182 44213 lineto
+stroke
+newpath
+27047 44133 moveto
+32855 44133 lineto
+stroke
+newpath
+39717 44133 moveto
+41508 44133 lineto
+stroke
+newpath
+43102 44133 moveto
+46182 44133 lineto
+stroke
+newpath
+27047 44053 moveto
+32909 44053 lineto
+stroke
+newpath
+39717 44053 moveto
+41588 44053 lineto
+stroke
+newpath
+43046 44053 moveto
+46182 44053 lineto
+stroke
+newpath
+27047 43973 moveto
+32985 43973 lineto
+stroke
+newpath
+39717 43973 moveto
+41668 43973 lineto
+stroke
+newpath
+42987 43973 moveto
+46182 43973 lineto
+stroke
+newpath
+27047 43893 moveto
+33065 43893 lineto
+stroke
+newpath
+39717 43893 moveto
+41748 43893 lineto
+stroke
+newpath
+43047 43893 moveto
+46182 43893 lineto
+stroke
+newpath
+27047 43813 moveto
+33145 43813 lineto
+stroke
+newpath
+39717 43813 moveto
+41828 43813 lineto
+stroke
+newpath
+43080 43813 moveto
+46182 43813 lineto
+stroke
+newpath
+27047 43733 moveto
+33225 43733 lineto
+stroke
+newpath
+39717 43733 moveto
+41908 43733 lineto
+stroke
+newpath
+43112 43733 moveto
+46182 43733 lineto
+stroke
+newpath
+27047 43653 moveto
+33305 43653 lineto
+stroke
+newpath
+34540 43653 moveto
+34688 43653 lineto
+stroke
+newpath
+35540 43653 moveto
+35688 43653 lineto
+stroke
+newpath
+36539 43653 moveto
+36687 43653 lineto
+stroke
+newpath
+37540 43653 moveto
+37688 43653 lineto
+stroke
+newpath
+39704 43653 moveto
+41917 43653 lineto
+stroke
+newpath
+43123 43653 moveto
+46182 43653 lineto
+stroke
+newpath
+27047 43573 moveto
+33385 43573 lineto
+stroke
+newpath
+34460 43573 moveto
+34768 43573 lineto
+stroke
+newpath
+35460 43573 moveto
+35768 43573 lineto
+stroke
+newpath
+36459 43573 moveto
+36767 43573 lineto
+stroke
+newpath
+37460 43573 moveto
+37768 43573 lineto
+stroke
+newpath
+38459 43573 moveto
+38568 43573 lineto
+stroke
+newpath
+39660 43573 moveto
+41917 43573 lineto
+stroke
+newpath
+43123 43573 moveto
+46182 43573 lineto
+stroke
+newpath
+27047 43493 moveto
+33465 43493 lineto
+stroke
+newpath
+34537 43493 moveto
+34958 43493 lineto
+stroke
+newpath
+35268 43493 moveto
+35958 43493 lineto
+stroke
+newpath
+36268 43493 moveto
+36958 43493 lineto
+stroke
+newpath
+37268 43493 moveto
+37958 43493 lineto
+stroke
+newpath
+38268 43493 moveto
+38688 43493 lineto
+stroke
+newpath
+39538 43493 moveto
+41917 43493 lineto
+stroke
+newpath
+43123 43493 moveto
+46182 43493 lineto
+stroke
+newpath
+27047 43413 moveto
+33545 43413 lineto
+stroke
+newpath
+34699 43413 moveto
+41939 43413 lineto
+stroke
+newpath
+43100 43413 moveto
+46182 43413 lineto
+stroke
+newpath
+27047 43333 moveto
+33625 43333 lineto
+stroke
+newpath
+34779 43333 moveto
+41972 43333 lineto
+stroke
+newpath
+43067 43333 moveto
+46182 43333 lineto
+stroke
+newpath
+27047 43253 moveto
+33705 43253 lineto
+stroke
+newpath
+34832 43253 moveto
+42005 43253 lineto
+stroke
+newpath
+43034 43253 moveto
+46182 43253 lineto
+stroke
+newpath
+27047 43173 moveto
+33785 43173 lineto
+stroke
+newpath
+34865 43173 moveto
+42081 43173 lineto
+stroke
+newpath
+42959 43173 moveto
+46182 43173 lineto
+stroke
+newpath
+27047 43093 moveto
+33865 43093 lineto
+stroke
+newpath
+34887 43093 moveto
+42161 43093 lineto
+stroke
+newpath
+42879 43093 moveto
+46182 43093 lineto
+stroke
+newpath
+27047 43013 moveto
+33915 43013 lineto
+stroke
+newpath
+34887 43013 moveto
+42329 43013 lineto
+stroke
+newpath
+42709 43013 moveto
+46182 43013 lineto
+stroke
+newpath
+27047 42933 moveto
+33915 42933 lineto
+stroke
+newpath
+34887 42933 moveto
+46182 42933 lineto
+stroke
+newpath
+27047 42853 moveto
+33945 42853 lineto
+stroke
+newpath
+34856 42853 moveto
+46182 42853 lineto
+stroke
+newpath
+27047 42773 moveto
+33978 42773 lineto
+stroke
+newpath
+34823 42773 moveto
+46182 42773 lineto
+stroke
+newpath
+27047 42693 moveto
+34043 42693 lineto
+stroke
+newpath
+34758 42693 moveto
+46182 42693 lineto
+stroke
+newpath
+27047 42613 moveto
+34123 42613 lineto
+stroke
+newpath
+34678 42613 moveto
+46182 42613 lineto
+stroke
+newpath
+27047 42533 moveto
+46182 42533 lineto
+stroke
+newpath
+27047 42453 moveto
+46182 42453 lineto
+stroke
+newpath
+27047 42373 moveto
+46182 42373 lineto
+stroke
+newpath
+27047 42293 moveto
+46182 42293 lineto
+stroke
+newpath
+27047 42213 moveto
+46182 42213 lineto
+stroke
+newpath
+27047 42133 moveto
+46182 42133 lineto
+stroke
+newpath
+27047 42053 moveto
+46182 42053 lineto
+stroke
+newpath
+27047 41973 moveto
+46182 41973 lineto
+stroke
+newpath
+27047 41893 moveto
+46182 41893 lineto
+stroke
+newpath
+27047 41813 moveto
+46182 41813 lineto
+stroke
+newpath
+27047 41733 moveto
+46182 41733 lineto
+stroke
+newpath
+27047 41653 moveto
+46182 41653 lineto
+stroke
+newpath
+27047 41573 moveto
+46182 41573 lineto
+stroke
+newpath
+27047 41493 moveto
+46182 41493 lineto
+stroke
+newpath
+27047 41413 moveto
+46182 41413 lineto
+stroke
+newpath
+27047 41333 moveto
+46182 41333 lineto
+stroke
+newpath
+27047 41253 moveto
+27494 41253 lineto
+stroke
+newpath
+27625 41253 moveto
+45407 41253 lineto
+stroke
+newpath
+45538 41253 moveto
+46182 41253 lineto
+stroke
+newpath
+27047 41173 moveto
+27332 41173 lineto
+stroke
+newpath
+27787 41173 moveto
+45245 41173 lineto
+stroke
+newpath
+45700 41173 moveto
+46182 41173 lineto
+stroke
+newpath
+27047 41093 moveto
+27276 41093 lineto
+stroke
+newpath
+27843 41093 moveto
+45189 41093 lineto
+stroke
+newpath
+45756 41093 moveto
+46182 41093 lineto
+stroke
+newpath
+27047 41013 moveto
+27246 41013 lineto
+stroke
+newpath
+27873 41013 moveto
+45159 41013 lineto
+stroke
+newpath
+45786 41013 moveto
+46182 41013 lineto
+stroke
+newpath
+27047 40933 moveto
+27231 40933 lineto
+stroke
+newpath
+27887 40933 moveto
+45144 40933 lineto
+stroke
+newpath
+45800 40933 moveto
+46182 40933 lineto
+stroke
+newpath
+27047 40853 moveto
+27068 40853 lineto
+stroke
+newpath
+28049 40853 moveto
+44984 40853 lineto
+stroke
+newpath
+45962 40853 moveto
+46182 40853 lineto
+stroke
+newpath
+28188 40773 moveto
+44845 40773 lineto
+stroke
+newpath
+46101 40773 moveto
+46182 40773 lineto
+stroke
+newpath
+28241 40693 moveto
+44792 40693 lineto
+stroke
+newpath
+46154 40693 moveto
+46182 40693 lineto
+stroke
+newpath
+28268 40613 moveto
+44765 40613 lineto
+stroke
+newpath
+46181 40613 moveto
+46182 40613 lineto
+stroke
+newpath
+28278 40533 moveto
+44753 40533 lineto
+stroke
+newpath
+28262 40453 moveto
+44769 40453 lineto
+stroke
+newpath
+46175 40453 moveto
+46182 40453 lineto
+stroke
+newpath
+28225 40373 moveto
+44806 40373 lineto
+stroke
+newpath
+46138 40373 moveto
+46182 40373 lineto
+stroke
+newpath
+28156 40293 moveto
+44875 40293 lineto
+stroke
+newpath
+46069 40293 moveto
+46182 40293 lineto
+stroke
+newpath
+27047 40213 moveto
+27202 40213 lineto
+stroke
+newpath
+27915 40213 moveto
+45115 40213 lineto
+stroke
+newpath
+45828 40213 moveto
+46182 40213 lineto
+stroke
+newpath
+27047 40133 moveto
+27234 40133 lineto
+stroke
+newpath
+27883 40133 moveto
+45147 40133 lineto
+stroke
+newpath
+45796 40133 moveto
+46182 40133 lineto
+stroke
+newpath
+27047 40053 moveto
+27250 40053 lineto
+stroke
+newpath
+27867 40053 moveto
+45163 40053 lineto
+stroke
+newpath
+45780 40053 moveto
+46182 40053 lineto
+stroke
+newpath
+27047 39973 moveto
+27290 39973 lineto
+stroke
+newpath
+27827 39973 moveto
+45203 39973 lineto
+stroke
+newpath
+45740 39973 moveto
+46182 39973 lineto
+stroke
+newpath
+27047 39893 moveto
+27364 39893 lineto
+stroke
+newpath
+27753 39893 moveto
+45277 39893 lineto
+stroke
+newpath
+45666 39893 moveto
+46182 39893 lineto
+stroke
+newpath
+27047 39813 moveto
+46182 39813 lineto
+stroke
+newpath
+27047 39733 moveto
+46182 39733 lineto
+stroke
+newpath
+27047 39653 moveto
+46182 39653 lineto
+stroke
+newpath
+42764 47526 moveto
+42764 47526 lineto
+stroke
+newpath
+42764 47446 moveto
+42844 47446 lineto
+stroke
+newpath
+42762 47366 moveto
+42924 47366 lineto
+stroke
+newpath
+42729 47286 moveto
+42961 47286 lineto
+stroke
+newpath
+42696 47206 moveto
+42961 47206 lineto
+stroke
+newpath
+42624 47126 moveto
+42961 47126 lineto
+stroke
+newpath
+42531 47046 moveto
+42961 47046 lineto
+stroke
+newpath
+42170 46966 moveto
+42961 46966 lineto
+stroke
+newpath
+42090 46886 moveto
+42961 46886 lineto
+stroke
+newpath
+42010 46806 moveto
+42961 46806 lineto
+stroke
+newpath
+41930 46726 moveto
+42961 46726 lineto
+stroke
+newpath
+41888 46646 moveto
+42961 46646 lineto
+stroke
+newpath
+41888 46566 moveto
+42961 46566 lineto
+stroke
+newpath
+41888 46486 moveto
+42961 46486 lineto
+stroke
+newpath
+41888 46406 moveto
+42961 46406 lineto
+stroke
+newpath
+41888 46326 moveto
+42961 46326 lineto
+stroke
+newpath
+41888 46246 moveto
+42961 46246 lineto
+stroke
+newpath
+41888 46166 moveto
+42961 46166 lineto
+stroke
+newpath
+41888 46086 moveto
+42961 46086 lineto
+stroke
+newpath
+41888 46006 moveto
+42959 46006 lineto
+stroke
+newpath
+41888 45926 moveto
+42879 45926 lineto
+stroke
+newpath
+41888 45846 moveto
+42799 45846 lineto
+stroke
+newpath
+41888 45766 moveto
+42719 45766 lineto
+stroke
+newpath
+41888 45686 moveto
+42639 45686 lineto
+stroke
+newpath
+41888 45606 moveto
+42559 45606 lineto
+stroke
+newpath
+41888 45526 moveto
+42479 45526 lineto
+stroke
+newpath
+41888 45446 moveto
+42399 45446 lineto
+stroke
+newpath
+41888 45366 moveto
+42319 45366 lineto
+stroke
+newpath
+41888 45286 moveto
+42256 45286 lineto
+stroke
+newpath
+41888 45206 moveto
+42212 45206 lineto
+stroke
+newpath
+41888 45126 moveto
+41999 45126 lineto
+stroke
+newpath
+41888 45046 moveto
+41940 45046 lineto
+stroke
+newpath
+41888 44966 moveto
+41917 44966 lineto
+stroke
+newpath
+41888 44886 moveto
+41917 44886 lineto
+stroke
+newpath
+41888 44806 moveto
+41917 44806 lineto
+stroke
+newpath
+41888 44726 moveto
+41917 44726 lineto
+stroke
+newpath
+33377 50521 moveto
+33377 50521 lineto
+stroke
+newpath
+33315 50441 moveto
+33425 50441 lineto
+stroke
+newpath
+33385 50361 moveto
+33553 50361 lineto
+stroke
+newpath
+33418 50281 moveto
+33636 50281 lineto
+stroke
+newpath
+33451 50201 moveto
+33636 50201 lineto
+stroke
+newpath
+33451 50121 moveto
+33636 50121 lineto
+stroke
+newpath
+33451 50041 moveto
+33636 50041 lineto
+stroke
+newpath
+33432 49961 moveto
+33636 49961 lineto
+stroke
+newpath
+33399 49881 moveto
+33636 49881 lineto
+stroke
+newpath
+33350 49801 moveto
+33636 49801 lineto
+stroke
+newpath
+33270 49721 moveto
+33636 49721 lineto
+stroke
+newpath
+33116 49641 moveto
+33636 49641 lineto
+stroke
+newpath
+33165 49561 moveto
+33648 49561 lineto
+stroke
+newpath
+33245 49481 moveto
+33672 49481 lineto
+stroke
+newpath
+33325 49401 moveto
+33725 49401 lineto
+stroke
+newpath
+33405 49321 moveto
+33802 49321 lineto
+stroke
+newpath
+33485 49241 moveto
+33882 49241 lineto
+stroke
+newpath
+33565 49161 moveto
+33962 49161 lineto
+stroke
+newpath
+33645 49081 moveto
+34042 49081 lineto
+stroke
+newpath
+33725 49001 moveto
+34122 49001 lineto
+stroke
+newpath
+33805 48921 moveto
+34202 48921 lineto
+stroke
+newpath
+33885 48841 moveto
+34282 48841 lineto
+stroke
+newpath
+33965 48761 moveto
+34362 48761 lineto
+stroke
+newpath
+34045 48681 moveto
+34442 48681 lineto
+stroke
+newpath
+34125 48601 moveto
+34522 48601 lineto
+stroke
+newpath
+34205 48521 moveto
+34602 48521 lineto
+stroke
+newpath
+34285 48441 moveto
+34682 48441 lineto
+stroke
+newpath
+34365 48361 moveto
+34762 48361 lineto
+stroke
+newpath
+34445 48281 moveto
+34842 48281 lineto
+stroke
+newpath
+34525 48201 moveto
+34922 48201 lineto
+stroke
+newpath
+34605 48121 moveto
+35002 48121 lineto
+stroke
+newpath
+34685 48041 moveto
+35082 48041 lineto
+stroke
+newpath
+34765 47961 moveto
+35162 47961 lineto
+stroke
+newpath
+34845 47881 moveto
+35242 47881 lineto
+stroke
+newpath
+34925 47801 moveto
+35322 47801 lineto
+stroke
+newpath
+35005 47721 moveto
+35402 47721 lineto
+stroke
+newpath
+35085 47641 moveto
+35482 47641 lineto
+stroke
+newpath
+35165 47561 moveto
+35562 47561 lineto
+stroke
+newpath
+35245 47481 moveto
+35642 47481 lineto
+stroke
+newpath
+35325 47401 moveto
+35722 47401 lineto
+stroke
+newpath
+35405 47321 moveto
+35802 47321 lineto
+stroke
+newpath
+35485 47241 moveto
+35882 47241 lineto
+stroke
+newpath
+35565 47161 moveto
+35962 47161 lineto
+stroke
+newpath
+35645 47081 moveto
+36042 47081 lineto
+stroke
+newpath
+35725 47001 moveto
+36122 47001 lineto
+stroke
+newpath
+35805 46921 moveto
+36202 46921 lineto
+stroke
+newpath
+35885 46841 moveto
+36282 46841 lineto
+stroke
+newpath
+35965 46761 moveto
+36362 46761 lineto
+stroke
+newpath
+36045 46681 moveto
+36442 46681 lineto
+stroke
+newpath
+36125 46601 moveto
+36522 46601 lineto
+stroke
+newpath
+36205 46521 moveto
+36602 46521 lineto
+stroke
+newpath
+36285 46441 moveto
+36682 46441 lineto
+stroke
+newpath
+36365 46361 moveto
+36762 46361 lineto
+stroke
+newpath
+36445 46281 moveto
+36842 46281 lineto
+stroke
+newpath
+36525 46201 moveto
+36922 46201 lineto
+stroke
+newpath
+36605 46121 moveto
+37002 46121 lineto
+stroke
+newpath
+36685 46041 moveto
+37082 46041 lineto
+stroke
+newpath
+36765 45961 moveto
+37162 45961 lineto
+stroke
+newpath
+36845 45881 moveto
+37242 45881 lineto
+stroke
+newpath
+36925 45801 moveto
+37322 45801 lineto
+stroke
+newpath
+37005 45721 moveto
+37402 45721 lineto
+stroke
+newpath
+37085 45641 moveto
+37482 45641 lineto
+stroke
+newpath
+37165 45561 moveto
+37562 45561 lineto
+stroke
+newpath
+37245 45481 moveto
+37642 45481 lineto
+stroke
+newpath
+37325 45401 moveto
+37722 45401 lineto
+stroke
+newpath
+38927 51255 moveto
+38927 51255 lineto
+stroke
+newpath
+38717 51175 moveto
+38927 51175 lineto
+stroke
+newpath
+38637 51095 moveto
+38927 51095 lineto
+stroke
+newpath
+38557 51015 moveto
+38927 51015 lineto
+stroke
+newpath
+38477 50935 moveto
+38926 50935 lineto
+stroke
+newpath
+38397 50855 moveto
+38942 50855 lineto
+stroke
+newpath
+38317 50775 moveto
+38975 50775 lineto
+stroke
+newpath
+38237 50695 moveto
+39032 50695 lineto
+stroke
+newpath
+38157 50615 moveto
+39112 50615 lineto
+stroke
+newpath
+38077 50535 moveto
+39192 50535 lineto
+stroke
+newpath
+37997 50455 moveto
+39272 50455 lineto
+stroke
+newpath
+37917 50375 moveto
+39352 50375 lineto
+stroke
+newpath
+37837 50295 moveto
+39432 50295 lineto
+stroke
+newpath
+37757 50215 moveto
+39512 50215 lineto
+stroke
+newpath
+37677 50135 moveto
+39592 50135 lineto
+stroke
+newpath
+37597 50055 moveto
+39672 50055 lineto
+stroke
+newpath
+37517 49975 moveto
+39752 49975 lineto
+stroke
+newpath
+37437 49895 moveto
+39832 49895 lineto
+stroke
+newpath
+37357 49815 moveto
+39912 49815 lineto
+stroke
+newpath
+37277 49735 moveto
+39992 49735 lineto
+stroke
+newpath
+37197 49655 moveto
+40072 49655 lineto
+stroke
+newpath
+37117 49575 moveto
+40152 49575 lineto
+stroke
+newpath
+37023 49495 moveto
+40232 49495 lineto
+stroke
+newpath
+36152 49415 moveto
+40312 49415 lineto
+stroke
+newpath
+36057 49335 moveto
+40392 49335 lineto
+stroke
+newpath
+35631 49255 moveto
+40472 49255 lineto
+stroke
+newpath
+35561 49175 moveto
+40552 49175 lineto
+stroke
+newpath
+35472 49095 moveto
+40632 49095 lineto
+stroke
+newpath
+35379 49015 moveto
+40712 49015 lineto
+stroke
+newpath
+35459 48935 moveto
+40792 48935 lineto
+stroke
+newpath
+35539 48855 moveto
+40872 48855 lineto
+stroke
+newpath
+35619 48775 moveto
+40952 48775 lineto
+stroke
+newpath
+35699 48695 moveto
+41032 48695 lineto
+stroke
+newpath
+35779 48615 moveto
+41112 48615 lineto
+stroke
+newpath
+35859 48535 moveto
+41192 48535 lineto
+stroke
+newpath
+35939 48455 moveto
+41272 48455 lineto
+stroke
+newpath
+36019 48375 moveto
+41352 48375 lineto
+stroke
+newpath
+36099 48295 moveto
+41432 48295 lineto
+stroke
+newpath
+36179 48215 moveto
+41512 48215 lineto
+stroke
+newpath
+36259 48135 moveto
+41445 48135 lineto
+stroke
+newpath
+36339 48055 moveto
+41380 48055 lineto
+stroke
+newpath
+36419 47975 moveto
+41347 47975 lineto
+stroke
+newpath
+36499 47895 moveto
+41315 47895 lineto
+stroke
+newpath
+36579 47815 moveto
+41315 47815 lineto
+stroke
+newpath
+36659 47735 moveto
+41267 47735 lineto
+stroke
+newpath
+36739 47655 moveto
+41187 47655 lineto
+stroke
+newpath
+36819 47575 moveto
+41107 47575 lineto
+stroke
+newpath
+36899 47495 moveto
+41027 47495 lineto
+stroke
+newpath
+36979 47415 moveto
+40947 47415 lineto
+stroke
+newpath
+37059 47335 moveto
+40867 47335 lineto
+stroke
+newpath
+37139 47255 moveto
+40787 47255 lineto
+stroke
+newpath
+37219 47175 moveto
+40707 47175 lineto
+stroke
+newpath
+37299 47095 moveto
+40627 47095 lineto
+stroke
+newpath
+37379 47015 moveto
+40547 47015 lineto
+stroke
+newpath
+37459 46935 moveto
+40467 46935 lineto
+stroke
+newpath
+37539 46855 moveto
+40387 46855 lineto
+stroke
+newpath
+37619 46775 moveto
+40307 46775 lineto
+stroke
+newpath
+37699 46695 moveto
+40227 46695 lineto
+stroke
+newpath
+37779 46615 moveto
+40147 46615 lineto
+stroke
+newpath
+37859 46535 moveto
+40067 46535 lineto
+stroke
+newpath
+37939 46455 moveto
+39987 46455 lineto
+stroke
+newpath
+38019 46375 moveto
+39907 46375 lineto
+stroke
+newpath
+38099 46295 moveto
+39472 46295 lineto
+stroke
+newpath
+38179 46215 moveto
+39348 46215 lineto
+stroke
+newpath
+34481 52632 moveto
+36951 52632 lineto
+stroke
+newpath
+34408 52552 moveto
+36778 52552 lineto
+stroke
+newpath
+34327 52472 moveto
+36610 52472 lineto
+stroke
+newpath
+34387 52392 moveto
+36530 52392 lineto
+stroke
+newpath
+34467 52312 moveto
+36474 52312 lineto
+stroke
+newpath
+34506 52232 moveto
+36441 52232 lineto
+stroke
+newpath
+34539 52152 moveto
+36417 52152 lineto
+stroke
+newpath
+34568 52072 moveto
+36417 52072 lineto
+stroke
+newpath
+34568 51992 moveto
+36351 51992 lineto
+stroke
+newpath
+34568 51912 moveto
+36271 51912 lineto
+stroke
+newpath
+34564 51832 moveto
+36191 51832 lineto
+stroke
+newpath
+34640 51752 moveto
+36111 51752 lineto
+stroke
+newpath
+34718 51672 moveto
+36031 51672 lineto
+stroke
+newpath
+34771 51592 moveto
+35951 51592 lineto
+stroke
+newpath
+34796 51512 moveto
+35871 51512 lineto
+stroke
+newpath
+34809 51432 moveto
+35791 51432 lineto
+stroke
+newpath
+34809 51352 moveto
+35711 51352 lineto
+stroke
+newpath
+34809 51272 moveto
+35631 51272 lineto
+stroke
+newpath
+34809 51192 moveto
+35551 51192 lineto
+stroke
+newpath
+34809 51112 moveto
+35471 51112 lineto
+stroke
+newpath
+34809 51032 moveto
+35391 51032 lineto
+stroke
+newpath
+34809 50952 moveto
+35311 50952 lineto
+stroke
+newpath
+34809 50872 moveto
+35231 50872 lineto
+stroke
+newpath
+34809 50792 moveto
+35151 50792 lineto
+stroke
+newpath
+34809 50712 moveto
+35071 50712 lineto
+stroke
+newpath
+34809 50632 moveto
+34991 50632 lineto
+stroke
+newpath
+34809 50552 moveto
+34934 50552 lineto
+stroke
+newpath
+34809 50472 moveto
+34900 50472 lineto
+stroke
+newpath
+34809 50392 moveto
+34884 50392 lineto
+stroke
+newpath
+34809 50312 moveto
+34883 50312 lineto
+stroke
+newpath
+34809 50232 moveto
+34883 50232 lineto
+stroke
+newpath
+34809 50152 moveto
+34883 50152 lineto
+stroke
+newpath
+34809 50072 moveto
+34883 50072 lineto
+stroke
+newpath
+34809 49992 moveto
+34883 49992 lineto
+stroke
+newpath
+34809 49912 moveto
+34883 49912 lineto
+stroke
+newpath
+34809 49832 moveto
+34843 49832 lineto
+stroke
+newpath
+35031 54453 moveto
+35031 54453 lineto
+stroke
+newpath
+34951 54373 moveto
+36110 54373 lineto
+stroke
+newpath
+34871 54293 moveto
+36202 54293 lineto
+stroke
+newpath
+34791 54213 moveto
+36382 54213 lineto
+stroke
+newpath
+34711 54133 moveto
+37422 54133 lineto
+stroke
+newpath
+34631 54053 moveto
+37502 54053 lineto
+stroke
+newpath
+34551 53973 moveto
+37582 53973 lineto
+stroke
+newpath
+34471 53893 moveto
+37662 53893 lineto
+stroke
+newpath
+34391 53813 moveto
+37742 53813 lineto
+stroke
+newpath
+34311 53733 moveto
+37822 53733 lineto
+stroke
+newpath
+34231 53653 moveto
+37902 53653 lineto
+stroke
+newpath
+34151 53573 moveto
+37982 53573 lineto
+stroke
+newpath
+34257 53493 moveto
+38062 53493 lineto
+stroke
+newpath
+34366 53413 moveto
+38142 53413 lineto
+stroke
+newpath
+34446 53333 moveto
+38222 53333 lineto
+stroke
+newpath
+37326 53253 moveto
+38302 53253 lineto
+stroke
+newpath
+37578 53173 moveto
+38382 53173 lineto
+stroke
+newpath
+37737 53093 moveto
+38462 53093 lineto
+stroke
+newpath
+37817 53013 moveto
+38542 53013 lineto
+stroke
+newpath
+37869 52933 moveto
+38622 52933 lineto
+stroke
+newpath
+37902 52853 moveto
+38702 52853 lineto
+stroke
+newpath
+37923 52773 moveto
+38782 52773 lineto
+stroke
+newpath
+37923 52693 moveto
+38862 52693 lineto
+stroke
+newpath
+37923 52613 moveto
+38927 52613 lineto
+stroke
+newpath
+37891 52533 moveto
+38927 52533 lineto
+stroke
+newpath
+37858 52453 moveto
+38927 52453 lineto
+stroke
+newpath
+37792 52373 moveto
+38927 52373 lineto
+stroke
+newpath
+37712 52293 moveto
+38927 52293 lineto
+stroke
+newpath
+37373 52213 moveto
+38703 52213 lineto
+stroke
+newpath
+38915 52213 moveto
+38927 52213 lineto
+stroke
+newpath
+37389 52133 moveto
+38523 52133 lineto
+stroke
+newpath
+37389 52053 moveto
+38443 52053 lineto
+stroke
+newpath
+37385 51973 moveto
+38382 51973 lineto
+stroke
+newpath
+37352 51893 moveto
+38349 51893 lineto
+stroke
+newpath
+37319 51813 moveto
+38322 51813 lineto
+stroke
+newpath
+37245 51733 moveto
+38322 51733 lineto
+stroke
+newpath
+37146 51653 moveto
+38264 51653 lineto
+stroke
+newpath
+36863 51573 moveto
+38184 51573 lineto
+stroke
+newpath
+36783 51493 moveto
+38104 51493 lineto
+stroke
+newpath
+36703 51413 moveto
+38024 51413 lineto
+stroke
+newpath
+36623 51333 moveto
+37944 51333 lineto
+stroke
+newpath
+36543 51253 moveto
+37864 51253 lineto
+stroke
+newpath
+36463 51173 moveto
+37784 51173 lineto
+stroke
+newpath
+36383 51093 moveto
+37704 51093 lineto
+stroke
+newpath
+36303 51013 moveto
+37624 51013 lineto
+stroke
+newpath
+36223 50933 moveto
+37544 50933 lineto
+stroke
+newpath
+36143 50853 moveto
+37464 50853 lineto
+stroke
+newpath
+36063 50773 moveto
+37384 50773 lineto
+stroke
+newpath
+35983 50693 moveto
+37304 50693 lineto
+stroke
+newpath
+35903 50613 moveto
+37224 50613 lineto
+stroke
+newpath
+35823 50533 moveto
+37144 50533 lineto
+stroke
+newpath
+35743 50453 moveto
+37064 50453 lineto
+stroke
+newpath
+35663 50373 moveto
+36984 50373 lineto
+stroke
+newpath
+35583 50293 moveto
+36904 50293 lineto
+stroke
+newpath
+35541 50213 moveto
+35639 50213 lineto
+stroke
+newpath
+35977 50213 moveto
+36824 50213 lineto
+stroke
+newpath
+36119 50133 moveto
+36744 50133 lineto
+stroke
+newpath
+33464 51609 moveto
+33464 51609 lineto
+stroke
+newpath
+33384 51529 moveto
+33478 51529 lineto
+stroke
+newpath
+33330 51449 moveto
+33398 51449 lineto
+stroke
+newpath
+33465 52608 moveto
+33465 52608 lineto
+stroke
+newpath
+33385 52528 moveto
+33545 52528 lineto
+stroke
+newpath
+33331 52448 moveto
+33597 52448 lineto
+stroke
+newpath
+33411 52368 moveto
+33517 52368 lineto
+stroke
+newpath
+38780 55389 moveto
+38780 55389 lineto
+stroke
+newpath
+38700 55309 moveto
+38859 55309 lineto
+stroke
+newpath
+38621 55229 moveto
+38940 55229 lineto
+stroke
+newpath
+38533 55149 moveto
+39132 55149 lineto
+stroke
+newpath
+38453 55069 moveto
+39378 55069 lineto
+stroke
+newpath
+38373 54989 moveto
+39378 54989 lineto
+stroke
+newpath
+38293 54909 moveto
+39378 54909 lineto
+stroke
+newpath
+38213 54829 moveto
+39378 54829 lineto
+stroke
+newpath
+38133 54749 moveto
+39378 54749 lineto
+stroke
+newpath
+38053 54669 moveto
+39378 54669 lineto
+stroke
+newpath
+37973 54589 moveto
+39378 54589 lineto
+stroke
+newpath
+37978 54509 moveto
+39378 54509 lineto
+stroke
+newpath
+38058 54429 moveto
+39378 54429 lineto
+stroke
+newpath
+38138 54349 moveto
+39378 54349 lineto
+stroke
+newpath
+38218 54269 moveto
+39378 54269 lineto
+stroke
+newpath
+38298 54189 moveto
+39378 54189 lineto
+stroke
+newpath
+38378 54109 moveto
+39378 54109 lineto
+stroke
+newpath
+38458 54029 moveto
+39378 54029 lineto
+stroke
+newpath
+38538 53949 moveto
+39378 53949 lineto
+stroke
+newpath
+38618 53869 moveto
+39378 53869 lineto
+stroke
+newpath
+38698 53789 moveto
+39378 53789 lineto
+stroke
+newpath
+38778 53709 moveto
+39378 53709 lineto
+stroke
+newpath
+38858 53629 moveto
+39378 53629 lineto
+stroke
+newpath
+38938 53549 moveto
+39378 53549 lineto
+stroke
+newpath
+39018 53469 moveto
+39378 53469 lineto
+stroke
+newpath
+39098 53389 moveto
+39378 53389 lineto
+stroke
+newpath
+39178 53309 moveto
+39378 53309 lineto
+stroke
+newpath
+39258 53229 moveto
+39378 53229 lineto
+stroke
+newpath
+39338 53149 moveto
+39378 53149 lineto
+stroke
+newpath
+28360 56385 moveto
+28688 56385 lineto
+stroke
+newpath
+28360 56305 moveto
+28587 56305 lineto
+stroke
+newpath
+31649 56305 moveto
+33662 56305 lineto
+stroke
+newpath
+28360 56225 moveto
+28544 56225 lineto
+stroke
+newpath
+31693 56225 moveto
+33742 56225 lineto
+stroke
+newpath
+28360 56145 moveto
+28531 56145 lineto
+stroke
+newpath
+31705 56145 moveto
+33822 56145 lineto
+stroke
+newpath
+28360 56065 moveto
+28531 56065 lineto
+stroke
+newpath
+31705 56065 moveto
+33902 56065 lineto
+stroke
+newpath
+28360 55985 moveto
+28531 55985 lineto
+stroke
+newpath
+31705 55985 moveto
+33936 55985 lineto
+stroke
+newpath
+28360 55905 moveto
+28531 55905 lineto
+stroke
+newpath
+31705 55905 moveto
+33936 55905 lineto
+stroke
+newpath
+28360 55825 moveto
+28531 55825 lineto
+stroke
+newpath
+31705 55825 moveto
+33961 55825 lineto
+stroke
+newpath
+28360 55745 moveto
+28531 55745 lineto
+stroke
+newpath
+31705 55745 moveto
+33993 55745 lineto
+stroke
+newpath
+28360 55665 moveto
+28531 55665 lineto
+stroke
+newpath
+31705 55665 moveto
+34026 55665 lineto
+stroke
+newpath
+28360 55585 moveto
+28531 55585 lineto
+stroke
+newpath
+31705 55585 moveto
+34106 55585 lineto
+stroke
+newpath
+34972 55585 moveto
+35080 55585 lineto
+stroke
+newpath
+28360 55505 moveto
+28531 55505 lineto
+stroke
+newpath
+31705 55505 moveto
+34186 55505 lineto
+stroke
+newpath
+34892 55505 moveto
+34979 55505 lineto
+stroke
+newpath
+28360 55425 moveto
+28531 55425 lineto
+stroke
+newpath
+31705 55425 moveto
+34362 55425 lineto
+stroke
+newpath
+34714 55425 moveto
+34943 55425 lineto
+stroke
+newpath
+28360 55345 moveto
+28549 55345 lineto
+stroke
+newpath
+29718 55345 moveto
+30517 55345 lineto
+stroke
+newpath
+31687 55345 moveto
+34799 55345 lineto
+stroke
+newpath
+28360 55265 moveto
+28601 55265 lineto
+stroke
+newpath
+29667 55265 moveto
+30569 55265 lineto
+stroke
+newpath
+31635 55265 moveto
+34693 55265 lineto
+stroke
+newpath
+28360 55185 moveto
+34613 55185 lineto
+stroke
+newpath
+28360 55105 moveto
+34533 55105 lineto
+stroke
+newpath
+28418 55025 moveto
+34453 55025 lineto
+stroke
+newpath
+28498 54945 moveto
+34373 54945 lineto
+stroke
+newpath
+28578 54865 moveto
+34293 54865 lineto
+stroke
+newpath
+28658 54785 moveto
+34213 54785 lineto
+stroke
+newpath
+28738 54705 moveto
+34133 54705 lineto
+stroke
+newpath
+28818 54625 moveto
+34053 54625 lineto
+stroke
+newpath
+28898 54545 moveto
+33973 54545 lineto
+stroke
+newpath
+28978 54465 moveto
+33893 54465 lineto
+stroke
+newpath
+29058 54385 moveto
+33813 54385 lineto
+stroke
+newpath
+29138 54305 moveto
+33733 54305 lineto
+stroke
+newpath
+29218 54225 moveto
+33653 54225 lineto
+stroke
+newpath
+29298 54145 moveto
+33573 54145 lineto
+stroke
+newpath
+29552 54065 moveto
+33493 54065 lineto
+stroke
+newpath
+29654 53985 moveto
+33413 53985 lineto
+stroke
+newpath
+29734 53905 moveto
+33333 53905 lineto
+stroke
+newpath
+29814 53825 moveto
+33253 53825 lineto
+stroke
+newpath
+29894 53745 moveto
+33173 53745 lineto
+stroke
+newpath
+29974 53665 moveto
+33093 53665 lineto
+stroke
+newpath
+30054 53585 moveto
+33013 53585 lineto
+stroke
+newpath
+30134 53505 moveto
+32703 53505 lineto
+stroke
+newpath
+30214 53425 moveto
+32576 53425 lineto
+stroke
+newpath
+36055 55676 moveto
+36444 55676 lineto
+stroke
+newpath
+35982 55596 moveto
+36524 55596 lineto
+stroke
+newpath
+36088 55516 moveto
+36604 55516 lineto
+stroke
+newpath
+36131 55436 moveto
+36684 55436 lineto
+stroke
+newpath
+36248 55356 moveto
+36732 55356 lineto
+stroke
+newpath
+36359 55276 moveto
+36732 55276 lineto
+stroke
+newpath
+36439 55196 moveto
+36763 55196 lineto
+stroke
+newpath
+36519 55116 moveto
+36796 55116 lineto
+stroke
+newpath
+36599 55036 moveto
+36862 55036 lineto
+stroke
+newpath
+39313 46181 moveto
+39397 46264 lineto
+39576 46338 lineto
+39769 46338 lineto
+39853 46303 lineto
+39891 46359 lineto
+41315 47783 lineto
+41315 47900 lineto
+41389 48079 lineto
+41519 48209 lineto
+39023 50704 lineto
+38952 50811 lineto
+38926 50937 lineto
+38927 50942 lineto
+38927 51255 lineto
+38904 51245 lineto
+38787 51245 lineto
+37067 49524 lineto
+36960 49453 lineto
+36834 49427 lineto
+36829 49428 lineto
+36165 49428 lineto
+36082 49345 lineto
+35903 49271 lineto
+35710 49271 lineto
+35648 49297 lineto
+35624 49237 lineto
+35487 49101 lineto
+35349 49045 lineto
+38212 46181 lineto
+39313 46181 lineto
+poly0
+newpath
+27047 58773 moveto
+46182 58773 lineto
+stroke
+newpath
+27047 58693 moveto
+46182 58693 lineto
+stroke
+newpath
+27047 58613 moveto
+46182 58613 lineto
+stroke
+newpath
+27047 58533 moveto
+45302 58533 lineto
+stroke
+newpath
+45643 58533 moveto
+46182 58533 lineto
+stroke
+newpath
+27047 58453 moveto
+45214 58453 lineto
+stroke
+newpath
+45731 58453 moveto
+46182 58453 lineto
+stroke
+newpath
+27047 58373 moveto
+45167 58373 lineto
+stroke
+newpath
+45778 58373 moveto
+46182 58373 lineto
+stroke
+newpath
+27047 58293 moveto
+45151 58293 lineto
+stroke
+newpath
+45794 58293 moveto
+46182 58293 lineto
+stroke
+newpath
+27047 58213 moveto
+45131 58213 lineto
+stroke
+newpath
+45813 58213 moveto
+46182 58213 lineto
+stroke
+newpath
+27047 58133 moveto
+44900 58133 lineto
+stroke
+newpath
+46046 58133 moveto
+46182 58133 lineto
+stroke
+newpath
+27047 58053 moveto
+44817 58053 lineto
+stroke
+newpath
+46129 58053 moveto
+46182 58053 lineto
+stroke
+newpath
+27047 57973 moveto
+44773 57973 lineto
+stroke
+newpath
+46173 57973 moveto
+46182 57973 lineto
+stroke
+newpath
+27047 57893 moveto
+44757 57893 lineto
+stroke
+newpath
+27047 57813 moveto
+44761 57813 lineto
+stroke
+newpath
+27047 57733 moveto
+44780 57733 lineto
+stroke
+newpath
+46164 57733 moveto
+46182 57733 lineto
+stroke
+newpath
+27047 57653 moveto
+44834 57653 lineto
+stroke
+newpath
+46110 57653 moveto
+46182 57653 lineto
+stroke
+newpath
+27047 57573 moveto
+44938 57573 lineto
+stroke
+newpath
+46006 57573 moveto
+46182 57573 lineto
+stroke
+newpath
+27047 57493 moveto
+45144 57493 lineto
+stroke
+newpath
+45800 57493 moveto
+46182 57493 lineto
+stroke
+newpath
+27047 57413 moveto
+45155 57413 lineto
+stroke
+newpath
+45788 57413 moveto
+46182 57413 lineto
+stroke
+newpath
+27047 57333 moveto
+28864 57333 lineto
+stroke
+newpath
+29404 57333 moveto
+30832 57333 lineto
+stroke
+newpath
+31372 57333 moveto
+45177 57333 lineto
+stroke
+newpath
+45766 57333 moveto
+46182 57333 lineto
+stroke
+newpath
+27047 57253 moveto
+28742 57253 lineto
+stroke
+newpath
+29526 57253 moveto
+30710 57253 lineto
+stroke
+newpath
+31494 57253 moveto
+45231 57253 lineto
+stroke
+newpath
+45712 57253 moveto
+46182 57253 lineto
+stroke
+newpath
+27047 57173 moveto
+27928 57173 lineto
+stroke
+newpath
+29606 57173 moveto
+30630 57173 lineto
+stroke
+newpath
+33888 57173 moveto
+45340 57173 lineto
+stroke
+newpath
+45603 57173 moveto
+46182 57173 lineto
+stroke
+newpath
+27047 57093 moveto
+27791 57093 lineto
+stroke
+newpath
+29663 57093 moveto
+30574 57093 lineto
+stroke
+newpath
+34021 57093 moveto
+46182 57093 lineto
+stroke
+newpath
+27047 57013 moveto
+27704 57013 lineto
+stroke
+newpath
+29696 57013 moveto
+30541 57013 lineto
+stroke
+newpath
+34107 57013 moveto
+46182 57013 lineto
+stroke
+newpath
+27047 56933 moveto
+27638 56933 lineto
+stroke
+newpath
+29728 56933 moveto
+30508 56933 lineto
+stroke
+newpath
+34187 56933 moveto
+46182 56933 lineto
+stroke
+newpath
+27047 56853 moveto
+27585 56853 lineto
+stroke
+newpath
+29737 56853 moveto
+30499 56853 lineto
+stroke
+newpath
+34267 56853 moveto
+46182 56853 lineto
+stroke
+newpath
+27047 56773 moveto
+27564 56773 lineto
+stroke
+newpath
+29737 56773 moveto
+30499 56773 lineto
+stroke
+newpath
+34347 56773 moveto
+46182 56773 lineto
+stroke
+newpath
+27047 56693 moveto
+27548 56693 lineto
+stroke
+newpath
+29737 56693 moveto
+30499 56693 lineto
+stroke
+newpath
+34427 56693 moveto
+46182 56693 lineto
+stroke
+newpath
+27047 56613 moveto
+27546 56613 lineto
+stroke
+newpath
+29712 56613 moveto
+30523 56613 lineto
+stroke
+newpath
+34507 56613 moveto
+46182 56613 lineto
+stroke
+newpath
+27047 56533 moveto
+27546 56533 lineto
+stroke
+newpath
+29679 56533 moveto
+30556 56533 lineto
+stroke
+newpath
+34841 56533 moveto
+35238 56533 lineto
+stroke
+newpath
+35841 56533 moveto
+46182 56533 lineto
+stroke
+newpath
+27047 56453 moveto
+27546 56453 lineto
+stroke
+newpath
+29646 56453 moveto
+30589 56453 lineto
+stroke
+newpath
+34945 56453 moveto
+35134 56453 lineto
+stroke
+newpath
+35944 56453 moveto
+46182 56453 lineto
+stroke
+newpath
+27047 56373 moveto
+27546 56373 lineto
+stroke
+newpath
+29591 56373 moveto
+30645 56373 lineto
+stroke
+newpath
+35025 56373 moveto
+35054 56373 lineto
+stroke
+newpath
+36024 56373 moveto
+46182 56373 lineto
+stroke
+newpath
+27047 56293 moveto
+27546 56293 lineto
+stroke
+newpath
+29693 56293 moveto
+30543 56293 lineto
+stroke
+newpath
+36732 56293 moveto
+38037 56293 lineto
+stroke
+newpath
+38524 56293 moveto
+39037 56293 lineto
+stroke
+newpath
+39524 56293 moveto
+46182 56293 lineto
+stroke
+newpath
+27047 56213 moveto
+27546 56213 lineto
+stroke
+newpath
+29729 56213 moveto
+30506 56213 lineto
+stroke
+newpath
+36839 56213 moveto
+37899 56213 lineto
+stroke
+newpath
+38661 56213 moveto
+38899 56213 lineto
+stroke
+newpath
+39661 56213 moveto
+46182 56213 lineto
+stroke
+newpath
+27047 56133 moveto
+27546 56133 lineto
+stroke
+newpath
+36919 56133 moveto
+37819 56133 lineto
+stroke
+newpath
+38741 56133 moveto
+38819 56133 lineto
+stroke
+newpath
+39741 56133 moveto
+46182 56133 lineto
+stroke
+newpath
+27047 56053 moveto
+27546 56053 lineto
+stroke
+newpath
+36999 56053 moveto
+37757 56053 lineto
+stroke
+newpath
+39804 56053 moveto
+46182 56053 lineto
+stroke
+newpath
+27047 55973 moveto
+27546 55973 lineto
+stroke
+newpath
+37079 55973 moveto
+37724 55973 lineto
+stroke
+newpath
+39837 55973 moveto
+46182 55973 lineto
+stroke
+newpath
+27047 55893 moveto
+27546 55893 lineto
+stroke
+newpath
+37159 55893 moveto
+37690 55893 lineto
+stroke
+newpath
+39870 55893 moveto
+46182 55893 lineto
+stroke
+newpath
+27047 55813 moveto
+27546 55813 lineto
+stroke
+newpath
+37415 55813 moveto
+37677 55813 lineto
+stroke
+newpath
+39883 55813 moveto
+46182 55813 lineto
+stroke
+newpath
+27047 55733 moveto
+27546 55733 lineto
+stroke
+newpath
+37541 55733 moveto
+37677 55733 lineto
+stroke
+newpath
+39883 55733 moveto
+46182 55733 lineto
+stroke
+newpath
+27047 55653 moveto
+27546 55653 lineto
+stroke
+newpath
+37621 55653 moveto
+37677 55653 lineto
+stroke
+newpath
+39883 55653 moveto
+46182 55653 lineto
+stroke
+newpath
+27047 55573 moveto
+27546 55573 lineto
+stroke
+newpath
+37659 55573 moveto
+37696 55573 lineto
+stroke
+newpath
+39914 55573 moveto
+46182 55573 lineto
+stroke
+newpath
+27047 55493 moveto
+27546 55493 lineto
+stroke
+newpath
+37692 55493 moveto
+37725 55493 lineto
+stroke
+newpath
+39976 55493 moveto
+46182 55493 lineto
+stroke
+newpath
+27047 55413 moveto
+27546 55413 lineto
+stroke
+newpath
+40017 55413 moveto
+46182 55413 lineto
+stroke
+newpath
+27047 55333 moveto
+27546 55333 lineto
+stroke
+newpath
+40032 55333 moveto
+46182 55333 lineto
+stroke
+newpath
+27047 55253 moveto
+27546 55253 lineto
+stroke
+newpath
+40036 55253 moveto
+46182 55253 lineto
+stroke
+newpath
+27047 55173 moveto
+27546 55173 lineto
+stroke
+newpath
+40036 55173 moveto
+46182 55173 lineto
+stroke
+newpath
+27047 55093 moveto
+27546 55093 lineto
+stroke
+newpath
+40036 55093 moveto
+46182 55093 lineto
+stroke
+newpath
+27047 55013 moveto
+27546 55013 lineto
+stroke
+newpath
+40036 55013 moveto
+46182 55013 lineto
+stroke
+newpath
+27047 54933 moveto
+27546 54933 lineto
+stroke
+newpath
+40036 54933 moveto
+46182 54933 lineto
+stroke
+newpath
+27047 54853 moveto
+27558 54853 lineto
+stroke
+newpath
+40036 54853 moveto
+46182 54853 lineto
+stroke
+newpath
+27047 54773 moveto
+27574 54773 lineto
+stroke
+newpath
+40036 54773 moveto
+46182 54773 lineto
+stroke
+newpath
+27047 54693 moveto
+27620 54693 lineto
+stroke
+newpath
+40036 54693 moveto
+46182 54693 lineto
+stroke
+newpath
+27047 54613 moveto
+27678 54613 lineto
+stroke
+newpath
+40036 54613 moveto
+46182 54613 lineto
+stroke
+newpath
+27047 54533 moveto
+27758 54533 lineto
+stroke
+newpath
+40036 54533 moveto
+46182 54533 lineto
+stroke
+newpath
+27047 54453 moveto
+27838 54453 lineto
+stroke
+newpath
+40036 54453 moveto
+46182 54453 lineto
+stroke
+newpath
+27047 54373 moveto
+27918 54373 lineto
+stroke
+newpath
+40036 54373 moveto
+46182 54373 lineto
+stroke
+newpath
+27047 54293 moveto
+27998 54293 lineto
+stroke
+newpath
+40036 54293 moveto
+46182 54293 lineto
+stroke
+newpath
+27047 54213 moveto
+28078 54213 lineto
+stroke
+newpath
+40036 54213 moveto
+46182 54213 lineto
+stroke
+newpath
+27047 54133 moveto
+28158 54133 lineto
+stroke
+newpath
+40036 54133 moveto
+46182 54133 lineto
+stroke
+newpath
+27047 54053 moveto
+28238 54053 lineto
+stroke
+newpath
+40036 54053 moveto
+46182 54053 lineto
+stroke
+newpath
+27047 53973 moveto
+28318 53973 lineto
+stroke
+newpath
+40036 53973 moveto
+46182 53973 lineto
+stroke
+newpath
+27047 53893 moveto
+28398 53893 lineto
+stroke
+newpath
+40036 53893 moveto
+46182 53893 lineto
+stroke
+newpath
+27047 53813 moveto
+28478 53813 lineto
+stroke
+newpath
+40036 53813 moveto
+46182 53813 lineto
+stroke
+newpath
+27047 53733 moveto
+28558 53733 lineto
+stroke
+newpath
+40036 53733 moveto
+46182 53733 lineto
+stroke
+newpath
+27047 53653 moveto
+28638 53653 lineto
+stroke
+newpath
+40036 53653 moveto
+46182 53653 lineto
+stroke
+newpath
+27047 53573 moveto
+28718 53573 lineto
+stroke
+newpath
+40036 53573 moveto
+46182 53573 lineto
+stroke
+newpath
+27047 53493 moveto
+28798 53493 lineto
+stroke
+newpath
+40036 53493 moveto
+46182 53493 lineto
+stroke
+newpath
+27047 53413 moveto
+28894 53413 lineto
+stroke
+newpath
+40036 53413 moveto
+46182 53413 lineto
+stroke
+newpath
+27047 53333 moveto
+29098 53333 lineto
+stroke
+newpath
+40036 53333 moveto
+46182 53333 lineto
+stroke
+newpath
+27047 53253 moveto
+29234 53253 lineto
+stroke
+newpath
+40036 53253 moveto
+46182 53253 lineto
+stroke
+newpath
+27047 53173 moveto
+29314 53173 lineto
+stroke
+newpath
+40036 53173 moveto
+46182 53173 lineto
+stroke
+newpath
+27047 53093 moveto
+29394 53093 lineto
+stroke
+newpath
+40036 53093 moveto
+46182 53093 lineto
+stroke
+newpath
+27047 53013 moveto
+29474 53013 lineto
+stroke
+newpath
+40036 53013 moveto
+46182 53013 lineto
+stroke
+newpath
+27047 52933 moveto
+29554 52933 lineto
+stroke
+newpath
+40036 52933 moveto
+46182 52933 lineto
+stroke
+newpath
+27047 52853 moveto
+29634 52853 lineto
+stroke
+newpath
+40036 52853 moveto
+46182 52853 lineto
+stroke
+newpath
+27047 52773 moveto
+29714 52773 lineto
+stroke
+newpath
+40036 52773 moveto
+46182 52773 lineto
+stroke
+newpath
+27047 52693 moveto
+29794 52693 lineto
+stroke
+newpath
+40036 52693 moveto
+46182 52693 lineto
+stroke
+newpath
+27047 52613 moveto
+29904 52613 lineto
+stroke
+newpath
+40036 52613 moveto
+46182 52613 lineto
+stroke
+newpath
+27047 52533 moveto
+32540 52533 lineto
+stroke
+newpath
+40036 52533 moveto
+46182 52533 lineto
+stroke
+newpath
+27047 52453 moveto
+32604 52453 lineto
+stroke
+newpath
+40036 52453 moveto
+46182 52453 lineto
+stroke
+newpath
+27047 52373 moveto
+32524 52373 lineto
+stroke
+newpath
+40036 52373 moveto
+46182 52373 lineto
+stroke
+newpath
+27047 52293 moveto
+32450 52293 lineto
+stroke
+newpath
+40036 52293 moveto
+46182 52293 lineto
+stroke
+newpath
+27047 52213 moveto
+32417 52213 lineto
+stroke
+newpath
+40036 52213 moveto
+46182 52213 lineto
+stroke
+newpath
+27047 52133 moveto
+32384 52133 lineto
+stroke
+newpath
+40036 52133 moveto
+46182 52133 lineto
+stroke
+newpath
+27047 52053 moveto
+32362 52053 lineto
+stroke
+newpath
+40036 52053 moveto
+46182 52053 lineto
+stroke
+newpath
+27047 51973 moveto
+32362 51973 lineto
+stroke
+newpath
+40081 51973 moveto
+46182 51973 lineto
+stroke
+newpath
+27047 51893 moveto
+32362 51893 lineto
+stroke
+newpath
+40137 51893 moveto
+46182 51893 lineto
+stroke
+newpath
+27047 51813 moveto
+32351 51813 lineto
+stroke
+newpath
+40170 51813 moveto
+46182 51813 lineto
+stroke
+newpath
+27047 51733 moveto
+32271 51733 lineto
+stroke
+newpath
+40194 51733 moveto
+46182 51733 lineto
+stroke
+newpath
+27047 51653 moveto
+32191 51653 lineto
+stroke
+newpath
+40194 51653 moveto
+46182 51653 lineto
+stroke
+newpath
+27047 51573 moveto
+32136 51573 lineto
+stroke
+newpath
+40194 51573 moveto
+46182 51573 lineto
+stroke
+newpath
+27047 51493 moveto
+32105 51493 lineto
+stroke
+newpath
+40165 51493 moveto
+46182 51493 lineto
+stroke
+newpath
+27047 51413 moveto
+32088 51413 lineto
+stroke
+newpath
+40132 51413 moveto
+46182 51413 lineto
+stroke
+newpath
+27047 51333 moveto
+32089 51333 lineto
+stroke
+newpath
+40070 51333 moveto
+46182 51333 lineto
+stroke
+newpath
+27047 51253 moveto
+32089 51253 lineto
+stroke
+newpath
+39990 51253 moveto
+46182 51253 lineto
+stroke
+newpath
+27047 51173 moveto
+32089 51173 lineto
+stroke
+newpath
+39585 51173 moveto
+39608 51173 lineto
+stroke
+newpath
+39806 51173 moveto
+46182 51173 lineto
+stroke
+newpath
+27047 51093 moveto
+32089 51093 lineto
+stroke
+newpath
+39585 51093 moveto
+46182 51093 lineto
+stroke
+newpath
+27047 51013 moveto
+32089 51013 lineto
+stroke
+newpath
+39646 51013 moveto
+46182 51013 lineto
+stroke
+newpath
+27047 50933 moveto
+32089 50933 lineto
+stroke
+newpath
+39726 50933 moveto
+46182 50933 lineto
+stroke
+newpath
+27047 50853 moveto
+32089 50853 lineto
+stroke
+newpath
+39806 50853 moveto
+46182 50853 lineto
+stroke
+newpath
+27047 50773 moveto
+32089 50773 lineto
+stroke
+newpath
+39886 50773 moveto
+46182 50773 lineto
+stroke
+newpath
+27047 50693 moveto
+32089 50693 lineto
+stroke
+newpath
+39966 50693 moveto
+46182 50693 lineto
+stroke
+newpath
+27047 50613 moveto
+32089 50613 lineto
+stroke
+newpath
+40046 50613 moveto
+46182 50613 lineto
+stroke
+newpath
+27047 50533 moveto
+32089 50533 lineto
+stroke
+newpath
+40126 50533 moveto
+46182 50533 lineto
+stroke
+newpath
+27047 50453 moveto
+32089 50453 lineto
+stroke
+newpath
+40206 50453 moveto
+46182 50453 lineto
+stroke
+newpath
+27047 50373 moveto
+32089 50373 lineto
+stroke
+newpath
+40286 50373 moveto
+46182 50373 lineto
+stroke
+newpath
+27047 50293 moveto
+32089 50293 lineto
+stroke
+newpath
+40366 50293 moveto
+46182 50293 lineto
+stroke
+newpath
+27047 50213 moveto
+32089 50213 lineto
+stroke
+newpath
+40446 50213 moveto
+46182 50213 lineto
+stroke
+newpath
+27047 50133 moveto
+32089 50133 lineto
+stroke
+newpath
+40526 50133 moveto
+46182 50133 lineto
+stroke
+newpath
+27047 50053 moveto
+32089 50053 lineto
+stroke
+newpath
+40606 50053 moveto
+46182 50053 lineto
+stroke
+newpath
+27047 49973 moveto
+32089 49973 lineto
+stroke
+newpath
+40686 49973 moveto
+46182 49973 lineto
+stroke
+newpath
+27047 49893 moveto
+32089 49893 lineto
+stroke
+newpath
+40766 49893 moveto
+46182 49893 lineto
+stroke
+newpath
+27047 49813 moveto
+32093 49813 lineto
+stroke
+newpath
+40846 49813 moveto
+46182 49813 lineto
+stroke
+newpath
+27047 49733 moveto
+32110 49733 lineto
+stroke
+newpath
+40926 49733 moveto
+46182 49733 lineto
+stroke
+newpath
+27047 49653 moveto
+32155 49653 lineto
+stroke
+newpath
+41006 49653 moveto
+46182 49653 lineto
+stroke
+newpath
+27047 49573 moveto
+32221 49573 lineto
+stroke
+newpath
+41086 49573 moveto
+46182 49573 lineto
+stroke
+newpath
+27047 49493 moveto
+32301 49493 lineto
+stroke
+newpath
+41166 49493 moveto
+46182 49493 lineto
+stroke
+newpath
+27047 49413 moveto
+32381 49413 lineto
+stroke
+newpath
+41246 49413 moveto
+46182 49413 lineto
+stroke
+newpath
+27047 49333 moveto
+32461 49333 lineto
+stroke
+newpath
+41326 49333 moveto
+46182 49333 lineto
+stroke
+newpath
+27047 49253 moveto
+32541 49253 lineto
+stroke
+newpath
+41406 49253 moveto
+46182 49253 lineto
+stroke
+newpath
+27047 49173 moveto
+32621 49173 lineto
+stroke
+newpath
+41486 49173 moveto
+46182 49173 lineto
+stroke
+newpath
+27047 49093 moveto
+32701 49093 lineto
+stroke
+newpath
+41566 49093 moveto
+46182 49093 lineto
+stroke
+newpath
+27047 49013 moveto
+32781 49013 lineto
+stroke
+newpath
+41646 49013 moveto
+46182 49013 lineto
+stroke
+newpath
+27047 48933 moveto
+32861 48933 lineto
+stroke
+newpath
+41726 48933 moveto
+46182 48933 lineto
+stroke
+newpath
+27047 48853 moveto
+32941 48853 lineto
+stroke
+newpath
+41806 48853 moveto
+46182 48853 lineto
+stroke
+newpath
+27047 48773 moveto
+33021 48773 lineto
+stroke
+newpath
+41886 48773 moveto
+42111 48773 lineto
+stroke
+newpath
+42670 48773 moveto
+46182 48773 lineto
+stroke
+newpath
+27047 48693 moveto
+33101 48693 lineto
+stroke
+newpath
+41966 48693 moveto
+42030 48693 lineto
+stroke
+newpath
+42750 48693 moveto
+46182 48693 lineto
+stroke
+newpath
+27047 48613 moveto
+33181 48613 lineto
+stroke
+newpath
+42814 48613 moveto
+46182 48613 lineto
+stroke
+newpath
+27047 48533 moveto
+33261 48533 lineto
+stroke
+newpath
+42847 48533 moveto
+46182 48533 lineto
+stroke
+newpath
+27047 48453 moveto
+33341 48453 lineto
+stroke
+newpath
+42876 48453 moveto
+46182 48453 lineto
+stroke
+newpath
+27047 48373 moveto
+33421 48373 lineto
+stroke
+newpath
+42876 48373 moveto
+46182 48373 lineto
+stroke
+newpath
+27047 48293 moveto
+33501 48293 lineto
+stroke
+newpath
+42928 48293 moveto
+46182 48293 lineto
+stroke
+newpath
+27047 48213 moveto
+33581 48213 lineto
+stroke
+newpath
+43008 48213 moveto
+46182 48213 lineto
+stroke
+newpath
+27047 48133 moveto
+33661 48133 lineto
+stroke
+newpath
+43088 48133 moveto
+46182 48133 lineto
+stroke
+newpath
+27047 48053 moveto
+33741 48053 lineto
+stroke
+newpath
+43168 48053 moveto
+46182 48053 lineto
+stroke
+newpath
+27047 47973 moveto
+33821 47973 lineto
+stroke
+newpath
+43248 47973 moveto
+46182 47973 lineto
+stroke
+newpath
+27047 47893 moveto
+33901 47893 lineto
+stroke
+newpath
+43328 47893 moveto
+46182 47893 lineto
+stroke
+newpath
+27047 47813 moveto
+33981 47813 lineto
+stroke
+newpath
+43408 47813 moveto
+46182 47813 lineto
+stroke
+newpath
+27047 47733 moveto
+34061 47733 lineto
+stroke
+newpath
+43488 47733 moveto
+46182 47733 lineto
+stroke
+newpath
+27047 47653 moveto
+34141 47653 lineto
+stroke
+newpath
+43553 47653 moveto
+46182 47653 lineto
+stroke
+newpath
+27047 47573 moveto
+34221 47573 lineto
+stroke
+newpath
+43598 47573 moveto
+46182 47573 lineto
+stroke
+newpath
+27047 47493 moveto
+34301 47493 lineto
+stroke
+newpath
+43613 47493 moveto
+46182 47493 lineto
+stroke
+newpath
+27047 47413 moveto
+34381 47413 lineto
+stroke
+newpath
+43619 47413 moveto
+46182 47413 lineto
+stroke
+newpath
+27047 47333 moveto
+34461 47333 lineto
+stroke
+newpath
+43619 47333 moveto
+46182 47333 lineto
+stroke
+newpath
+27047 47253 moveto
+34541 47253 lineto
+stroke
+newpath
+43619 47253 moveto
+46182 47253 lineto
+stroke
+newpath
+27047 47173 moveto
+34621 47173 lineto
+stroke
+newpath
+43619 47173 moveto
+46182 47173 lineto
+stroke
+newpath
+27047 47093 moveto
+34701 47093 lineto
+stroke
+newpath
+43619 47093 moveto
+46182 47093 lineto
+stroke
+newpath
+27047 47013 moveto
+34781 47013 lineto
+stroke
+newpath
+43619 47013 moveto
+46182 47013 lineto
+stroke
+newpath
+27047 46933 moveto
+32994 46933 lineto
+stroke
+newpath
+33308 46933 moveto
+34861 46933 lineto
+stroke
+newpath
+43619 46933 moveto
+46182 46933 lineto
+stroke
+newpath
+27047 46853 moveto
+32844 46853 lineto
+stroke
+newpath
+33457 46853 moveto
+34941 46853 lineto
+stroke
+newpath
+43619 46853 moveto
+46182 46853 lineto
+stroke
+newpath
+27047 46773 moveto
+32764 46773 lineto
+stroke
+newpath
+33537 46773 moveto
+35021 46773 lineto
+stroke
+newpath
+43619 46773 moveto
+46182 46773 lineto
+stroke
+newpath
+27047 46693 moveto
+32716 46693 lineto
+stroke
+newpath
+33585 46693 moveto
+35101 46693 lineto
+stroke
+newpath
+41156 46693 moveto
+41230 46693 lineto
+stroke
+newpath
+43619 46693 moveto
+46182 46693 lineto
+stroke
+newpath
+27047 46613 moveto
+32683 46613 lineto
+stroke
+newpath
+33618 46613 moveto
+35181 46613 lineto
+stroke
+newpath
+41076 46613 moveto
+41230 46613 lineto
+stroke
+newpath
+43619 46613 moveto
+46182 46613 lineto
+stroke
+newpath
+27047 46533 moveto
+32664 46533 lineto
+stroke
+newpath
+33636 46533 moveto
+35261 46533 lineto
+stroke
+newpath
+40996 46533 moveto
+41230 46533 lineto
+stroke
+newpath
+43619 46533 moveto
+46182 46533 lineto
+stroke
+newpath
+27047 46453 moveto
+32664 46453 lineto
+stroke
+newpath
+33636 46453 moveto
+35341 46453 lineto
+stroke
+newpath
+40916 46453 moveto
+41230 46453 lineto
+stroke
+newpath
+43619 46453 moveto
+46182 46453 lineto
+stroke
+newpath
+27047 46373 moveto
+32665 46373 lineto
+stroke
+newpath
+33635 46373 moveto
+35421 46373 lineto
+stroke
+newpath
+40836 46373 moveto
+41230 46373 lineto
+stroke
+newpath
+43619 46373 moveto
+46182 46373 lineto
+stroke
+newpath
+27047 46293 moveto
+32698 46293 lineto
+stroke
+newpath
+33602 46293 moveto
+35501 46293 lineto
+stroke
+newpath
+40756 46293 moveto
+41230 46293 lineto
+stroke
+newpath
+43619 46293 moveto
+46182 46293 lineto
+stroke
+newpath
+27047 46213 moveto
+32731 46213 lineto
+stroke
+newpath
+33569 46213 moveto
+35581 46213 lineto
+stroke
+newpath
+40676 46213 moveto
+41230 46213 lineto
+stroke
+newpath
+43619 46213 moveto
+46182 46213 lineto
+stroke
+newpath
+27047 46133 moveto
+32802 46133 lineto
+stroke
+newpath
+33498 46133 moveto
+35661 46133 lineto
+stroke
+newpath
+40596 46133 moveto
+41230 46133 lineto
+stroke
+newpath
+43619 46133 moveto
+46182 46133 lineto
+stroke
+newpath
+27047 46053 moveto
+32821 46053 lineto
+stroke
+newpath
+33479 46053 moveto
+35741 46053 lineto
+stroke
+newpath
+40516 46053 moveto
+41230 46053 lineto
+stroke
+newpath
+43619 46053 moveto
+46182 46053 lineto
+stroke
+newpath
+27047 45973 moveto
+32821 45973 lineto
+stroke
+newpath
+33479 45973 moveto
+35821 45973 lineto
+stroke
+newpath
+40453 45973 moveto
+41230 45973 lineto
+stroke
+newpath
+43619 45973 moveto
+46182 45973 lineto
+stroke
+newpath
+27047 45893 moveto
+32821 45893 lineto
+stroke
+newpath
+33479 45893 moveto
+35901 45893 lineto
+stroke
+newpath
+40453 45893 moveto
+41230 45893 lineto
+stroke
+newpath
+43619 45893 moveto
+46182 45893 lineto
+stroke
+newpath
+27047 45813 moveto
+32821 45813 lineto
+stroke
+newpath
+33479 45813 moveto
+35981 45813 lineto
+stroke
+newpath
+40453 45813 moveto
+41230 45813 lineto
+stroke
+newpath
+43606 45813 moveto
+46182 45813 lineto
+stroke
+newpath
+27047 45733 moveto
+32821 45733 lineto
+stroke
+newpath
+33479 45733 moveto
+36061 45733 lineto
+stroke
+newpath
+40453 45733 moveto
+41230 45733 lineto
+stroke
+newpath
+43586 45733 moveto
+46182 45733 lineto
+stroke
+newpath
+27047 45653 moveto
+32821 45653 lineto
+stroke
+newpath
+33479 45653 moveto
+36141 45653 lineto
+stroke
+newpath
+40451 45653 moveto
+41230 45653 lineto
+stroke
+newpath
+43532 45653 moveto
+46182 45653 lineto
+stroke
+newpath
+27047 45573 moveto
+32821 45573 lineto
+stroke
+newpath
+33479 45573 moveto
+36221 45573 lineto
+stroke
+newpath
+40435 45573 moveto
+41230 45573 lineto
+stroke
+newpath
+43456 45573 moveto
+46182 45573 lineto
+stroke
+newpath
+27047 45493 moveto
+32821 45493 lineto
+stroke
+newpath
+33479 45493 moveto
+36301 45493 lineto
+stroke
+newpath
+40401 45493 moveto
+41230 45493 lineto
+stroke
+newpath
+43376 45493 moveto
+46182 45493 lineto
+stroke
+newpath
+27047 45413 moveto
+32821 45413 lineto
+stroke
+newpath
+33479 45413 moveto
+36381 45413 lineto
+stroke
+newpath
+40342 45413 moveto
+41230 45413 lineto
+stroke
+newpath
+43296 45413 moveto
+46182 45413 lineto
+stroke
+newpath
+27047 45333 moveto
+32821 45333 lineto
+stroke
+newpath
+33479 45333 moveto
+36461 45333 lineto
+stroke
+newpath
+40262 45333 moveto
+41230 45333 lineto
+stroke
+newpath
+43216 45333 moveto
+46182 45333 lineto
+stroke
+newpath
+27047 45253 moveto
+32821 45253 lineto
+stroke
+newpath
+33479 45253 moveto
+36541 45253 lineto
+stroke
+newpath
+40258 45253 moveto
+41230 45253 lineto
+stroke
+newpath
+43136 45253 moveto
+46182 45253 lineto
+stroke
+newpath
+27047 45173 moveto
+32821 45173 lineto
+stroke
+newpath
+33479 45173 moveto
+36621 45173 lineto
+stroke
+newpath
+40291 45173 moveto
+41230 45173 lineto
+stroke
+newpath
+43056 45173 moveto
+46182 45173 lineto
+stroke
+newpath
+27047 45093 moveto
+32821 45093 lineto
+stroke
+newpath
+33479 45093 moveto
+36701 45093 lineto
+stroke
+newpath
+40310 45093 moveto
+41230 45093 lineto
+stroke
+newpath
+43074 45093 moveto
+46182 45093 lineto
+stroke
+newpath
+27047 45013 moveto
+32821 45013 lineto
+stroke
+newpath
+33479 45013 moveto
+36781 45013 lineto
+stroke
+newpath
+40310 45013 moveto
+41230 45013 lineto
+stroke
+newpath
+43114 45013 moveto
+46182 45013 lineto
+stroke
+newpath
+27047 44933 moveto
+32821 44933 lineto
+stroke
+newpath
+33479 44933 moveto
+36861 44933 lineto
+stroke
+newpath
+40309 44933 moveto
+41230 44933 lineto
+stroke
+newpath
+43123 44933 moveto
+46182 44933 lineto
+stroke
+newpath
+27047 44853 moveto
+32821 44853 lineto
+stroke
+newpath
+33479 44853 moveto
+36941 44853 lineto
+stroke
+newpath
+40276 44853 moveto
+41230 44853 lineto
+stroke
+newpath
+43123 44853 moveto
+46182 44853 lineto
+stroke
+newpath
+27047 44773 moveto
+32821 44773 lineto
+stroke
+newpath
+33479 44773 moveto
+37033 44773 lineto
+stroke
+newpath
+40243 44773 moveto
+41230 44773 lineto
+stroke
+newpath
+43123 44773 moveto
+46182 44773 lineto
+stroke
+newpath
+27047 44693 moveto
+32821 44693 lineto
+stroke
+newpath
+33479 44693 moveto
+33990 44693 lineto
+stroke
+newpath
+34241 44693 moveto
+34990 44693 lineto
+stroke
+newpath
+35241 44693 moveto
+35990 44693 lineto
+stroke
+newpath
+36241 44693 moveto
+36990 44693 lineto
+stroke
+newpath
+37241 44693 moveto
+37990 44693 lineto
+stroke
+newpath
+38241 44693 moveto
+39474 44693 lineto
+stroke
+newpath
+40173 44693 moveto
+41230 44693 lineto
+stroke
+newpath
+43123 44693 moveto
+46182 44693 lineto
+stroke
+newpath
+27047 44613 moveto
+32821 44613 lineto
+stroke
+newpath
+33479 44613 moveto
+33795 44613 lineto
+stroke
+newpath
+34433 44613 moveto
+34795 44613 lineto
+stroke
+newpath
+35433 44613 moveto
+35795 44613 lineto
+stroke
+newpath
+36433 44613 moveto
+36795 44613 lineto
+stroke
+newpath
+37433 44613 moveto
+37795 44613 lineto
+stroke
+newpath
+38433 44613 moveto
+38580 44613 lineto
+stroke
+newpath
+40084 44613 moveto
+41230 44613 lineto
+stroke
+newpath
+43123 44613 moveto
+46182 44613 lineto
+stroke
+newpath
+27047 44533 moveto
+32821 44533 lineto
+stroke
+newpath
+33479 44533 moveto
+33700 44533 lineto
+stroke
+newpath
+34528 44533 moveto
+34700 44533 lineto
+stroke
+newpath
+35528 44533 moveto
+35700 44533 lineto
+stroke
+newpath
+36528 44533 moveto
+36700 44533 lineto
+stroke
+newpath
+37528 44533 moveto
+37700 44533 lineto
+stroke
+newpath
+39700 44533 moveto
+41232 44533 lineto
+stroke
+newpath
+43123 44533 moveto
+46182 44533 lineto
+stroke
+newpath
+27047 44453 moveto
+32821 44453 lineto
+stroke
+newpath
+33479 44453 moveto
+33620 44453 lineto
+stroke
+newpath
+34608 44453 moveto
+34620 44453 lineto
+stroke
+newpath
+35608 44453 moveto
+35620 44453 lineto
+stroke
+newpath
+36608 44453 moveto
+36620 44453 lineto
+stroke
+newpath
+37608 44453 moveto
+37619 44453 lineto
+stroke
+newpath
+39717 44453 moveto
+41248 44453 lineto
+stroke
+newpath
+43123 44453 moveto
+46182 44453 lineto
+stroke
+newpath
+27047 44373 moveto
+32821 44373 lineto
+stroke
+newpath
+33517 44373 moveto
+33574 44373 lineto
+stroke
+newpath
+39717 44373 moveto
+41287 44373 lineto
+stroke
+newpath
+43123 44373 moveto
+46182 44373 lineto
+stroke
+newpath
+27047 44293 moveto
+32821 44293 lineto
+stroke
+newpath
+39717 44293 moveto
+41348 44293 lineto
+stroke
+newpath
+43123 44293 moveto
+46182 44293 lineto
+stroke
+newpath
+27047 44213 moveto
+32832 44213 lineto
+stroke
+newpath
+39717 44213 moveto
+41428 44213 lineto
+stroke
+newpath
+43123 44213 moveto
+46182 44213 lineto
+stroke
+newpath
+27047 44133 moveto
+32855 44133 lineto
+stroke
+newpath
+39717 44133 moveto
+41508 44133 lineto
+stroke
+newpath
+43102 44133 moveto
+46182 44133 lineto
+stroke
+newpath
+27047 44053 moveto
+32909 44053 lineto
+stroke
+newpath
+39717 44053 moveto
+41588 44053 lineto
+stroke
+newpath
+43046 44053 moveto
+46182 44053 lineto
+stroke
+newpath
+27047 43973 moveto
+32985 43973 lineto
+stroke
+newpath
+39717 43973 moveto
+41668 43973 lineto
+stroke
+newpath
+42987 43973 moveto
+46182 43973 lineto
+stroke
+newpath
+27047 43893 moveto
+33065 43893 lineto
+stroke
+newpath
+39717 43893 moveto
+41748 43893 lineto
+stroke
+newpath
+43047 43893 moveto
+46182 43893 lineto
+stroke
+newpath
+27047 43813 moveto
+33145 43813 lineto
+stroke
+newpath
+39717 43813 moveto
+41828 43813 lineto
+stroke
+newpath
+43080 43813 moveto
+46182 43813 lineto
+stroke
+newpath
+27047 43733 moveto
+33225 43733 lineto
+stroke
+newpath
+39717 43733 moveto
+41908 43733 lineto
+stroke
+newpath
+43112 43733 moveto
+46182 43733 lineto
+stroke
+newpath
+27047 43653 moveto
+33305 43653 lineto
+stroke
+newpath
+34540 43653 moveto
+34688 43653 lineto
+stroke
+newpath
+35540 43653 moveto
+35688 43653 lineto
+stroke
+newpath
+36539 43653 moveto
+36687 43653 lineto
+stroke
+newpath
+37540 43653 moveto
+37688 43653 lineto
+stroke
+newpath
+39704 43653 moveto
+41917 43653 lineto
+stroke
+newpath
+43123 43653 moveto
+46182 43653 lineto
+stroke
+newpath
+27047 43573 moveto
+33385 43573 lineto
+stroke
+newpath
+34460 43573 moveto
+34768 43573 lineto
+stroke
+newpath
+35460 43573 moveto
+35768 43573 lineto
+stroke
+newpath
+36459 43573 moveto
+36767 43573 lineto
+stroke
+newpath
+37460 43573 moveto
+37768 43573 lineto
+stroke
+newpath
+38459 43573 moveto
+38568 43573 lineto
+stroke
+newpath
+39660 43573 moveto
+41917 43573 lineto
+stroke
+newpath
+43123 43573 moveto
+46182 43573 lineto
+stroke
+newpath
+27047 43493 moveto
+33465 43493 lineto
+stroke
+newpath
+34537 43493 moveto
+34958 43493 lineto
+stroke
+newpath
+35268 43493 moveto
+35958 43493 lineto
+stroke
+newpath
+36268 43493 moveto
+36958 43493 lineto
+stroke
+newpath
+37268 43493 moveto
+37958 43493 lineto
+stroke
+newpath
+38268 43493 moveto
+38688 43493 lineto
+stroke
+newpath
+39538 43493 moveto
+41917 43493 lineto
+stroke
+newpath
+43123 43493 moveto
+46182 43493 lineto
+stroke
+newpath
+27047 43413 moveto
+33545 43413 lineto
+stroke
+newpath
+34699 43413 moveto
+41939 43413 lineto
+stroke
+newpath
+43100 43413 moveto
+46182 43413 lineto
+stroke
+newpath
+27047 43333 moveto
+33625 43333 lineto
+stroke
+newpath
+34779 43333 moveto
+41972 43333 lineto
+stroke
+newpath
+43067 43333 moveto
+46182 43333 lineto
+stroke
+newpath
+27047 43253 moveto
+33705 43253 lineto
+stroke
+newpath
+34832 43253 moveto
+42005 43253 lineto
+stroke
+newpath
+43034 43253 moveto
+46182 43253 lineto
+stroke
+newpath
+27047 43173 moveto
+33785 43173 lineto
+stroke
+newpath
+34865 43173 moveto
+42081 43173 lineto
+stroke
+newpath
+42959 43173 moveto
+46182 43173 lineto
+stroke
+newpath
+27047 43093 moveto
+33865 43093 lineto
+stroke
+newpath
+34887 43093 moveto
+42161 43093 lineto
+stroke
+newpath
+42879 43093 moveto
+46182 43093 lineto
+stroke
+newpath
+27047 43013 moveto
+33915 43013 lineto
+stroke
+newpath
+34887 43013 moveto
+42329 43013 lineto
+stroke
+newpath
+42709 43013 moveto
+46182 43013 lineto
+stroke
+newpath
+27047 42933 moveto
+33915 42933 lineto
+stroke
+newpath
+34887 42933 moveto
+46182 42933 lineto
+stroke
+newpath
+27047 42853 moveto
+33945 42853 lineto
+stroke
+newpath
+34856 42853 moveto
+46182 42853 lineto
+stroke
+newpath
+27047 42773 moveto
+33978 42773 lineto
+stroke
+newpath
+34823 42773 moveto
+46182 42773 lineto
+stroke
+newpath
+27047 42693 moveto
+34043 42693 lineto
+stroke
+newpath
+34758 42693 moveto
+46182 42693 lineto
+stroke
+newpath
+27047 42613 moveto
+34123 42613 lineto
+stroke
+newpath
+34678 42613 moveto
+46182 42613 lineto
+stroke
+newpath
+27047 42533 moveto
+46182 42533 lineto
+stroke
+newpath
+27047 42453 moveto
+46182 42453 lineto
+stroke
+newpath
+27047 42373 moveto
+46182 42373 lineto
+stroke
+newpath
+27047 42293 moveto
+46182 42293 lineto
+stroke
+newpath
+27047 42213 moveto
+46182 42213 lineto
+stroke
+newpath
+27047 42133 moveto
+46182 42133 lineto
+stroke
+newpath
+27047 42053 moveto
+46182 42053 lineto
+stroke
+newpath
+27047 41973 moveto
+46182 41973 lineto
+stroke
+newpath
+27047 41893 moveto
+46182 41893 lineto
+stroke
+newpath
+27047 41813 moveto
+46182 41813 lineto
+stroke
+newpath
+27047 41733 moveto
+46182 41733 lineto
+stroke
+newpath
+27047 41653 moveto
+46182 41653 lineto
+stroke
+newpath
+27047 41573 moveto
+46182 41573 lineto
+stroke
+newpath
+27047 41493 moveto
+46182 41493 lineto
+stroke
+newpath
+27047 41413 moveto
+46182 41413 lineto
+stroke
+newpath
+27047 41333 moveto
+46182 41333 lineto
+stroke
+newpath
+27047 41253 moveto
+27494 41253 lineto
+stroke
+newpath
+27625 41253 moveto
+45407 41253 lineto
+stroke
+newpath
+45538 41253 moveto
+46182 41253 lineto
+stroke
+newpath
+27047 41173 moveto
+27332 41173 lineto
+stroke
+newpath
+27787 41173 moveto
+45245 41173 lineto
+stroke
+newpath
+45700 41173 moveto
+46182 41173 lineto
+stroke
+newpath
+27047 41093 moveto
+27276 41093 lineto
+stroke
+newpath
+27843 41093 moveto
+45189 41093 lineto
+stroke
+newpath
+45756 41093 moveto
+46182 41093 lineto
+stroke
+newpath
+27047 41013 moveto
+27246 41013 lineto
+stroke
+newpath
+27873 41013 moveto
+45159 41013 lineto
+stroke
+newpath
+45786 41013 moveto
+46182 41013 lineto
+stroke
+newpath
+27047 40933 moveto
+27231 40933 lineto
+stroke
+newpath
+27887 40933 moveto
+45144 40933 lineto
+stroke
+newpath
+45800 40933 moveto
+46182 40933 lineto
+stroke
+newpath
+27047 40853 moveto
+27068 40853 lineto
+stroke
+newpath
+28049 40853 moveto
+44984 40853 lineto
+stroke
+newpath
+45962 40853 moveto
+46182 40853 lineto
+stroke
+newpath
+28188 40773 moveto
+44845 40773 lineto
+stroke
+newpath
+46101 40773 moveto
+46182 40773 lineto
+stroke
+newpath
+28241 40693 moveto
+44792 40693 lineto
+stroke
+newpath
+46154 40693 moveto
+46182 40693 lineto
+stroke
+newpath
+28268 40613 moveto
+44765 40613 lineto
+stroke
+newpath
+46181 40613 moveto
+46182 40613 lineto
+stroke
+newpath
+28278 40533 moveto
+44753 40533 lineto
+stroke
+newpath
+28262 40453 moveto
+44769 40453 lineto
+stroke
+newpath
+46175 40453 moveto
+46182 40453 lineto
+stroke
+newpath
+28225 40373 moveto
+44806 40373 lineto
+stroke
+newpath
+46138 40373 moveto
+46182 40373 lineto
+stroke
+newpath
+28156 40293 moveto
+44875 40293 lineto
+stroke
+newpath
+46069 40293 moveto
+46182 40293 lineto
+stroke
+newpath
+27047 40213 moveto
+27202 40213 lineto
+stroke
+newpath
+27915 40213 moveto
+45115 40213 lineto
+stroke
+newpath
+45828 40213 moveto
+46182 40213 lineto
+stroke
+newpath
+27047 40133 moveto
+27234 40133 lineto
+stroke
+newpath
+27883 40133 moveto
+45147 40133 lineto
+stroke
+newpath
+45796 40133 moveto
+46182 40133 lineto
+stroke
+newpath
+27047 40053 moveto
+27250 40053 lineto
+stroke
+newpath
+27867 40053 moveto
+45163 40053 lineto
+stroke
+newpath
+45780 40053 moveto
+46182 40053 lineto
+stroke
+newpath
+27047 39973 moveto
+27290 39973 lineto
+stroke
+newpath
+27827 39973 moveto
+45203 39973 lineto
+stroke
+newpath
+45740 39973 moveto
+46182 39973 lineto
+stroke
+newpath
+27047 39893 moveto
+27364 39893 lineto
+stroke
+newpath
+27753 39893 moveto
+45277 39893 lineto
+stroke
+newpath
+45666 39893 moveto
+46182 39893 lineto
+stroke
+newpath
+27047 39813 moveto
+46182 39813 lineto
+stroke
+newpath
+27047 39733 moveto
+46182 39733 lineto
+stroke
+newpath
+27047 39653 moveto
+46182 39653 lineto
+stroke
+newpath
+42764 47526 moveto
+42764 47526 lineto
+stroke
+newpath
+42764 47446 moveto
+42844 47446 lineto
+stroke
+newpath
+42762 47366 moveto
+42924 47366 lineto
+stroke
+newpath
+42729 47286 moveto
+42961 47286 lineto
+stroke
+newpath
+42696 47206 moveto
+42961 47206 lineto
+stroke
+newpath
+42624 47126 moveto
+42961 47126 lineto
+stroke
+newpath
+42531 47046 moveto
+42961 47046 lineto
+stroke
+newpath
+42170 46966 moveto
+42961 46966 lineto
+stroke
+newpath
+42090 46886 moveto
+42961 46886 lineto
+stroke
+newpath
+42010 46806 moveto
+42961 46806 lineto
+stroke
+newpath
+41930 46726 moveto
+42961 46726 lineto
+stroke
+newpath
+41888 46646 moveto
+42961 46646 lineto
+stroke
+newpath
+41888 46566 moveto
+42961 46566 lineto
+stroke
+newpath
+41888 46486 moveto
+42961 46486 lineto
+stroke
+newpath
+41888 46406 moveto
+42961 46406 lineto
+stroke
+newpath
+41888 46326 moveto
+42961 46326 lineto
+stroke
+newpath
+41888 46246 moveto
+42961 46246 lineto
+stroke
+newpath
+41888 46166 moveto
+42961 46166 lineto
+stroke
+newpath
+41888 46086 moveto
+42961 46086 lineto
+stroke
+newpath
+41888 46006 moveto
+42959 46006 lineto
+stroke
+newpath
+41888 45926 moveto
+42879 45926 lineto
+stroke
+newpath
+41888 45846 moveto
+42799 45846 lineto
+stroke
+newpath
+41888 45766 moveto
+42719 45766 lineto
+stroke
+newpath
+41888 45686 moveto
+42639 45686 lineto
+stroke
+newpath
+41888 45606 moveto
+42559 45606 lineto
+stroke
+newpath
+41888 45526 moveto
+42479 45526 lineto
+stroke
+newpath
+41888 45446 moveto
+42399 45446 lineto
+stroke
+newpath
+41888 45366 moveto
+42319 45366 lineto
+stroke
+newpath
+41888 45286 moveto
+42256 45286 lineto
+stroke
+newpath
+41888 45206 moveto
+42212 45206 lineto
+stroke
+newpath
+41888 45126 moveto
+41999 45126 lineto
+stroke
+newpath
+41888 45046 moveto
+41940 45046 lineto
+stroke
+newpath
+41888 44966 moveto
+41917 44966 lineto
+stroke
+newpath
+41888 44886 moveto
+41917 44886 lineto
+stroke
+newpath
+41888 44806 moveto
+41917 44806 lineto
+stroke
+newpath
+41888 44726 moveto
+41917 44726 lineto
+stroke
+newpath
+33377 50521 moveto
+33377 50521 lineto
+stroke
+newpath
+33315 50441 moveto
+33425 50441 lineto
+stroke
+newpath
+33385 50361 moveto
+33553 50361 lineto
+stroke
+newpath
+33418 50281 moveto
+33636 50281 lineto
+stroke
+newpath
+33451 50201 moveto
+33636 50201 lineto
+stroke
+newpath
+33451 50121 moveto
+33636 50121 lineto
+stroke
+newpath
+33451 50041 moveto
+33636 50041 lineto
+stroke
+newpath
+33432 49961 moveto
+33636 49961 lineto
+stroke
+newpath
+33399 49881 moveto
+33636 49881 lineto
+stroke
+newpath
+33350 49801 moveto
+33636 49801 lineto
+stroke
+newpath
+33270 49721 moveto
+33636 49721 lineto
+stroke
+newpath
+33116 49641 moveto
+33636 49641 lineto
+stroke
+newpath
+33165 49561 moveto
+33648 49561 lineto
+stroke
+newpath
+33245 49481 moveto
+33672 49481 lineto
+stroke
+newpath
+33325 49401 moveto
+33725 49401 lineto
+stroke
+newpath
+33405 49321 moveto
+33802 49321 lineto
+stroke
+newpath
+33485 49241 moveto
+33882 49241 lineto
+stroke
+newpath
+33565 49161 moveto
+33962 49161 lineto
+stroke
+newpath
+33645 49081 moveto
+34042 49081 lineto
+stroke
+newpath
+33725 49001 moveto
+34122 49001 lineto
+stroke
+newpath
+33805 48921 moveto
+34202 48921 lineto
+stroke
+newpath
+33885 48841 moveto
+34282 48841 lineto
+stroke
+newpath
+33965 48761 moveto
+34362 48761 lineto
+stroke
+newpath
+34045 48681 moveto
+34442 48681 lineto
+stroke
+newpath
+34125 48601 moveto
+34522 48601 lineto
+stroke
+newpath
+34205 48521 moveto
+34602 48521 lineto
+stroke
+newpath
+34285 48441 moveto
+34682 48441 lineto
+stroke
+newpath
+34365 48361 moveto
+34762 48361 lineto
+stroke
+newpath
+34445 48281 moveto
+34842 48281 lineto
+stroke
+newpath
+34525 48201 moveto
+34922 48201 lineto
+stroke
+newpath
+34605 48121 moveto
+35002 48121 lineto
+stroke
+newpath
+34685 48041 moveto
+35082 48041 lineto
+stroke
+newpath
+34765 47961 moveto
+35162 47961 lineto
+stroke
+newpath
+34845 47881 moveto
+35242 47881 lineto
+stroke
+newpath
+34925 47801 moveto
+35322 47801 lineto
+stroke
+newpath
+35005 47721 moveto
+35402 47721 lineto
+stroke
+newpath
+35085 47641 moveto
+35482 47641 lineto
+stroke
+newpath
+35165 47561 moveto
+35562 47561 lineto
+stroke
+newpath
+35245 47481 moveto
+35642 47481 lineto
+stroke
+newpath
+35325 47401 moveto
+35722 47401 lineto
+stroke
+newpath
+35405 47321 moveto
+35802 47321 lineto
+stroke
+newpath
+35485 47241 moveto
+35882 47241 lineto
+stroke
+newpath
+35565 47161 moveto
+35962 47161 lineto
+stroke
+newpath
+35645 47081 moveto
+36042 47081 lineto
+stroke
+newpath
+35725 47001 moveto
+36122 47001 lineto
+stroke
+newpath
+35805 46921 moveto
+36202 46921 lineto
+stroke
+newpath
+35885 46841 moveto
+36282 46841 lineto
+stroke
+newpath
+35965 46761 moveto
+36362 46761 lineto
+stroke
+newpath
+36045 46681 moveto
+36442 46681 lineto
+stroke
+newpath
+36125 46601 moveto
+36522 46601 lineto
+stroke
+newpath
+36205 46521 moveto
+36602 46521 lineto
+stroke
+newpath
+36285 46441 moveto
+36682 46441 lineto
+stroke
+newpath
+36365 46361 moveto
+36762 46361 lineto
+stroke
+newpath
+36445 46281 moveto
+36842 46281 lineto
+stroke
+newpath
+36525 46201 moveto
+36922 46201 lineto
+stroke
+newpath
+36605 46121 moveto
+37002 46121 lineto
+stroke
+newpath
+36685 46041 moveto
+37082 46041 lineto
+stroke
+newpath
+36765 45961 moveto
+37162 45961 lineto
+stroke
+newpath
+36845 45881 moveto
+37242 45881 lineto
+stroke
+newpath
+36925 45801 moveto
+37322 45801 lineto
+stroke
+newpath
+37005 45721 moveto
+37402 45721 lineto
+stroke
+newpath
+37085 45641 moveto
+37482 45641 lineto
+stroke
+newpath
+37165 45561 moveto
+37562 45561 lineto
+stroke
+newpath
+37245 45481 moveto
+37642 45481 lineto
+stroke
+newpath
+37325 45401 moveto
+37722 45401 lineto
+stroke
+newpath
+38927 51255 moveto
+38927 51255 lineto
+stroke
+newpath
+38717 51175 moveto
+38927 51175 lineto
+stroke
+newpath
+38637 51095 moveto
+38927 51095 lineto
+stroke
+newpath
+38557 51015 moveto
+38927 51015 lineto
+stroke
+newpath
+38477 50935 moveto
+38926 50935 lineto
+stroke
+newpath
+38397 50855 moveto
+38942 50855 lineto
+stroke
+newpath
+38317 50775 moveto
+38975 50775 lineto
+stroke
+newpath
+38237 50695 moveto
+39032 50695 lineto
+stroke
+newpath
+38157 50615 moveto
+39112 50615 lineto
+stroke
+newpath
+38077 50535 moveto
+39192 50535 lineto
+stroke
+newpath
+37997 50455 moveto
+39272 50455 lineto
+stroke
+newpath
+37917 50375 moveto
+39352 50375 lineto
+stroke
+newpath
+37837 50295 moveto
+39432 50295 lineto
+stroke
+newpath
+37757 50215 moveto
+39512 50215 lineto
+stroke
+newpath
+37677 50135 moveto
+39592 50135 lineto
+stroke
+newpath
+37597 50055 moveto
+39672 50055 lineto
+stroke
+newpath
+37517 49975 moveto
+39752 49975 lineto
+stroke
+newpath
+37437 49895 moveto
+39832 49895 lineto
+stroke
+newpath
+37357 49815 moveto
+39912 49815 lineto
+stroke
+newpath
+37277 49735 moveto
+39992 49735 lineto
+stroke
+newpath
+37197 49655 moveto
+40072 49655 lineto
+stroke
+newpath
+37117 49575 moveto
+40152 49575 lineto
+stroke
+newpath
+37023 49495 moveto
+40232 49495 lineto
+stroke
+newpath
+36152 49415 moveto
+40312 49415 lineto
+stroke
+newpath
+36057 49335 moveto
+40392 49335 lineto
+stroke
+newpath
+35631 49255 moveto
+40472 49255 lineto
+stroke
+newpath
+35561 49175 moveto
+40552 49175 lineto
+stroke
+newpath
+35472 49095 moveto
+40632 49095 lineto
+stroke
+newpath
+35379 49015 moveto
+40712 49015 lineto
+stroke
+newpath
+35459 48935 moveto
+40792 48935 lineto
+stroke
+newpath
+35539 48855 moveto
+40872 48855 lineto
+stroke
+newpath
+35619 48775 moveto
+40952 48775 lineto
+stroke
+newpath
+35699 48695 moveto
+41032 48695 lineto
+stroke
+newpath
+35779 48615 moveto
+41112 48615 lineto
+stroke
+newpath
+35859 48535 moveto
+41192 48535 lineto
+stroke
+newpath
+35939 48455 moveto
+41272 48455 lineto
+stroke
+newpath
+36019 48375 moveto
+41352 48375 lineto
+stroke
+newpath
+36099 48295 moveto
+41432 48295 lineto
+stroke
+newpath
+36179 48215 moveto
+41512 48215 lineto
+stroke
+newpath
+36259 48135 moveto
+41445 48135 lineto
+stroke
+newpath
+36339 48055 moveto
+41380 48055 lineto
+stroke
+newpath
+36419 47975 moveto
+41347 47975 lineto
+stroke
+newpath
+36499 47895 moveto
+41315 47895 lineto
+stroke
+newpath
+36579 47815 moveto
+41315 47815 lineto
+stroke
+newpath
+36659 47735 moveto
+41267 47735 lineto
+stroke
+newpath
+36739 47655 moveto
+41187 47655 lineto
+stroke
+newpath
+36819 47575 moveto
+41107 47575 lineto
+stroke
+newpath
+36899 47495 moveto
+41027 47495 lineto
+stroke
+newpath
+36979 47415 moveto
+40947 47415 lineto
+stroke
+newpath
+37059 47335 moveto
+40867 47335 lineto
+stroke
+newpath
+37139 47255 moveto
+40787 47255 lineto
+stroke
+newpath
+37219 47175 moveto
+40707 47175 lineto
+stroke
+newpath
+37299 47095 moveto
+40627 47095 lineto
+stroke
+newpath
+37379 47015 moveto
+40547 47015 lineto
+stroke
+newpath
+37459 46935 moveto
+40467 46935 lineto
+stroke
+newpath
+37539 46855 moveto
+40387 46855 lineto
+stroke
+newpath
+37619 46775 moveto
+40307 46775 lineto
+stroke
+newpath
+37699 46695 moveto
+40227 46695 lineto
+stroke
+newpath
+37779 46615 moveto
+40147 46615 lineto
+stroke
+newpath
+37859 46535 moveto
+40067 46535 lineto
+stroke
+newpath
+37939 46455 moveto
+39987 46455 lineto
+stroke
+newpath
+38019 46375 moveto
+39907 46375 lineto
+stroke
+newpath
+38099 46295 moveto
+39472 46295 lineto
+stroke
+newpath
+38179 46215 moveto
+39348 46215 lineto
+stroke
+newpath
+34481 52632 moveto
+36951 52632 lineto
+stroke
+newpath
+34408 52552 moveto
+36778 52552 lineto
+stroke
+newpath
+34327 52472 moveto
+36610 52472 lineto
+stroke
+newpath
+34387 52392 moveto
+36530 52392 lineto
+stroke
+newpath
+34467 52312 moveto
+36474 52312 lineto
+stroke
+newpath
+34506 52232 moveto
+36441 52232 lineto
+stroke
+newpath
+34539 52152 moveto
+36417 52152 lineto
+stroke
+newpath
+34568 52072 moveto
+36417 52072 lineto
+stroke
+newpath
+34568 51992 moveto
+36351 51992 lineto
+stroke
+newpath
+34568 51912 moveto
+36271 51912 lineto
+stroke
+newpath
+34564 51832 moveto
+36191 51832 lineto
+stroke
+newpath
+34640 51752 moveto
+36111 51752 lineto
+stroke
+newpath
+34718 51672 moveto
+36031 51672 lineto
+stroke
+newpath
+34771 51592 moveto
+35951 51592 lineto
+stroke
+newpath
+34796 51512 moveto
+35871 51512 lineto
+stroke
+newpath
+34809 51432 moveto
+35791 51432 lineto
+stroke
+newpath
+34809 51352 moveto
+35711 51352 lineto
+stroke
+newpath
+34809 51272 moveto
+35631 51272 lineto
+stroke
+newpath
+34809 51192 moveto
+35551 51192 lineto
+stroke
+newpath
+34809 51112 moveto
+35471 51112 lineto
+stroke
+newpath
+34809 51032 moveto
+35391 51032 lineto
+stroke
+newpath
+34809 50952 moveto
+35311 50952 lineto
+stroke
+newpath
+34809 50872 moveto
+35231 50872 lineto
+stroke
+newpath
+34809 50792 moveto
+35151 50792 lineto
+stroke
+newpath
+34809 50712 moveto
+35071 50712 lineto
+stroke
+newpath
+34809 50632 moveto
+34991 50632 lineto
+stroke
+newpath
+34809 50552 moveto
+34934 50552 lineto
+stroke
+newpath
+34809 50472 moveto
+34900 50472 lineto
+stroke
+newpath
+34809 50392 moveto
+34884 50392 lineto
+stroke
+newpath
+34809 50312 moveto
+34883 50312 lineto
+stroke
+newpath
+34809 50232 moveto
+34883 50232 lineto
+stroke
+newpath
+34809 50152 moveto
+34883 50152 lineto
+stroke
+newpath
+34809 50072 moveto
+34883 50072 lineto
+stroke
+newpath
+34809 49992 moveto
+34883 49992 lineto
+stroke
+newpath
+34809 49912 moveto
+34883 49912 lineto
+stroke
+newpath
+34809 49832 moveto
+34843 49832 lineto
+stroke
+newpath
+35031 54453 moveto
+35031 54453 lineto
+stroke
+newpath
+34951 54373 moveto
+36110 54373 lineto
+stroke
+newpath
+34871 54293 moveto
+36202 54293 lineto
+stroke
+newpath
+34791 54213 moveto
+36382 54213 lineto
+stroke
+newpath
+34711 54133 moveto
+37422 54133 lineto
+stroke
+newpath
+34631 54053 moveto
+37502 54053 lineto
+stroke
+newpath
+34551 53973 moveto
+37582 53973 lineto
+stroke
+newpath
+34471 53893 moveto
+37662 53893 lineto
+stroke
+newpath
+34391 53813 moveto
+37742 53813 lineto
+stroke
+newpath
+34311 53733 moveto
+37822 53733 lineto
+stroke
+newpath
+34231 53653 moveto
+37902 53653 lineto
+stroke
+newpath
+34151 53573 moveto
+37982 53573 lineto
+stroke
+newpath
+34257 53493 moveto
+38062 53493 lineto
+stroke
+newpath
+34366 53413 moveto
+38142 53413 lineto
+stroke
+newpath
+34446 53333 moveto
+38222 53333 lineto
+stroke
+newpath
+37326 53253 moveto
+38302 53253 lineto
+stroke
+newpath
+37578 53173 moveto
+38382 53173 lineto
+stroke
+newpath
+37737 53093 moveto
+38462 53093 lineto
+stroke
+newpath
+37817 53013 moveto
+38542 53013 lineto
+stroke
+newpath
+37869 52933 moveto
+38622 52933 lineto
+stroke
+newpath
+37902 52853 moveto
+38702 52853 lineto
+stroke
+newpath
+37923 52773 moveto
+38782 52773 lineto
+stroke
+newpath
+37923 52693 moveto
+38862 52693 lineto
+stroke
+newpath
+37923 52613 moveto
+38927 52613 lineto
+stroke
+newpath
+37891 52533 moveto
+38927 52533 lineto
+stroke
+newpath
+37858 52453 moveto
+38927 52453 lineto
+stroke
+newpath
+37792 52373 moveto
+38927 52373 lineto
+stroke
+newpath
+37712 52293 moveto
+38927 52293 lineto
+stroke
+newpath
+37373 52213 moveto
+38703 52213 lineto
+stroke
+newpath
+38915 52213 moveto
+38927 52213 lineto
+stroke
+newpath
+37389 52133 moveto
+38523 52133 lineto
+stroke
+newpath
+37389 52053 moveto
+38443 52053 lineto
+stroke
+newpath
+37385 51973 moveto
+38382 51973 lineto
+stroke
+newpath
+37352 51893 moveto
+38349 51893 lineto
+stroke
+newpath
+37319 51813 moveto
+38322 51813 lineto
+stroke
+newpath
+37245 51733 moveto
+38322 51733 lineto
+stroke
+newpath
+37146 51653 moveto
+38264 51653 lineto
+stroke
+newpath
+36863 51573 moveto
+38184 51573 lineto
+stroke
+newpath
+36783 51493 moveto
+38104 51493 lineto
+stroke
+newpath
+36703 51413 moveto
+38024 51413 lineto
+stroke
+newpath
+36623 51333 moveto
+37944 51333 lineto
+stroke
+newpath
+36543 51253 moveto
+37864 51253 lineto
+stroke
+newpath
+36463 51173 moveto
+37784 51173 lineto
+stroke
+newpath
+36383 51093 moveto
+37704 51093 lineto
+stroke
+newpath
+36303 51013 moveto
+37624 51013 lineto
+stroke
+newpath
+36223 50933 moveto
+37544 50933 lineto
+stroke
+newpath
+36143 50853 moveto
+37464 50853 lineto
+stroke
+newpath
+36063 50773 moveto
+37384 50773 lineto
+stroke
+newpath
+35983 50693 moveto
+37304 50693 lineto
+stroke
+newpath
+35903 50613 moveto
+37224 50613 lineto
+stroke
+newpath
+35823 50533 moveto
+37144 50533 lineto
+stroke
+newpath
+35743 50453 moveto
+37064 50453 lineto
+stroke
+newpath
+35663 50373 moveto
+36984 50373 lineto
+stroke
+newpath
+35583 50293 moveto
+36904 50293 lineto
+stroke
+newpath
+35541 50213 moveto
+35639 50213 lineto
+stroke
+newpath
+35977 50213 moveto
+36824 50213 lineto
+stroke
+newpath
+36119 50133 moveto
+36744 50133 lineto
+stroke
+newpath
+33464 51609 moveto
+33464 51609 lineto
+stroke
+newpath
+33384 51529 moveto
+33478 51529 lineto
+stroke
+newpath
+33330 51449 moveto
+33398 51449 lineto
+stroke
+newpath
+33465 52608 moveto
+33465 52608 lineto
+stroke
+newpath
+33385 52528 moveto
+33545 52528 lineto
+stroke
+newpath
+33331 52448 moveto
+33597 52448 lineto
+stroke
+newpath
+33411 52368 moveto
+33517 52368 lineto
+stroke
+newpath
+38780 55389 moveto
+38780 55389 lineto
+stroke
+newpath
+38700 55309 moveto
+38859 55309 lineto
+stroke
+newpath
+38621 55229 moveto
+38940 55229 lineto
+stroke
+newpath
+38533 55149 moveto
+39132 55149 lineto
+stroke
+newpath
+38453 55069 moveto
+39378 55069 lineto
+stroke
+newpath
+38373 54989 moveto
+39378 54989 lineto
+stroke
+newpath
+38293 54909 moveto
+39378 54909 lineto
+stroke
+newpath
+38213 54829 moveto
+39378 54829 lineto
+stroke
+newpath
+38133 54749 moveto
+39378 54749 lineto
+stroke
+newpath
+38053 54669 moveto
+39378 54669 lineto
+stroke
+newpath
+37973 54589 moveto
+39378 54589 lineto
+stroke
+newpath
+37978 54509 moveto
+39378 54509 lineto
+stroke
+newpath
+38058 54429 moveto
+39378 54429 lineto
+stroke
+newpath
+38138 54349 moveto
+39378 54349 lineto
+stroke
+newpath
+38218 54269 moveto
+39378 54269 lineto
+stroke
+newpath
+38298 54189 moveto
+39378 54189 lineto
+stroke
+newpath
+38378 54109 moveto
+39378 54109 lineto
+stroke
+newpath
+38458 54029 moveto
+39378 54029 lineto
+stroke
+newpath
+38538 53949 moveto
+39378 53949 lineto
+stroke
+newpath
+38618 53869 moveto
+39378 53869 lineto
+stroke
+newpath
+38698 53789 moveto
+39378 53789 lineto
+stroke
+newpath
+38778 53709 moveto
+39378 53709 lineto
+stroke
+newpath
+38858 53629 moveto
+39378 53629 lineto
+stroke
+newpath
+38938 53549 moveto
+39378 53549 lineto
+stroke
+newpath
+39018 53469 moveto
+39378 53469 lineto
+stroke
+newpath
+39098 53389 moveto
+39378 53389 lineto
+stroke
+newpath
+39178 53309 moveto
+39378 53309 lineto
+stroke
+newpath
+39258 53229 moveto
+39378 53229 lineto
+stroke
+newpath
+39338 53149 moveto
+39378 53149 lineto
+stroke
+newpath
+28360 56385 moveto
+28688 56385 lineto
+stroke
+newpath
+28360 56305 moveto
+28587 56305 lineto
+stroke
+newpath
+31649 56305 moveto
+33662 56305 lineto
+stroke
+newpath
+28360 56225 moveto
+28544 56225 lineto
+stroke
+newpath
+31693 56225 moveto
+33742 56225 lineto
+stroke
+newpath
+28360 56145 moveto
+28531 56145 lineto
+stroke
+newpath
+31705 56145 moveto
+33822 56145 lineto
+stroke
+newpath
+28360 56065 moveto
+28531 56065 lineto
+stroke
+newpath
+31705 56065 moveto
+33902 56065 lineto
+stroke
+newpath
+28360 55985 moveto
+28531 55985 lineto
+stroke
+newpath
+31705 55985 moveto
+33936 55985 lineto
+stroke
+newpath
+28360 55905 moveto
+28531 55905 lineto
+stroke
+newpath
+31705 55905 moveto
+33936 55905 lineto
+stroke
+newpath
+28360 55825 moveto
+28531 55825 lineto
+stroke
+newpath
+31705 55825 moveto
+33961 55825 lineto
+stroke
+newpath
+28360 55745 moveto
+28531 55745 lineto
+stroke
+newpath
+31705 55745 moveto
+33993 55745 lineto
+stroke
+newpath
+28360 55665 moveto
+28531 55665 lineto
+stroke
+newpath
+31705 55665 moveto
+34026 55665 lineto
+stroke
+newpath
+28360 55585 moveto
+28531 55585 lineto
+stroke
+newpath
+31705 55585 moveto
+34106 55585 lineto
+stroke
+newpath
+34972 55585 moveto
+35080 55585 lineto
+stroke
+newpath
+28360 55505 moveto
+28531 55505 lineto
+stroke
+newpath
+31705 55505 moveto
+34186 55505 lineto
+stroke
+newpath
+34892 55505 moveto
+34979 55505 lineto
+stroke
+newpath
+28360 55425 moveto
+28531 55425 lineto
+stroke
+newpath
+31705 55425 moveto
+34362 55425 lineto
+stroke
+newpath
+34714 55425 moveto
+34943 55425 lineto
+stroke
+newpath
+28360 55345 moveto
+28549 55345 lineto
+stroke
+newpath
+29718 55345 moveto
+30517 55345 lineto
+stroke
+newpath
+31687 55345 moveto
+34799 55345 lineto
+stroke
+newpath
+28360 55265 moveto
+28601 55265 lineto
+stroke
+newpath
+29667 55265 moveto
+30569 55265 lineto
+stroke
+newpath
+31635 55265 moveto
+34693 55265 lineto
+stroke
+newpath
+28360 55185 moveto
+34613 55185 lineto
+stroke
+newpath
+28360 55105 moveto
+34533 55105 lineto
+stroke
+newpath
+28418 55025 moveto
+34453 55025 lineto
+stroke
+newpath
+28498 54945 moveto
+34373 54945 lineto
+stroke
+newpath
+28578 54865 moveto
+34293 54865 lineto
+stroke
+newpath
+28658 54785 moveto
+34213 54785 lineto
+stroke
+newpath
+28738 54705 moveto
+34133 54705 lineto
+stroke
+newpath
+28818 54625 moveto
+34053 54625 lineto
+stroke
+newpath
+28898 54545 moveto
+33973 54545 lineto
+stroke
+newpath
+28978 54465 moveto
+33893 54465 lineto
+stroke
+newpath
+29058 54385 moveto
+33813 54385 lineto
+stroke
+newpath
+29138 54305 moveto
+33733 54305 lineto
+stroke
+newpath
+29218 54225 moveto
+33653 54225 lineto
+stroke
+newpath
+29298 54145 moveto
+33573 54145 lineto
+stroke
+newpath
+29552 54065 moveto
+33493 54065 lineto
+stroke
+newpath
+29654 53985 moveto
+33413 53985 lineto
+stroke
+newpath
+29734 53905 moveto
+33333 53905 lineto
+stroke
+newpath
+29814 53825 moveto
+33253 53825 lineto
+stroke
+newpath
+29894 53745 moveto
+33173 53745 lineto
+stroke
+newpath
+29974 53665 moveto
+33093 53665 lineto
+stroke
+newpath
+30054 53585 moveto
+33013 53585 lineto
+stroke
+newpath
+30134 53505 moveto
+32703 53505 lineto
+stroke
+newpath
+30214 53425 moveto
+32576 53425 lineto
+stroke
+newpath
+36055 55676 moveto
+36444 55676 lineto
+stroke
+newpath
+35982 55596 moveto
+36524 55596 lineto
+stroke
+newpath
+36088 55516 moveto
+36604 55516 lineto
+stroke
+newpath
+36131 55436 moveto
+36684 55436 lineto
+stroke
+newpath
+36248 55356 moveto
+36732 55356 lineto
+stroke
+newpath
+36359 55276 moveto
+36732 55276 lineto
+stroke
+newpath
+36439 55196 moveto
+36763 55196 lineto
+stroke
+newpath
+36519 55116 moveto
+36796 55116 lineto
+stroke
+newpath
+36599 55036 moveto
+36862 55036 lineto
+stroke
+newpath
+34809 49798 moveto
+34883 49872 lineto
+34883 50383 lineto
+34882 50387 lineto
+34908 50513 lineto
+34979 50620 lineto
+36417 52058 lineto
+36417 52175 lineto
+36491 52354 lineto
+36628 52490 lineto
+36807 52564 lineto
+36969 52564 lineto
+36951 52609 lineto
+36951 52632 lineto
+34481 52632 lineto
+34476 52619 lineto
+34317 52462 lineto
+34477 52302 lineto
+34568 52080 lineto
+34568 51840 lineto
+34563 51829 lineto
+34710 51681 lineto
+34713 51679 lineto
+34784 51572 lineto
+34809 51446 lineto
+34809 49798 lineto
+poly0
+newpath
+27047 58773 moveto
+46182 58773 lineto
+stroke
+newpath
+27047 58693 moveto
+46182 58693 lineto
+stroke
+newpath
+27047 58613 moveto
+46182 58613 lineto
+stroke
+newpath
+27047 58533 moveto
+45302 58533 lineto
+stroke
+newpath
+45643 58533 moveto
+46182 58533 lineto
+stroke
+newpath
+27047 58453 moveto
+45214 58453 lineto
+stroke
+newpath
+45731 58453 moveto
+46182 58453 lineto
+stroke
+newpath
+27047 58373 moveto
+45167 58373 lineto
+stroke
+newpath
+45778 58373 moveto
+46182 58373 lineto
+stroke
+newpath
+27047 58293 moveto
+45151 58293 lineto
+stroke
+newpath
+45794 58293 moveto
+46182 58293 lineto
+stroke
+newpath
+27047 58213 moveto
+45131 58213 lineto
+stroke
+newpath
+45813 58213 moveto
+46182 58213 lineto
+stroke
+newpath
+27047 58133 moveto
+44900 58133 lineto
+stroke
+newpath
+46046 58133 moveto
+46182 58133 lineto
+stroke
+newpath
+27047 58053 moveto
+44817 58053 lineto
+stroke
+newpath
+46129 58053 moveto
+46182 58053 lineto
+stroke
+newpath
+27047 57973 moveto
+44773 57973 lineto
+stroke
+newpath
+46173 57973 moveto
+46182 57973 lineto
+stroke
+newpath
+27047 57893 moveto
+44757 57893 lineto
+stroke
+newpath
+27047 57813 moveto
+44761 57813 lineto
+stroke
+newpath
+27047 57733 moveto
+44780 57733 lineto
+stroke
+newpath
+46164 57733 moveto
+46182 57733 lineto
+stroke
+newpath
+27047 57653 moveto
+44834 57653 lineto
+stroke
+newpath
+46110 57653 moveto
+46182 57653 lineto
+stroke
+newpath
+27047 57573 moveto
+44938 57573 lineto
+stroke
+newpath
+46006 57573 moveto
+46182 57573 lineto
+stroke
+newpath
+27047 57493 moveto
+45144 57493 lineto
+stroke
+newpath
+45800 57493 moveto
+46182 57493 lineto
+stroke
+newpath
+27047 57413 moveto
+45155 57413 lineto
+stroke
+newpath
+45788 57413 moveto
+46182 57413 lineto
+stroke
+newpath
+27047 57333 moveto
+28864 57333 lineto
+stroke
+newpath
+29404 57333 moveto
+30832 57333 lineto
+stroke
+newpath
+31372 57333 moveto
+45177 57333 lineto
+stroke
+newpath
+45766 57333 moveto
+46182 57333 lineto
+stroke
+newpath
+27047 57253 moveto
+28742 57253 lineto
+stroke
+newpath
+29526 57253 moveto
+30710 57253 lineto
+stroke
+newpath
+31494 57253 moveto
+45231 57253 lineto
+stroke
+newpath
+45712 57253 moveto
+46182 57253 lineto
+stroke
+newpath
+27047 57173 moveto
+27928 57173 lineto
+stroke
+newpath
+29606 57173 moveto
+30630 57173 lineto
+stroke
+newpath
+33888 57173 moveto
+45340 57173 lineto
+stroke
+newpath
+45603 57173 moveto
+46182 57173 lineto
+stroke
+newpath
+27047 57093 moveto
+27791 57093 lineto
+stroke
+newpath
+29663 57093 moveto
+30574 57093 lineto
+stroke
+newpath
+34021 57093 moveto
+46182 57093 lineto
+stroke
+newpath
+27047 57013 moveto
+27704 57013 lineto
+stroke
+newpath
+29696 57013 moveto
+30541 57013 lineto
+stroke
+newpath
+34107 57013 moveto
+46182 57013 lineto
+stroke
+newpath
+27047 56933 moveto
+27638 56933 lineto
+stroke
+newpath
+29728 56933 moveto
+30508 56933 lineto
+stroke
+newpath
+34187 56933 moveto
+46182 56933 lineto
+stroke
+newpath
+27047 56853 moveto
+27585 56853 lineto
+stroke
+newpath
+29737 56853 moveto
+30499 56853 lineto
+stroke
+newpath
+34267 56853 moveto
+46182 56853 lineto
+stroke
+newpath
+27047 56773 moveto
+27564 56773 lineto
+stroke
+newpath
+29737 56773 moveto
+30499 56773 lineto
+stroke
+newpath
+34347 56773 moveto
+46182 56773 lineto
+stroke
+newpath
+27047 56693 moveto
+27548 56693 lineto
+stroke
+newpath
+29737 56693 moveto
+30499 56693 lineto
+stroke
+newpath
+34427 56693 moveto
+46182 56693 lineto
+stroke
+newpath
+27047 56613 moveto
+27546 56613 lineto
+stroke
+newpath
+29712 56613 moveto
+30523 56613 lineto
+stroke
+newpath
+34507 56613 moveto
+46182 56613 lineto
+stroke
+newpath
+27047 56533 moveto
+27546 56533 lineto
+stroke
+newpath
+29679 56533 moveto
+30556 56533 lineto
+stroke
+newpath
+34841 56533 moveto
+35238 56533 lineto
+stroke
+newpath
+35841 56533 moveto
+46182 56533 lineto
+stroke
+newpath
+27047 56453 moveto
+27546 56453 lineto
+stroke
+newpath
+29646 56453 moveto
+30589 56453 lineto
+stroke
+newpath
+34945 56453 moveto
+35134 56453 lineto
+stroke
+newpath
+35944 56453 moveto
+46182 56453 lineto
+stroke
+newpath
+27047 56373 moveto
+27546 56373 lineto
+stroke
+newpath
+29591 56373 moveto
+30645 56373 lineto
+stroke
+newpath
+35025 56373 moveto
+35054 56373 lineto
+stroke
+newpath
+36024 56373 moveto
+46182 56373 lineto
+stroke
+newpath
+27047 56293 moveto
+27546 56293 lineto
+stroke
+newpath
+29693 56293 moveto
+30543 56293 lineto
+stroke
+newpath
+36732 56293 moveto
+38037 56293 lineto
+stroke
+newpath
+38524 56293 moveto
+39037 56293 lineto
+stroke
+newpath
+39524 56293 moveto
+46182 56293 lineto
+stroke
+newpath
+27047 56213 moveto
+27546 56213 lineto
+stroke
+newpath
+29729 56213 moveto
+30506 56213 lineto
+stroke
+newpath
+36839 56213 moveto
+37899 56213 lineto
+stroke
+newpath
+38661 56213 moveto
+38899 56213 lineto
+stroke
+newpath
+39661 56213 moveto
+46182 56213 lineto
+stroke
+newpath
+27047 56133 moveto
+27546 56133 lineto
+stroke
+newpath
+36919 56133 moveto
+37819 56133 lineto
+stroke
+newpath
+38741 56133 moveto
+38819 56133 lineto
+stroke
+newpath
+39741 56133 moveto
+46182 56133 lineto
+stroke
+newpath
+27047 56053 moveto
+27546 56053 lineto
+stroke
+newpath
+36999 56053 moveto
+37757 56053 lineto
+stroke
+newpath
+39804 56053 moveto
+46182 56053 lineto
+stroke
+newpath
+27047 55973 moveto
+27546 55973 lineto
+stroke
+newpath
+37079 55973 moveto
+37724 55973 lineto
+stroke
+newpath
+39837 55973 moveto
+46182 55973 lineto
+stroke
+newpath
+27047 55893 moveto
+27546 55893 lineto
+stroke
+newpath
+37159 55893 moveto
+37690 55893 lineto
+stroke
+newpath
+39870 55893 moveto
+46182 55893 lineto
+stroke
+newpath
+27047 55813 moveto
+27546 55813 lineto
+stroke
+newpath
+37415 55813 moveto
+37677 55813 lineto
+stroke
+newpath
+39883 55813 moveto
+46182 55813 lineto
+stroke
+newpath
+27047 55733 moveto
+27546 55733 lineto
+stroke
+newpath
+37541 55733 moveto
+37677 55733 lineto
+stroke
+newpath
+39883 55733 moveto
+46182 55733 lineto
+stroke
+newpath
+27047 55653 moveto
+27546 55653 lineto
+stroke
+newpath
+37621 55653 moveto
+37677 55653 lineto
+stroke
+newpath
+39883 55653 moveto
+46182 55653 lineto
+stroke
+newpath
+27047 55573 moveto
+27546 55573 lineto
+stroke
+newpath
+37659 55573 moveto
+37696 55573 lineto
+stroke
+newpath
+39914 55573 moveto
+46182 55573 lineto
+stroke
+newpath
+27047 55493 moveto
+27546 55493 lineto
+stroke
+newpath
+37692 55493 moveto
+37725 55493 lineto
+stroke
+newpath
+39976 55493 moveto
+46182 55493 lineto
+stroke
+newpath
+27047 55413 moveto
+27546 55413 lineto
+stroke
+newpath
+40017 55413 moveto
+46182 55413 lineto
+stroke
+newpath
+27047 55333 moveto
+27546 55333 lineto
+stroke
+newpath
+40032 55333 moveto
+46182 55333 lineto
+stroke
+newpath
+27047 55253 moveto
+27546 55253 lineto
+stroke
+newpath
+40036 55253 moveto
+46182 55253 lineto
+stroke
+newpath
+27047 55173 moveto
+27546 55173 lineto
+stroke
+newpath
+40036 55173 moveto
+46182 55173 lineto
+stroke
+newpath
+27047 55093 moveto
+27546 55093 lineto
+stroke
+newpath
+40036 55093 moveto
+46182 55093 lineto
+stroke
+newpath
+27047 55013 moveto
+27546 55013 lineto
+stroke
+newpath
+40036 55013 moveto
+46182 55013 lineto
+stroke
+newpath
+27047 54933 moveto
+27546 54933 lineto
+stroke
+newpath
+40036 54933 moveto
+46182 54933 lineto
+stroke
+newpath
+27047 54853 moveto
+27558 54853 lineto
+stroke
+newpath
+40036 54853 moveto
+46182 54853 lineto
+stroke
+newpath
+27047 54773 moveto
+27574 54773 lineto
+stroke
+newpath
+40036 54773 moveto
+46182 54773 lineto
+stroke
+newpath
+27047 54693 moveto
+27620 54693 lineto
+stroke
+newpath
+40036 54693 moveto
+46182 54693 lineto
+stroke
+newpath
+27047 54613 moveto
+27678 54613 lineto
+stroke
+newpath
+40036 54613 moveto
+46182 54613 lineto
+stroke
+newpath
+27047 54533 moveto
+27758 54533 lineto
+stroke
+newpath
+40036 54533 moveto
+46182 54533 lineto
+stroke
+newpath
+27047 54453 moveto
+27838 54453 lineto
+stroke
+newpath
+40036 54453 moveto
+46182 54453 lineto
+stroke
+newpath
+27047 54373 moveto
+27918 54373 lineto
+stroke
+newpath
+40036 54373 moveto
+46182 54373 lineto
+stroke
+newpath
+27047 54293 moveto
+27998 54293 lineto
+stroke
+newpath
+40036 54293 moveto
+46182 54293 lineto
+stroke
+newpath
+27047 54213 moveto
+28078 54213 lineto
+stroke
+newpath
+40036 54213 moveto
+46182 54213 lineto
+stroke
+newpath
+27047 54133 moveto
+28158 54133 lineto
+stroke
+newpath
+40036 54133 moveto
+46182 54133 lineto
+stroke
+newpath
+27047 54053 moveto
+28238 54053 lineto
+stroke
+newpath
+40036 54053 moveto
+46182 54053 lineto
+stroke
+newpath
+27047 53973 moveto
+28318 53973 lineto
+stroke
+newpath
+40036 53973 moveto
+46182 53973 lineto
+stroke
+newpath
+27047 53893 moveto
+28398 53893 lineto
+stroke
+newpath
+40036 53893 moveto
+46182 53893 lineto
+stroke
+newpath
+27047 53813 moveto
+28478 53813 lineto
+stroke
+newpath
+40036 53813 moveto
+46182 53813 lineto
+stroke
+newpath
+27047 53733 moveto
+28558 53733 lineto
+stroke
+newpath
+40036 53733 moveto
+46182 53733 lineto
+stroke
+newpath
+27047 53653 moveto
+28638 53653 lineto
+stroke
+newpath
+40036 53653 moveto
+46182 53653 lineto
+stroke
+newpath
+27047 53573 moveto
+28718 53573 lineto
+stroke
+newpath
+40036 53573 moveto
+46182 53573 lineto
+stroke
+newpath
+27047 53493 moveto
+28798 53493 lineto
+stroke
+newpath
+40036 53493 moveto
+46182 53493 lineto
+stroke
+newpath
+27047 53413 moveto
+28894 53413 lineto
+stroke
+newpath
+40036 53413 moveto
+46182 53413 lineto
+stroke
+newpath
+27047 53333 moveto
+29098 53333 lineto
+stroke
+newpath
+40036 53333 moveto
+46182 53333 lineto
+stroke
+newpath
+27047 53253 moveto
+29234 53253 lineto
+stroke
+newpath
+40036 53253 moveto
+46182 53253 lineto
+stroke
+newpath
+27047 53173 moveto
+29314 53173 lineto
+stroke
+newpath
+40036 53173 moveto
+46182 53173 lineto
+stroke
+newpath
+27047 53093 moveto
+29394 53093 lineto
+stroke
+newpath
+40036 53093 moveto
+46182 53093 lineto
+stroke
+newpath
+27047 53013 moveto
+29474 53013 lineto
+stroke
+newpath
+40036 53013 moveto
+46182 53013 lineto
+stroke
+newpath
+27047 52933 moveto
+29554 52933 lineto
+stroke
+newpath
+40036 52933 moveto
+46182 52933 lineto
+stroke
+newpath
+27047 52853 moveto
+29634 52853 lineto
+stroke
+newpath
+40036 52853 moveto
+46182 52853 lineto
+stroke
+newpath
+27047 52773 moveto
+29714 52773 lineto
+stroke
+newpath
+40036 52773 moveto
+46182 52773 lineto
+stroke
+newpath
+27047 52693 moveto
+29794 52693 lineto
+stroke
+newpath
+40036 52693 moveto
+46182 52693 lineto
+stroke
+newpath
+27047 52613 moveto
+29904 52613 lineto
+stroke
+newpath
+40036 52613 moveto
+46182 52613 lineto
+stroke
+newpath
+27047 52533 moveto
+32540 52533 lineto
+stroke
+newpath
+40036 52533 moveto
+46182 52533 lineto
+stroke
+newpath
+27047 52453 moveto
+32604 52453 lineto
+stroke
+newpath
+40036 52453 moveto
+46182 52453 lineto
+stroke
+newpath
+27047 52373 moveto
+32524 52373 lineto
+stroke
+newpath
+40036 52373 moveto
+46182 52373 lineto
+stroke
+newpath
+27047 52293 moveto
+32450 52293 lineto
+stroke
+newpath
+40036 52293 moveto
+46182 52293 lineto
+stroke
+newpath
+27047 52213 moveto
+32417 52213 lineto
+stroke
+newpath
+40036 52213 moveto
+46182 52213 lineto
+stroke
+newpath
+27047 52133 moveto
+32384 52133 lineto
+stroke
+newpath
+40036 52133 moveto
+46182 52133 lineto
+stroke
+newpath
+27047 52053 moveto
+32362 52053 lineto
+stroke
+newpath
+40036 52053 moveto
+46182 52053 lineto
+stroke
+newpath
+27047 51973 moveto
+32362 51973 lineto
+stroke
+newpath
+40081 51973 moveto
+46182 51973 lineto
+stroke
+newpath
+27047 51893 moveto
+32362 51893 lineto
+stroke
+newpath
+40137 51893 moveto
+46182 51893 lineto
+stroke
+newpath
+27047 51813 moveto
+32351 51813 lineto
+stroke
+newpath
+40170 51813 moveto
+46182 51813 lineto
+stroke
+newpath
+27047 51733 moveto
+32271 51733 lineto
+stroke
+newpath
+40194 51733 moveto
+46182 51733 lineto
+stroke
+newpath
+27047 51653 moveto
+32191 51653 lineto
+stroke
+newpath
+40194 51653 moveto
+46182 51653 lineto
+stroke
+newpath
+27047 51573 moveto
+32136 51573 lineto
+stroke
+newpath
+40194 51573 moveto
+46182 51573 lineto
+stroke
+newpath
+27047 51493 moveto
+32105 51493 lineto
+stroke
+newpath
+40165 51493 moveto
+46182 51493 lineto
+stroke
+newpath
+27047 51413 moveto
+32088 51413 lineto
+stroke
+newpath
+40132 51413 moveto
+46182 51413 lineto
+stroke
+newpath
+27047 51333 moveto
+32089 51333 lineto
+stroke
+newpath
+40070 51333 moveto
+46182 51333 lineto
+stroke
+newpath
+27047 51253 moveto
+32089 51253 lineto
+stroke
+newpath
+39990 51253 moveto
+46182 51253 lineto
+stroke
+newpath
+27047 51173 moveto
+32089 51173 lineto
+stroke
+newpath
+39585 51173 moveto
+39608 51173 lineto
+stroke
+newpath
+39806 51173 moveto
+46182 51173 lineto
+stroke
+newpath
+27047 51093 moveto
+32089 51093 lineto
+stroke
+newpath
+39585 51093 moveto
+46182 51093 lineto
+stroke
+newpath
+27047 51013 moveto
+32089 51013 lineto
+stroke
+newpath
+39646 51013 moveto
+46182 51013 lineto
+stroke
+newpath
+27047 50933 moveto
+32089 50933 lineto
+stroke
+newpath
+39726 50933 moveto
+46182 50933 lineto
+stroke
+newpath
+27047 50853 moveto
+32089 50853 lineto
+stroke
+newpath
+39806 50853 moveto
+46182 50853 lineto
+stroke
+newpath
+27047 50773 moveto
+32089 50773 lineto
+stroke
+newpath
+39886 50773 moveto
+46182 50773 lineto
+stroke
+newpath
+27047 50693 moveto
+32089 50693 lineto
+stroke
+newpath
+39966 50693 moveto
+46182 50693 lineto
+stroke
+newpath
+27047 50613 moveto
+32089 50613 lineto
+stroke
+newpath
+40046 50613 moveto
+46182 50613 lineto
+stroke
+newpath
+27047 50533 moveto
+32089 50533 lineto
+stroke
+newpath
+40126 50533 moveto
+46182 50533 lineto
+stroke
+newpath
+27047 50453 moveto
+32089 50453 lineto
+stroke
+newpath
+40206 50453 moveto
+46182 50453 lineto
+stroke
+newpath
+27047 50373 moveto
+32089 50373 lineto
+stroke
+newpath
+40286 50373 moveto
+46182 50373 lineto
+stroke
+newpath
+27047 50293 moveto
+32089 50293 lineto
+stroke
+newpath
+40366 50293 moveto
+46182 50293 lineto
+stroke
+newpath
+27047 50213 moveto
+32089 50213 lineto
+stroke
+newpath
+40446 50213 moveto
+46182 50213 lineto
+stroke
+newpath
+27047 50133 moveto
+32089 50133 lineto
+stroke
+newpath
+40526 50133 moveto
+46182 50133 lineto
+stroke
+newpath
+27047 50053 moveto
+32089 50053 lineto
+stroke
+newpath
+40606 50053 moveto
+46182 50053 lineto
+stroke
+newpath
+27047 49973 moveto
+32089 49973 lineto
+stroke
+newpath
+40686 49973 moveto
+46182 49973 lineto
+stroke
+newpath
+27047 49893 moveto
+32089 49893 lineto
+stroke
+newpath
+40766 49893 moveto
+46182 49893 lineto
+stroke
+newpath
+27047 49813 moveto
+32093 49813 lineto
+stroke
+newpath
+40846 49813 moveto
+46182 49813 lineto
+stroke
+newpath
+27047 49733 moveto
+32110 49733 lineto
+stroke
+newpath
+40926 49733 moveto
+46182 49733 lineto
+stroke
+newpath
+27047 49653 moveto
+32155 49653 lineto
+stroke
+newpath
+41006 49653 moveto
+46182 49653 lineto
+stroke
+newpath
+27047 49573 moveto
+32221 49573 lineto
+stroke
+newpath
+41086 49573 moveto
+46182 49573 lineto
+stroke
+newpath
+27047 49493 moveto
+32301 49493 lineto
+stroke
+newpath
+41166 49493 moveto
+46182 49493 lineto
+stroke
+newpath
+27047 49413 moveto
+32381 49413 lineto
+stroke
+newpath
+41246 49413 moveto
+46182 49413 lineto
+stroke
+newpath
+27047 49333 moveto
+32461 49333 lineto
+stroke
+newpath
+41326 49333 moveto
+46182 49333 lineto
+stroke
+newpath
+27047 49253 moveto
+32541 49253 lineto
+stroke
+newpath
+41406 49253 moveto
+46182 49253 lineto
+stroke
+newpath
+27047 49173 moveto
+32621 49173 lineto
+stroke
+newpath
+41486 49173 moveto
+46182 49173 lineto
+stroke
+newpath
+27047 49093 moveto
+32701 49093 lineto
+stroke
+newpath
+41566 49093 moveto
+46182 49093 lineto
+stroke
+newpath
+27047 49013 moveto
+32781 49013 lineto
+stroke
+newpath
+41646 49013 moveto
+46182 49013 lineto
+stroke
+newpath
+27047 48933 moveto
+32861 48933 lineto
+stroke
+newpath
+41726 48933 moveto
+46182 48933 lineto
+stroke
+newpath
+27047 48853 moveto
+32941 48853 lineto
+stroke
+newpath
+41806 48853 moveto
+46182 48853 lineto
+stroke
+newpath
+27047 48773 moveto
+33021 48773 lineto
+stroke
+newpath
+41886 48773 moveto
+42111 48773 lineto
+stroke
+newpath
+42670 48773 moveto
+46182 48773 lineto
+stroke
+newpath
+27047 48693 moveto
+33101 48693 lineto
+stroke
+newpath
+41966 48693 moveto
+42030 48693 lineto
+stroke
+newpath
+42750 48693 moveto
+46182 48693 lineto
+stroke
+newpath
+27047 48613 moveto
+33181 48613 lineto
+stroke
+newpath
+42814 48613 moveto
+46182 48613 lineto
+stroke
+newpath
+27047 48533 moveto
+33261 48533 lineto
+stroke
+newpath
+42847 48533 moveto
+46182 48533 lineto
+stroke
+newpath
+27047 48453 moveto
+33341 48453 lineto
+stroke
+newpath
+42876 48453 moveto
+46182 48453 lineto
+stroke
+newpath
+27047 48373 moveto
+33421 48373 lineto
+stroke
+newpath
+42876 48373 moveto
+46182 48373 lineto
+stroke
+newpath
+27047 48293 moveto
+33501 48293 lineto
+stroke
+newpath
+42928 48293 moveto
+46182 48293 lineto
+stroke
+newpath
+27047 48213 moveto
+33581 48213 lineto
+stroke
+newpath
+43008 48213 moveto
+46182 48213 lineto
+stroke
+newpath
+27047 48133 moveto
+33661 48133 lineto
+stroke
+newpath
+43088 48133 moveto
+46182 48133 lineto
+stroke
+newpath
+27047 48053 moveto
+33741 48053 lineto
+stroke
+newpath
+43168 48053 moveto
+46182 48053 lineto
+stroke
+newpath
+27047 47973 moveto
+33821 47973 lineto
+stroke
+newpath
+43248 47973 moveto
+46182 47973 lineto
+stroke
+newpath
+27047 47893 moveto
+33901 47893 lineto
+stroke
+newpath
+43328 47893 moveto
+46182 47893 lineto
+stroke
+newpath
+27047 47813 moveto
+33981 47813 lineto
+stroke
+newpath
+43408 47813 moveto
+46182 47813 lineto
+stroke
+newpath
+27047 47733 moveto
+34061 47733 lineto
+stroke
+newpath
+43488 47733 moveto
+46182 47733 lineto
+stroke
+newpath
+27047 47653 moveto
+34141 47653 lineto
+stroke
+newpath
+43553 47653 moveto
+46182 47653 lineto
+stroke
+newpath
+27047 47573 moveto
+34221 47573 lineto
+stroke
+newpath
+43598 47573 moveto
+46182 47573 lineto
+stroke
+newpath
+27047 47493 moveto
+34301 47493 lineto
+stroke
+newpath
+43613 47493 moveto
+46182 47493 lineto
+stroke
+newpath
+27047 47413 moveto
+34381 47413 lineto
+stroke
+newpath
+43619 47413 moveto
+46182 47413 lineto
+stroke
+newpath
+27047 47333 moveto
+34461 47333 lineto
+stroke
+newpath
+43619 47333 moveto
+46182 47333 lineto
+stroke
+newpath
+27047 47253 moveto
+34541 47253 lineto
+stroke
+newpath
+43619 47253 moveto
+46182 47253 lineto
+stroke
+newpath
+27047 47173 moveto
+34621 47173 lineto
+stroke
+newpath
+43619 47173 moveto
+46182 47173 lineto
+stroke
+newpath
+27047 47093 moveto
+34701 47093 lineto
+stroke
+newpath
+43619 47093 moveto
+46182 47093 lineto
+stroke
+newpath
+27047 47013 moveto
+34781 47013 lineto
+stroke
+newpath
+43619 47013 moveto
+46182 47013 lineto
+stroke
+newpath
+27047 46933 moveto
+32994 46933 lineto
+stroke
+newpath
+33308 46933 moveto
+34861 46933 lineto
+stroke
+newpath
+43619 46933 moveto
+46182 46933 lineto
+stroke
+newpath
+27047 46853 moveto
+32844 46853 lineto
+stroke
+newpath
+33457 46853 moveto
+34941 46853 lineto
+stroke
+newpath
+43619 46853 moveto
+46182 46853 lineto
+stroke
+newpath
+27047 46773 moveto
+32764 46773 lineto
+stroke
+newpath
+33537 46773 moveto
+35021 46773 lineto
+stroke
+newpath
+43619 46773 moveto
+46182 46773 lineto
+stroke
+newpath
+27047 46693 moveto
+32716 46693 lineto
+stroke
+newpath
+33585 46693 moveto
+35101 46693 lineto
+stroke
+newpath
+41156 46693 moveto
+41230 46693 lineto
+stroke
+newpath
+43619 46693 moveto
+46182 46693 lineto
+stroke
+newpath
+27047 46613 moveto
+32683 46613 lineto
+stroke
+newpath
+33618 46613 moveto
+35181 46613 lineto
+stroke
+newpath
+41076 46613 moveto
+41230 46613 lineto
+stroke
+newpath
+43619 46613 moveto
+46182 46613 lineto
+stroke
+newpath
+27047 46533 moveto
+32664 46533 lineto
+stroke
+newpath
+33636 46533 moveto
+35261 46533 lineto
+stroke
+newpath
+40996 46533 moveto
+41230 46533 lineto
+stroke
+newpath
+43619 46533 moveto
+46182 46533 lineto
+stroke
+newpath
+27047 46453 moveto
+32664 46453 lineto
+stroke
+newpath
+33636 46453 moveto
+35341 46453 lineto
+stroke
+newpath
+40916 46453 moveto
+41230 46453 lineto
+stroke
+newpath
+43619 46453 moveto
+46182 46453 lineto
+stroke
+newpath
+27047 46373 moveto
+32665 46373 lineto
+stroke
+newpath
+33635 46373 moveto
+35421 46373 lineto
+stroke
+newpath
+40836 46373 moveto
+41230 46373 lineto
+stroke
+newpath
+43619 46373 moveto
+46182 46373 lineto
+stroke
+newpath
+27047 46293 moveto
+32698 46293 lineto
+stroke
+newpath
+33602 46293 moveto
+35501 46293 lineto
+stroke
+newpath
+40756 46293 moveto
+41230 46293 lineto
+stroke
+newpath
+43619 46293 moveto
+46182 46293 lineto
+stroke
+newpath
+27047 46213 moveto
+32731 46213 lineto
+stroke
+newpath
+33569 46213 moveto
+35581 46213 lineto
+stroke
+newpath
+40676 46213 moveto
+41230 46213 lineto
+stroke
+newpath
+43619 46213 moveto
+46182 46213 lineto
+stroke
+newpath
+27047 46133 moveto
+32802 46133 lineto
+stroke
+newpath
+33498 46133 moveto
+35661 46133 lineto
+stroke
+newpath
+40596 46133 moveto
+41230 46133 lineto
+stroke
+newpath
+43619 46133 moveto
+46182 46133 lineto
+stroke
+newpath
+27047 46053 moveto
+32821 46053 lineto
+stroke
+newpath
+33479 46053 moveto
+35741 46053 lineto
+stroke
+newpath
+40516 46053 moveto
+41230 46053 lineto
+stroke
+newpath
+43619 46053 moveto
+46182 46053 lineto
+stroke
+newpath
+27047 45973 moveto
+32821 45973 lineto
+stroke
+newpath
+33479 45973 moveto
+35821 45973 lineto
+stroke
+newpath
+40453 45973 moveto
+41230 45973 lineto
+stroke
+newpath
+43619 45973 moveto
+46182 45973 lineto
+stroke
+newpath
+27047 45893 moveto
+32821 45893 lineto
+stroke
+newpath
+33479 45893 moveto
+35901 45893 lineto
+stroke
+newpath
+40453 45893 moveto
+41230 45893 lineto
+stroke
+newpath
+43619 45893 moveto
+46182 45893 lineto
+stroke
+newpath
+27047 45813 moveto
+32821 45813 lineto
+stroke
+newpath
+33479 45813 moveto
+35981 45813 lineto
+stroke
+newpath
+40453 45813 moveto
+41230 45813 lineto
+stroke
+newpath
+43606 45813 moveto
+46182 45813 lineto
+stroke
+newpath
+27047 45733 moveto
+32821 45733 lineto
+stroke
+newpath
+33479 45733 moveto
+36061 45733 lineto
+stroke
+newpath
+40453 45733 moveto
+41230 45733 lineto
+stroke
+newpath
+43586 45733 moveto
+46182 45733 lineto
+stroke
+newpath
+27047 45653 moveto
+32821 45653 lineto
+stroke
+newpath
+33479 45653 moveto
+36141 45653 lineto
+stroke
+newpath
+40451 45653 moveto
+41230 45653 lineto
+stroke
+newpath
+43532 45653 moveto
+46182 45653 lineto
+stroke
+newpath
+27047 45573 moveto
+32821 45573 lineto
+stroke
+newpath
+33479 45573 moveto
+36221 45573 lineto
+stroke
+newpath
+40435 45573 moveto
+41230 45573 lineto
+stroke
+newpath
+43456 45573 moveto
+46182 45573 lineto
+stroke
+newpath
+27047 45493 moveto
+32821 45493 lineto
+stroke
+newpath
+33479 45493 moveto
+36301 45493 lineto
+stroke
+newpath
+40401 45493 moveto
+41230 45493 lineto
+stroke
+newpath
+43376 45493 moveto
+46182 45493 lineto
+stroke
+newpath
+27047 45413 moveto
+32821 45413 lineto
+stroke
+newpath
+33479 45413 moveto
+36381 45413 lineto
+stroke
+newpath
+40342 45413 moveto
+41230 45413 lineto
+stroke
+newpath
+43296 45413 moveto
+46182 45413 lineto
+stroke
+newpath
+27047 45333 moveto
+32821 45333 lineto
+stroke
+newpath
+33479 45333 moveto
+36461 45333 lineto
+stroke
+newpath
+40262 45333 moveto
+41230 45333 lineto
+stroke
+newpath
+43216 45333 moveto
+46182 45333 lineto
+stroke
+newpath
+27047 45253 moveto
+32821 45253 lineto
+stroke
+newpath
+33479 45253 moveto
+36541 45253 lineto
+stroke
+newpath
+40258 45253 moveto
+41230 45253 lineto
+stroke
+newpath
+43136 45253 moveto
+46182 45253 lineto
+stroke
+newpath
+27047 45173 moveto
+32821 45173 lineto
+stroke
+newpath
+33479 45173 moveto
+36621 45173 lineto
+stroke
+newpath
+40291 45173 moveto
+41230 45173 lineto
+stroke
+newpath
+43056 45173 moveto
+46182 45173 lineto
+stroke
+newpath
+27047 45093 moveto
+32821 45093 lineto
+stroke
+newpath
+33479 45093 moveto
+36701 45093 lineto
+stroke
+newpath
+40310 45093 moveto
+41230 45093 lineto
+stroke
+newpath
+43074 45093 moveto
+46182 45093 lineto
+stroke
+newpath
+27047 45013 moveto
+32821 45013 lineto
+stroke
+newpath
+33479 45013 moveto
+36781 45013 lineto
+stroke
+newpath
+40310 45013 moveto
+41230 45013 lineto
+stroke
+newpath
+43114 45013 moveto
+46182 45013 lineto
+stroke
+newpath
+27047 44933 moveto
+32821 44933 lineto
+stroke
+newpath
+33479 44933 moveto
+36861 44933 lineto
+stroke
+newpath
+40309 44933 moveto
+41230 44933 lineto
+stroke
+newpath
+43123 44933 moveto
+46182 44933 lineto
+stroke
+newpath
+27047 44853 moveto
+32821 44853 lineto
+stroke
+newpath
+33479 44853 moveto
+36941 44853 lineto
+stroke
+newpath
+40276 44853 moveto
+41230 44853 lineto
+stroke
+newpath
+43123 44853 moveto
+46182 44853 lineto
+stroke
+newpath
+27047 44773 moveto
+32821 44773 lineto
+stroke
+newpath
+33479 44773 moveto
+37033 44773 lineto
+stroke
+newpath
+40243 44773 moveto
+41230 44773 lineto
+stroke
+newpath
+43123 44773 moveto
+46182 44773 lineto
+stroke
+newpath
+27047 44693 moveto
+32821 44693 lineto
+stroke
+newpath
+33479 44693 moveto
+33990 44693 lineto
+stroke
+newpath
+34241 44693 moveto
+34990 44693 lineto
+stroke
+newpath
+35241 44693 moveto
+35990 44693 lineto
+stroke
+newpath
+36241 44693 moveto
+36990 44693 lineto
+stroke
+newpath
+37241 44693 moveto
+37990 44693 lineto
+stroke
+newpath
+38241 44693 moveto
+39474 44693 lineto
+stroke
+newpath
+40173 44693 moveto
+41230 44693 lineto
+stroke
+newpath
+43123 44693 moveto
+46182 44693 lineto
+stroke
+newpath
+27047 44613 moveto
+32821 44613 lineto
+stroke
+newpath
+33479 44613 moveto
+33795 44613 lineto
+stroke
+newpath
+34433 44613 moveto
+34795 44613 lineto
+stroke
+newpath
+35433 44613 moveto
+35795 44613 lineto
+stroke
+newpath
+36433 44613 moveto
+36795 44613 lineto
+stroke
+newpath
+37433 44613 moveto
+37795 44613 lineto
+stroke
+newpath
+38433 44613 moveto
+38580 44613 lineto
+stroke
+newpath
+40084 44613 moveto
+41230 44613 lineto
+stroke
+newpath
+43123 44613 moveto
+46182 44613 lineto
+stroke
+newpath
+27047 44533 moveto
+32821 44533 lineto
+stroke
+newpath
+33479 44533 moveto
+33700 44533 lineto
+stroke
+newpath
+34528 44533 moveto
+34700 44533 lineto
+stroke
+newpath
+35528 44533 moveto
+35700 44533 lineto
+stroke
+newpath
+36528 44533 moveto
+36700 44533 lineto
+stroke
+newpath
+37528 44533 moveto
+37700 44533 lineto
+stroke
+newpath
+39700 44533 moveto
+41232 44533 lineto
+stroke
+newpath
+43123 44533 moveto
+46182 44533 lineto
+stroke
+newpath
+27047 44453 moveto
+32821 44453 lineto
+stroke
+newpath
+33479 44453 moveto
+33620 44453 lineto
+stroke
+newpath
+34608 44453 moveto
+34620 44453 lineto
+stroke
+newpath
+35608 44453 moveto
+35620 44453 lineto
+stroke
+newpath
+36608 44453 moveto
+36620 44453 lineto
+stroke
+newpath
+37608 44453 moveto
+37619 44453 lineto
+stroke
+newpath
+39717 44453 moveto
+41248 44453 lineto
+stroke
+newpath
+43123 44453 moveto
+46182 44453 lineto
+stroke
+newpath
+27047 44373 moveto
+32821 44373 lineto
+stroke
+newpath
+33517 44373 moveto
+33574 44373 lineto
+stroke
+newpath
+39717 44373 moveto
+41287 44373 lineto
+stroke
+newpath
+43123 44373 moveto
+46182 44373 lineto
+stroke
+newpath
+27047 44293 moveto
+32821 44293 lineto
+stroke
+newpath
+39717 44293 moveto
+41348 44293 lineto
+stroke
+newpath
+43123 44293 moveto
+46182 44293 lineto
+stroke
+newpath
+27047 44213 moveto
+32832 44213 lineto
+stroke
+newpath
+39717 44213 moveto
+41428 44213 lineto
+stroke
+newpath
+43123 44213 moveto
+46182 44213 lineto
+stroke
+newpath
+27047 44133 moveto
+32855 44133 lineto
+stroke
+newpath
+39717 44133 moveto
+41508 44133 lineto
+stroke
+newpath
+43102 44133 moveto
+46182 44133 lineto
+stroke
+newpath
+27047 44053 moveto
+32909 44053 lineto
+stroke
+newpath
+39717 44053 moveto
+41588 44053 lineto
+stroke
+newpath
+43046 44053 moveto
+46182 44053 lineto
+stroke
+newpath
+27047 43973 moveto
+32985 43973 lineto
+stroke
+newpath
+39717 43973 moveto
+41668 43973 lineto
+stroke
+newpath
+42987 43973 moveto
+46182 43973 lineto
+stroke
+newpath
+27047 43893 moveto
+33065 43893 lineto
+stroke
+newpath
+39717 43893 moveto
+41748 43893 lineto
+stroke
+newpath
+43047 43893 moveto
+46182 43893 lineto
+stroke
+newpath
+27047 43813 moveto
+33145 43813 lineto
+stroke
+newpath
+39717 43813 moveto
+41828 43813 lineto
+stroke
+newpath
+43080 43813 moveto
+46182 43813 lineto
+stroke
+newpath
+27047 43733 moveto
+33225 43733 lineto
+stroke
+newpath
+39717 43733 moveto
+41908 43733 lineto
+stroke
+newpath
+43112 43733 moveto
+46182 43733 lineto
+stroke
+newpath
+27047 43653 moveto
+33305 43653 lineto
+stroke
+newpath
+34540 43653 moveto
+34688 43653 lineto
+stroke
+newpath
+35540 43653 moveto
+35688 43653 lineto
+stroke
+newpath
+36539 43653 moveto
+36687 43653 lineto
+stroke
+newpath
+37540 43653 moveto
+37688 43653 lineto
+stroke
+newpath
+39704 43653 moveto
+41917 43653 lineto
+stroke
+newpath
+43123 43653 moveto
+46182 43653 lineto
+stroke
+newpath
+27047 43573 moveto
+33385 43573 lineto
+stroke
+newpath
+34460 43573 moveto
+34768 43573 lineto
+stroke
+newpath
+35460 43573 moveto
+35768 43573 lineto
+stroke
+newpath
+36459 43573 moveto
+36767 43573 lineto
+stroke
+newpath
+37460 43573 moveto
+37768 43573 lineto
+stroke
+newpath
+38459 43573 moveto
+38568 43573 lineto
+stroke
+newpath
+39660 43573 moveto
+41917 43573 lineto
+stroke
+newpath
+43123 43573 moveto
+46182 43573 lineto
+stroke
+newpath
+27047 43493 moveto
+33465 43493 lineto
+stroke
+newpath
+34537 43493 moveto
+34958 43493 lineto
+stroke
+newpath
+35268 43493 moveto
+35958 43493 lineto
+stroke
+newpath
+36268 43493 moveto
+36958 43493 lineto
+stroke
+newpath
+37268 43493 moveto
+37958 43493 lineto
+stroke
+newpath
+38268 43493 moveto
+38688 43493 lineto
+stroke
+newpath
+39538 43493 moveto
+41917 43493 lineto
+stroke
+newpath
+43123 43493 moveto
+46182 43493 lineto
+stroke
+newpath
+27047 43413 moveto
+33545 43413 lineto
+stroke
+newpath
+34699 43413 moveto
+41939 43413 lineto
+stroke
+newpath
+43100 43413 moveto
+46182 43413 lineto
+stroke
+newpath
+27047 43333 moveto
+33625 43333 lineto
+stroke
+newpath
+34779 43333 moveto
+41972 43333 lineto
+stroke
+newpath
+43067 43333 moveto
+46182 43333 lineto
+stroke
+newpath
+27047 43253 moveto
+33705 43253 lineto
+stroke
+newpath
+34832 43253 moveto
+42005 43253 lineto
+stroke
+newpath
+43034 43253 moveto
+46182 43253 lineto
+stroke
+newpath
+27047 43173 moveto
+33785 43173 lineto
+stroke
+newpath
+34865 43173 moveto
+42081 43173 lineto
+stroke
+newpath
+42959 43173 moveto
+46182 43173 lineto
+stroke
+newpath
+27047 43093 moveto
+33865 43093 lineto
+stroke
+newpath
+34887 43093 moveto
+42161 43093 lineto
+stroke
+newpath
+42879 43093 moveto
+46182 43093 lineto
+stroke
+newpath
+27047 43013 moveto
+33915 43013 lineto
+stroke
+newpath
+34887 43013 moveto
+42329 43013 lineto
+stroke
+newpath
+42709 43013 moveto
+46182 43013 lineto
+stroke
+newpath
+27047 42933 moveto
+33915 42933 lineto
+stroke
+newpath
+34887 42933 moveto
+46182 42933 lineto
+stroke
+newpath
+27047 42853 moveto
+33945 42853 lineto
+stroke
+newpath
+34856 42853 moveto
+46182 42853 lineto
+stroke
+newpath
+27047 42773 moveto
+33978 42773 lineto
+stroke
+newpath
+34823 42773 moveto
+46182 42773 lineto
+stroke
+newpath
+27047 42693 moveto
+34043 42693 lineto
+stroke
+newpath
+34758 42693 moveto
+46182 42693 lineto
+stroke
+newpath
+27047 42613 moveto
+34123 42613 lineto
+stroke
+newpath
+34678 42613 moveto
+46182 42613 lineto
+stroke
+newpath
+27047 42533 moveto
+46182 42533 lineto
+stroke
+newpath
+27047 42453 moveto
+46182 42453 lineto
+stroke
+newpath
+27047 42373 moveto
+46182 42373 lineto
+stroke
+newpath
+27047 42293 moveto
+46182 42293 lineto
+stroke
+newpath
+27047 42213 moveto
+46182 42213 lineto
+stroke
+newpath
+27047 42133 moveto
+46182 42133 lineto
+stroke
+newpath
+27047 42053 moveto
+46182 42053 lineto
+stroke
+newpath
+27047 41973 moveto
+46182 41973 lineto
+stroke
+newpath
+27047 41893 moveto
+46182 41893 lineto
+stroke
+newpath
+27047 41813 moveto
+46182 41813 lineto
+stroke
+newpath
+27047 41733 moveto
+46182 41733 lineto
+stroke
+newpath
+27047 41653 moveto
+46182 41653 lineto
+stroke
+newpath
+27047 41573 moveto
+46182 41573 lineto
+stroke
+newpath
+27047 41493 moveto
+46182 41493 lineto
+stroke
+newpath
+27047 41413 moveto
+46182 41413 lineto
+stroke
+newpath
+27047 41333 moveto
+46182 41333 lineto
+stroke
+newpath
+27047 41253 moveto
+27494 41253 lineto
+stroke
+newpath
+27625 41253 moveto
+45407 41253 lineto
+stroke
+newpath
+45538 41253 moveto
+46182 41253 lineto
+stroke
+newpath
+27047 41173 moveto
+27332 41173 lineto
+stroke
+newpath
+27787 41173 moveto
+45245 41173 lineto
+stroke
+newpath
+45700 41173 moveto
+46182 41173 lineto
+stroke
+newpath
+27047 41093 moveto
+27276 41093 lineto
+stroke
+newpath
+27843 41093 moveto
+45189 41093 lineto
+stroke
+newpath
+45756 41093 moveto
+46182 41093 lineto
+stroke
+newpath
+27047 41013 moveto
+27246 41013 lineto
+stroke
+newpath
+27873 41013 moveto
+45159 41013 lineto
+stroke
+newpath
+45786 41013 moveto
+46182 41013 lineto
+stroke
+newpath
+27047 40933 moveto
+27231 40933 lineto
+stroke
+newpath
+27887 40933 moveto
+45144 40933 lineto
+stroke
+newpath
+45800 40933 moveto
+46182 40933 lineto
+stroke
+newpath
+27047 40853 moveto
+27068 40853 lineto
+stroke
+newpath
+28049 40853 moveto
+44984 40853 lineto
+stroke
+newpath
+45962 40853 moveto
+46182 40853 lineto
+stroke
+newpath
+28188 40773 moveto
+44845 40773 lineto
+stroke
+newpath
+46101 40773 moveto
+46182 40773 lineto
+stroke
+newpath
+28241 40693 moveto
+44792 40693 lineto
+stroke
+newpath
+46154 40693 moveto
+46182 40693 lineto
+stroke
+newpath
+28268 40613 moveto
+44765 40613 lineto
+stroke
+newpath
+46181 40613 moveto
+46182 40613 lineto
+stroke
+newpath
+28278 40533 moveto
+44753 40533 lineto
+stroke
+newpath
+28262 40453 moveto
+44769 40453 lineto
+stroke
+newpath
+46175 40453 moveto
+46182 40453 lineto
+stroke
+newpath
+28225 40373 moveto
+44806 40373 lineto
+stroke
+newpath
+46138 40373 moveto
+46182 40373 lineto
+stroke
+newpath
+28156 40293 moveto
+44875 40293 lineto
+stroke
+newpath
+46069 40293 moveto
+46182 40293 lineto
+stroke
+newpath
+27047 40213 moveto
+27202 40213 lineto
+stroke
+newpath
+27915 40213 moveto
+45115 40213 lineto
+stroke
+newpath
+45828 40213 moveto
+46182 40213 lineto
+stroke
+newpath
+27047 40133 moveto
+27234 40133 lineto
+stroke
+newpath
+27883 40133 moveto
+45147 40133 lineto
+stroke
+newpath
+45796 40133 moveto
+46182 40133 lineto
+stroke
+newpath
+27047 40053 moveto
+27250 40053 lineto
+stroke
+newpath
+27867 40053 moveto
+45163 40053 lineto
+stroke
+newpath
+45780 40053 moveto
+46182 40053 lineto
+stroke
+newpath
+27047 39973 moveto
+27290 39973 lineto
+stroke
+newpath
+27827 39973 moveto
+45203 39973 lineto
+stroke
+newpath
+45740 39973 moveto
+46182 39973 lineto
+stroke
+newpath
+27047 39893 moveto
+27364 39893 lineto
+stroke
+newpath
+27753 39893 moveto
+45277 39893 lineto
+stroke
+newpath
+45666 39893 moveto
+46182 39893 lineto
+stroke
+newpath
+27047 39813 moveto
+46182 39813 lineto
+stroke
+newpath
+27047 39733 moveto
+46182 39733 lineto
+stroke
+newpath
+27047 39653 moveto
+46182 39653 lineto
+stroke
+newpath
+42764 47526 moveto
+42764 47526 lineto
+stroke
+newpath
+42764 47446 moveto
+42844 47446 lineto
+stroke
+newpath
+42762 47366 moveto
+42924 47366 lineto
+stroke
+newpath
+42729 47286 moveto
+42961 47286 lineto
+stroke
+newpath
+42696 47206 moveto
+42961 47206 lineto
+stroke
+newpath
+42624 47126 moveto
+42961 47126 lineto
+stroke
+newpath
+42531 47046 moveto
+42961 47046 lineto
+stroke
+newpath
+42170 46966 moveto
+42961 46966 lineto
+stroke
+newpath
+42090 46886 moveto
+42961 46886 lineto
+stroke
+newpath
+42010 46806 moveto
+42961 46806 lineto
+stroke
+newpath
+41930 46726 moveto
+42961 46726 lineto
+stroke
+newpath
+41888 46646 moveto
+42961 46646 lineto
+stroke
+newpath
+41888 46566 moveto
+42961 46566 lineto
+stroke
+newpath
+41888 46486 moveto
+42961 46486 lineto
+stroke
+newpath
+41888 46406 moveto
+42961 46406 lineto
+stroke
+newpath
+41888 46326 moveto
+42961 46326 lineto
+stroke
+newpath
+41888 46246 moveto
+42961 46246 lineto
+stroke
+newpath
+41888 46166 moveto
+42961 46166 lineto
+stroke
+newpath
+41888 46086 moveto
+42961 46086 lineto
+stroke
+newpath
+41888 46006 moveto
+42959 46006 lineto
+stroke
+newpath
+41888 45926 moveto
+42879 45926 lineto
+stroke
+newpath
+41888 45846 moveto
+42799 45846 lineto
+stroke
+newpath
+41888 45766 moveto
+42719 45766 lineto
+stroke
+newpath
+41888 45686 moveto
+42639 45686 lineto
+stroke
+newpath
+41888 45606 moveto
+42559 45606 lineto
+stroke
+newpath
+41888 45526 moveto
+42479 45526 lineto
+stroke
+newpath
+41888 45446 moveto
+42399 45446 lineto
+stroke
+newpath
+41888 45366 moveto
+42319 45366 lineto
+stroke
+newpath
+41888 45286 moveto
+42256 45286 lineto
+stroke
+newpath
+41888 45206 moveto
+42212 45206 lineto
+stroke
+newpath
+41888 45126 moveto
+41999 45126 lineto
+stroke
+newpath
+41888 45046 moveto
+41940 45046 lineto
+stroke
+newpath
+41888 44966 moveto
+41917 44966 lineto
+stroke
+newpath
+41888 44886 moveto
+41917 44886 lineto
+stroke
+newpath
+41888 44806 moveto
+41917 44806 lineto
+stroke
+newpath
+41888 44726 moveto
+41917 44726 lineto
+stroke
+newpath
+33377 50521 moveto
+33377 50521 lineto
+stroke
+newpath
+33315 50441 moveto
+33425 50441 lineto
+stroke
+newpath
+33385 50361 moveto
+33553 50361 lineto
+stroke
+newpath
+33418 50281 moveto
+33636 50281 lineto
+stroke
+newpath
+33451 50201 moveto
+33636 50201 lineto
+stroke
+newpath
+33451 50121 moveto
+33636 50121 lineto
+stroke
+newpath
+33451 50041 moveto
+33636 50041 lineto
+stroke
+newpath
+33432 49961 moveto
+33636 49961 lineto
+stroke
+newpath
+33399 49881 moveto
+33636 49881 lineto
+stroke
+newpath
+33350 49801 moveto
+33636 49801 lineto
+stroke
+newpath
+33270 49721 moveto
+33636 49721 lineto
+stroke
+newpath
+33116 49641 moveto
+33636 49641 lineto
+stroke
+newpath
+33165 49561 moveto
+33648 49561 lineto
+stroke
+newpath
+33245 49481 moveto
+33672 49481 lineto
+stroke
+newpath
+33325 49401 moveto
+33725 49401 lineto
+stroke
+newpath
+33405 49321 moveto
+33802 49321 lineto
+stroke
+newpath
+33485 49241 moveto
+33882 49241 lineto
+stroke
+newpath
+33565 49161 moveto
+33962 49161 lineto
+stroke
+newpath
+33645 49081 moveto
+34042 49081 lineto
+stroke
+newpath
+33725 49001 moveto
+34122 49001 lineto
+stroke
+newpath
+33805 48921 moveto
+34202 48921 lineto
+stroke
+newpath
+33885 48841 moveto
+34282 48841 lineto
+stroke
+newpath
+33965 48761 moveto
+34362 48761 lineto
+stroke
+newpath
+34045 48681 moveto
+34442 48681 lineto
+stroke
+newpath
+34125 48601 moveto
+34522 48601 lineto
+stroke
+newpath
+34205 48521 moveto
+34602 48521 lineto
+stroke
+newpath
+34285 48441 moveto
+34682 48441 lineto
+stroke
+newpath
+34365 48361 moveto
+34762 48361 lineto
+stroke
+newpath
+34445 48281 moveto
+34842 48281 lineto
+stroke
+newpath
+34525 48201 moveto
+34922 48201 lineto
+stroke
+newpath
+34605 48121 moveto
+35002 48121 lineto
+stroke
+newpath
+34685 48041 moveto
+35082 48041 lineto
+stroke
+newpath
+34765 47961 moveto
+35162 47961 lineto
+stroke
+newpath
+34845 47881 moveto
+35242 47881 lineto
+stroke
+newpath
+34925 47801 moveto
+35322 47801 lineto
+stroke
+newpath
+35005 47721 moveto
+35402 47721 lineto
+stroke
+newpath
+35085 47641 moveto
+35482 47641 lineto
+stroke
+newpath
+35165 47561 moveto
+35562 47561 lineto
+stroke
+newpath
+35245 47481 moveto
+35642 47481 lineto
+stroke
+newpath
+35325 47401 moveto
+35722 47401 lineto
+stroke
+newpath
+35405 47321 moveto
+35802 47321 lineto
+stroke
+newpath
+35485 47241 moveto
+35882 47241 lineto
+stroke
+newpath
+35565 47161 moveto
+35962 47161 lineto
+stroke
+newpath
+35645 47081 moveto
+36042 47081 lineto
+stroke
+newpath
+35725 47001 moveto
+36122 47001 lineto
+stroke
+newpath
+35805 46921 moveto
+36202 46921 lineto
+stroke
+newpath
+35885 46841 moveto
+36282 46841 lineto
+stroke
+newpath
+35965 46761 moveto
+36362 46761 lineto
+stroke
+newpath
+36045 46681 moveto
+36442 46681 lineto
+stroke
+newpath
+36125 46601 moveto
+36522 46601 lineto
+stroke
+newpath
+36205 46521 moveto
+36602 46521 lineto
+stroke
+newpath
+36285 46441 moveto
+36682 46441 lineto
+stroke
+newpath
+36365 46361 moveto
+36762 46361 lineto
+stroke
+newpath
+36445 46281 moveto
+36842 46281 lineto
+stroke
+newpath
+36525 46201 moveto
+36922 46201 lineto
+stroke
+newpath
+36605 46121 moveto
+37002 46121 lineto
+stroke
+newpath
+36685 46041 moveto
+37082 46041 lineto
+stroke
+newpath
+36765 45961 moveto
+37162 45961 lineto
+stroke
+newpath
+36845 45881 moveto
+37242 45881 lineto
+stroke
+newpath
+36925 45801 moveto
+37322 45801 lineto
+stroke
+newpath
+37005 45721 moveto
+37402 45721 lineto
+stroke
+newpath
+37085 45641 moveto
+37482 45641 lineto
+stroke
+newpath
+37165 45561 moveto
+37562 45561 lineto
+stroke
+newpath
+37245 45481 moveto
+37642 45481 lineto
+stroke
+newpath
+37325 45401 moveto
+37722 45401 lineto
+stroke
+newpath
+38927 51255 moveto
+38927 51255 lineto
+stroke
+newpath
+38717 51175 moveto
+38927 51175 lineto
+stroke
+newpath
+38637 51095 moveto
+38927 51095 lineto
+stroke
+newpath
+38557 51015 moveto
+38927 51015 lineto
+stroke
+newpath
+38477 50935 moveto
+38926 50935 lineto
+stroke
+newpath
+38397 50855 moveto
+38942 50855 lineto
+stroke
+newpath
+38317 50775 moveto
+38975 50775 lineto
+stroke
+newpath
+38237 50695 moveto
+39032 50695 lineto
+stroke
+newpath
+38157 50615 moveto
+39112 50615 lineto
+stroke
+newpath
+38077 50535 moveto
+39192 50535 lineto
+stroke
+newpath
+37997 50455 moveto
+39272 50455 lineto
+stroke
+newpath
+37917 50375 moveto
+39352 50375 lineto
+stroke
+newpath
+37837 50295 moveto
+39432 50295 lineto
+stroke
+newpath
+37757 50215 moveto
+39512 50215 lineto
+stroke
+newpath
+37677 50135 moveto
+39592 50135 lineto
+stroke
+newpath
+37597 50055 moveto
+39672 50055 lineto
+stroke
+newpath
+37517 49975 moveto
+39752 49975 lineto
+stroke
+newpath
+37437 49895 moveto
+39832 49895 lineto
+stroke
+newpath
+37357 49815 moveto
+39912 49815 lineto
+stroke
+newpath
+37277 49735 moveto
+39992 49735 lineto
+stroke
+newpath
+37197 49655 moveto
+40072 49655 lineto
+stroke
+newpath
+37117 49575 moveto
+40152 49575 lineto
+stroke
+newpath
+37023 49495 moveto
+40232 49495 lineto
+stroke
+newpath
+36152 49415 moveto
+40312 49415 lineto
+stroke
+newpath
+36057 49335 moveto
+40392 49335 lineto
+stroke
+newpath
+35631 49255 moveto
+40472 49255 lineto
+stroke
+newpath
+35561 49175 moveto
+40552 49175 lineto
+stroke
+newpath
+35472 49095 moveto
+40632 49095 lineto
+stroke
+newpath
+35379 49015 moveto
+40712 49015 lineto
+stroke
+newpath
+35459 48935 moveto
+40792 48935 lineto
+stroke
+newpath
+35539 48855 moveto
+40872 48855 lineto
+stroke
+newpath
+35619 48775 moveto
+40952 48775 lineto
+stroke
+newpath
+35699 48695 moveto
+41032 48695 lineto
+stroke
+newpath
+35779 48615 moveto
+41112 48615 lineto
+stroke
+newpath
+35859 48535 moveto
+41192 48535 lineto
+stroke
+newpath
+35939 48455 moveto
+41272 48455 lineto
+stroke
+newpath
+36019 48375 moveto
+41352 48375 lineto
+stroke
+newpath
+36099 48295 moveto
+41432 48295 lineto
+stroke
+newpath
+36179 48215 moveto
+41512 48215 lineto
+stroke
+newpath
+36259 48135 moveto
+41445 48135 lineto
+stroke
+newpath
+36339 48055 moveto
+41380 48055 lineto
+stroke
+newpath
+36419 47975 moveto
+41347 47975 lineto
+stroke
+newpath
+36499 47895 moveto
+41315 47895 lineto
+stroke
+newpath
+36579 47815 moveto
+41315 47815 lineto
+stroke
+newpath
+36659 47735 moveto
+41267 47735 lineto
+stroke
+newpath
+36739 47655 moveto
+41187 47655 lineto
+stroke
+newpath
+36819 47575 moveto
+41107 47575 lineto
+stroke
+newpath
+36899 47495 moveto
+41027 47495 lineto
+stroke
+newpath
+36979 47415 moveto
+40947 47415 lineto
+stroke
+newpath
+37059 47335 moveto
+40867 47335 lineto
+stroke
+newpath
+37139 47255 moveto
+40787 47255 lineto
+stroke
+newpath
+37219 47175 moveto
+40707 47175 lineto
+stroke
+newpath
+37299 47095 moveto
+40627 47095 lineto
+stroke
+newpath
+37379 47015 moveto
+40547 47015 lineto
+stroke
+newpath
+37459 46935 moveto
+40467 46935 lineto
+stroke
+newpath
+37539 46855 moveto
+40387 46855 lineto
+stroke
+newpath
+37619 46775 moveto
+40307 46775 lineto
+stroke
+newpath
+37699 46695 moveto
+40227 46695 lineto
+stroke
+newpath
+37779 46615 moveto
+40147 46615 lineto
+stroke
+newpath
+37859 46535 moveto
+40067 46535 lineto
+stroke
+newpath
+37939 46455 moveto
+39987 46455 lineto
+stroke
+newpath
+38019 46375 moveto
+39907 46375 lineto
+stroke
+newpath
+38099 46295 moveto
+39472 46295 lineto
+stroke
+newpath
+38179 46215 moveto
+39348 46215 lineto
+stroke
+newpath
+34481 52632 moveto
+36951 52632 lineto
+stroke
+newpath
+34408 52552 moveto
+36778 52552 lineto
+stroke
+newpath
+34327 52472 moveto
+36610 52472 lineto
+stroke
+newpath
+34387 52392 moveto
+36530 52392 lineto
+stroke
+newpath
+34467 52312 moveto
+36474 52312 lineto
+stroke
+newpath
+34506 52232 moveto
+36441 52232 lineto
+stroke
+newpath
+34539 52152 moveto
+36417 52152 lineto
+stroke
+newpath
+34568 52072 moveto
+36417 52072 lineto
+stroke
+newpath
+34568 51992 moveto
+36351 51992 lineto
+stroke
+newpath
+34568 51912 moveto
+36271 51912 lineto
+stroke
+newpath
+34564 51832 moveto
+36191 51832 lineto
+stroke
+newpath
+34640 51752 moveto
+36111 51752 lineto
+stroke
+newpath
+34718 51672 moveto
+36031 51672 lineto
+stroke
+newpath
+34771 51592 moveto
+35951 51592 lineto
+stroke
+newpath
+34796 51512 moveto
+35871 51512 lineto
+stroke
+newpath
+34809 51432 moveto
+35791 51432 lineto
+stroke
+newpath
+34809 51352 moveto
+35711 51352 lineto
+stroke
+newpath
+34809 51272 moveto
+35631 51272 lineto
+stroke
+newpath
+34809 51192 moveto
+35551 51192 lineto
+stroke
+newpath
+34809 51112 moveto
+35471 51112 lineto
+stroke
+newpath
+34809 51032 moveto
+35391 51032 lineto
+stroke
+newpath
+34809 50952 moveto
+35311 50952 lineto
+stroke
+newpath
+34809 50872 moveto
+35231 50872 lineto
+stroke
+newpath
+34809 50792 moveto
+35151 50792 lineto
+stroke
+newpath
+34809 50712 moveto
+35071 50712 lineto
+stroke
+newpath
+34809 50632 moveto
+34991 50632 lineto
+stroke
+newpath
+34809 50552 moveto
+34934 50552 lineto
+stroke
+newpath
+34809 50472 moveto
+34900 50472 lineto
+stroke
+newpath
+34809 50392 moveto
+34884 50392 lineto
+stroke
+newpath
+34809 50312 moveto
+34883 50312 lineto
+stroke
+newpath
+34809 50232 moveto
+34883 50232 lineto
+stroke
+newpath
+34809 50152 moveto
+34883 50152 lineto
+stroke
+newpath
+34809 50072 moveto
+34883 50072 lineto
+stroke
+newpath
+34809 49992 moveto
+34883 49992 lineto
+stroke
+newpath
+34809 49912 moveto
+34883 49912 lineto
+stroke
+newpath
+34809 49832 moveto
+34843 49832 lineto
+stroke
+newpath
+35031 54453 moveto
+35031 54453 lineto
+stroke
+newpath
+34951 54373 moveto
+36110 54373 lineto
+stroke
+newpath
+34871 54293 moveto
+36202 54293 lineto
+stroke
+newpath
+34791 54213 moveto
+36382 54213 lineto
+stroke
+newpath
+34711 54133 moveto
+37422 54133 lineto
+stroke
+newpath
+34631 54053 moveto
+37502 54053 lineto
+stroke
+newpath
+34551 53973 moveto
+37582 53973 lineto
+stroke
+newpath
+34471 53893 moveto
+37662 53893 lineto
+stroke
+newpath
+34391 53813 moveto
+37742 53813 lineto
+stroke
+newpath
+34311 53733 moveto
+37822 53733 lineto
+stroke
+newpath
+34231 53653 moveto
+37902 53653 lineto
+stroke
+newpath
+34151 53573 moveto
+37982 53573 lineto
+stroke
+newpath
+34257 53493 moveto
+38062 53493 lineto
+stroke
+newpath
+34366 53413 moveto
+38142 53413 lineto
+stroke
+newpath
+34446 53333 moveto
+38222 53333 lineto
+stroke
+newpath
+37326 53253 moveto
+38302 53253 lineto
+stroke
+newpath
+37578 53173 moveto
+38382 53173 lineto
+stroke
+newpath
+37737 53093 moveto
+38462 53093 lineto
+stroke
+newpath
+37817 53013 moveto
+38542 53013 lineto
+stroke
+newpath
+37869 52933 moveto
+38622 52933 lineto
+stroke
+newpath
+37902 52853 moveto
+38702 52853 lineto
+stroke
+newpath
+37923 52773 moveto
+38782 52773 lineto
+stroke
+newpath
+37923 52693 moveto
+38862 52693 lineto
+stroke
+newpath
+37923 52613 moveto
+38927 52613 lineto
+stroke
+newpath
+37891 52533 moveto
+38927 52533 lineto
+stroke
+newpath
+37858 52453 moveto
+38927 52453 lineto
+stroke
+newpath
+37792 52373 moveto
+38927 52373 lineto
+stroke
+newpath
+37712 52293 moveto
+38927 52293 lineto
+stroke
+newpath
+37373 52213 moveto
+38703 52213 lineto
+stroke
+newpath
+38915 52213 moveto
+38927 52213 lineto
+stroke
+newpath
+37389 52133 moveto
+38523 52133 lineto
+stroke
+newpath
+37389 52053 moveto
+38443 52053 lineto
+stroke
+newpath
+37385 51973 moveto
+38382 51973 lineto
+stroke
+newpath
+37352 51893 moveto
+38349 51893 lineto
+stroke
+newpath
+37319 51813 moveto
+38322 51813 lineto
+stroke
+newpath
+37245 51733 moveto
+38322 51733 lineto
+stroke
+newpath
+37146 51653 moveto
+38264 51653 lineto
+stroke
+newpath
+36863 51573 moveto
+38184 51573 lineto
+stroke
+newpath
+36783 51493 moveto
+38104 51493 lineto
+stroke
+newpath
+36703 51413 moveto
+38024 51413 lineto
+stroke
+newpath
+36623 51333 moveto
+37944 51333 lineto
+stroke
+newpath
+36543 51253 moveto
+37864 51253 lineto
+stroke
+newpath
+36463 51173 moveto
+37784 51173 lineto
+stroke
+newpath
+36383 51093 moveto
+37704 51093 lineto
+stroke
+newpath
+36303 51013 moveto
+37624 51013 lineto
+stroke
+newpath
+36223 50933 moveto
+37544 50933 lineto
+stroke
+newpath
+36143 50853 moveto
+37464 50853 lineto
+stroke
+newpath
+36063 50773 moveto
+37384 50773 lineto
+stroke
+newpath
+35983 50693 moveto
+37304 50693 lineto
+stroke
+newpath
+35903 50613 moveto
+37224 50613 lineto
+stroke
+newpath
+35823 50533 moveto
+37144 50533 lineto
+stroke
+newpath
+35743 50453 moveto
+37064 50453 lineto
+stroke
+newpath
+35663 50373 moveto
+36984 50373 lineto
+stroke
+newpath
+35583 50293 moveto
+36904 50293 lineto
+stroke
+newpath
+35541 50213 moveto
+35639 50213 lineto
+stroke
+newpath
+35977 50213 moveto
+36824 50213 lineto
+stroke
+newpath
+36119 50133 moveto
+36744 50133 lineto
+stroke
+newpath
+33464 51609 moveto
+33464 51609 lineto
+stroke
+newpath
+33384 51529 moveto
+33478 51529 lineto
+stroke
+newpath
+33330 51449 moveto
+33398 51449 lineto
+stroke
+newpath
+33465 52608 moveto
+33465 52608 lineto
+stroke
+newpath
+33385 52528 moveto
+33545 52528 lineto
+stroke
+newpath
+33331 52448 moveto
+33597 52448 lineto
+stroke
+newpath
+33411 52368 moveto
+33517 52368 lineto
+stroke
+newpath
+38780 55389 moveto
+38780 55389 lineto
+stroke
+newpath
+38700 55309 moveto
+38859 55309 lineto
+stroke
+newpath
+38621 55229 moveto
+38940 55229 lineto
+stroke
+newpath
+38533 55149 moveto
+39132 55149 lineto
+stroke
+newpath
+38453 55069 moveto
+39378 55069 lineto
+stroke
+newpath
+38373 54989 moveto
+39378 54989 lineto
+stroke
+newpath
+38293 54909 moveto
+39378 54909 lineto
+stroke
+newpath
+38213 54829 moveto
+39378 54829 lineto
+stroke
+newpath
+38133 54749 moveto
+39378 54749 lineto
+stroke
+newpath
+38053 54669 moveto
+39378 54669 lineto
+stroke
+newpath
+37973 54589 moveto
+39378 54589 lineto
+stroke
+newpath
+37978 54509 moveto
+39378 54509 lineto
+stroke
+newpath
+38058 54429 moveto
+39378 54429 lineto
+stroke
+newpath
+38138 54349 moveto
+39378 54349 lineto
+stroke
+newpath
+38218 54269 moveto
+39378 54269 lineto
+stroke
+newpath
+38298 54189 moveto
+39378 54189 lineto
+stroke
+newpath
+38378 54109 moveto
+39378 54109 lineto
+stroke
+newpath
+38458 54029 moveto
+39378 54029 lineto
+stroke
+newpath
+38538 53949 moveto
+39378 53949 lineto
+stroke
+newpath
+38618 53869 moveto
+39378 53869 lineto
+stroke
+newpath
+38698 53789 moveto
+39378 53789 lineto
+stroke
+newpath
+38778 53709 moveto
+39378 53709 lineto
+stroke
+newpath
+38858 53629 moveto
+39378 53629 lineto
+stroke
+newpath
+38938 53549 moveto
+39378 53549 lineto
+stroke
+newpath
+39018 53469 moveto
+39378 53469 lineto
+stroke
+newpath
+39098 53389 moveto
+39378 53389 lineto
+stroke
+newpath
+39178 53309 moveto
+39378 53309 lineto
+stroke
+newpath
+39258 53229 moveto
+39378 53229 lineto
+stroke
+newpath
+39338 53149 moveto
+39378 53149 lineto
+stroke
+newpath
+28360 56385 moveto
+28688 56385 lineto
+stroke
+newpath
+28360 56305 moveto
+28587 56305 lineto
+stroke
+newpath
+31649 56305 moveto
+33662 56305 lineto
+stroke
+newpath
+28360 56225 moveto
+28544 56225 lineto
+stroke
+newpath
+31693 56225 moveto
+33742 56225 lineto
+stroke
+newpath
+28360 56145 moveto
+28531 56145 lineto
+stroke
+newpath
+31705 56145 moveto
+33822 56145 lineto
+stroke
+newpath
+28360 56065 moveto
+28531 56065 lineto
+stroke
+newpath
+31705 56065 moveto
+33902 56065 lineto
+stroke
+newpath
+28360 55985 moveto
+28531 55985 lineto
+stroke
+newpath
+31705 55985 moveto
+33936 55985 lineto
+stroke
+newpath
+28360 55905 moveto
+28531 55905 lineto
+stroke
+newpath
+31705 55905 moveto
+33936 55905 lineto
+stroke
+newpath
+28360 55825 moveto
+28531 55825 lineto
+stroke
+newpath
+31705 55825 moveto
+33961 55825 lineto
+stroke
+newpath
+28360 55745 moveto
+28531 55745 lineto
+stroke
+newpath
+31705 55745 moveto
+33993 55745 lineto
+stroke
+newpath
+28360 55665 moveto
+28531 55665 lineto
+stroke
+newpath
+31705 55665 moveto
+34026 55665 lineto
+stroke
+newpath
+28360 55585 moveto
+28531 55585 lineto
+stroke
+newpath
+31705 55585 moveto
+34106 55585 lineto
+stroke
+newpath
+34972 55585 moveto
+35080 55585 lineto
+stroke
+newpath
+28360 55505 moveto
+28531 55505 lineto
+stroke
+newpath
+31705 55505 moveto
+34186 55505 lineto
+stroke
+newpath
+34892 55505 moveto
+34979 55505 lineto
+stroke
+newpath
+28360 55425 moveto
+28531 55425 lineto
+stroke
+newpath
+31705 55425 moveto
+34362 55425 lineto
+stroke
+newpath
+34714 55425 moveto
+34943 55425 lineto
+stroke
+newpath
+28360 55345 moveto
+28549 55345 lineto
+stroke
+newpath
+29718 55345 moveto
+30517 55345 lineto
+stroke
+newpath
+31687 55345 moveto
+34799 55345 lineto
+stroke
+newpath
+28360 55265 moveto
+28601 55265 lineto
+stroke
+newpath
+29667 55265 moveto
+30569 55265 lineto
+stroke
+newpath
+31635 55265 moveto
+34693 55265 lineto
+stroke
+newpath
+28360 55185 moveto
+34613 55185 lineto
+stroke
+newpath
+28360 55105 moveto
+34533 55105 lineto
+stroke
+newpath
+28418 55025 moveto
+34453 55025 lineto
+stroke
+newpath
+28498 54945 moveto
+34373 54945 lineto
+stroke
+newpath
+28578 54865 moveto
+34293 54865 lineto
+stroke
+newpath
+28658 54785 moveto
+34213 54785 lineto
+stroke
+newpath
+28738 54705 moveto
+34133 54705 lineto
+stroke
+newpath
+28818 54625 moveto
+34053 54625 lineto
+stroke
+newpath
+28898 54545 moveto
+33973 54545 lineto
+stroke
+newpath
+28978 54465 moveto
+33893 54465 lineto
+stroke
+newpath
+29058 54385 moveto
+33813 54385 lineto
+stroke
+newpath
+29138 54305 moveto
+33733 54305 lineto
+stroke
+newpath
+29218 54225 moveto
+33653 54225 lineto
+stroke
+newpath
+29298 54145 moveto
+33573 54145 lineto
+stroke
+newpath
+29552 54065 moveto
+33493 54065 lineto
+stroke
+newpath
+29654 53985 moveto
+33413 53985 lineto
+stroke
+newpath
+29734 53905 moveto
+33333 53905 lineto
+stroke
+newpath
+29814 53825 moveto
+33253 53825 lineto
+stroke
+newpath
+29894 53745 moveto
+33173 53745 lineto
+stroke
+newpath
+29974 53665 moveto
+33093 53665 lineto
+stroke
+newpath
+30054 53585 moveto
+33013 53585 lineto
+stroke
+newpath
+30134 53505 moveto
+32703 53505 lineto
+stroke
+newpath
+30214 53425 moveto
+32576 53425 lineto
+stroke
+newpath
+36055 55676 moveto
+36444 55676 lineto
+stroke
+newpath
+35982 55596 moveto
+36524 55596 lineto
+stroke
+newpath
+36088 55516 moveto
+36604 55516 lineto
+stroke
+newpath
+36131 55436 moveto
+36684 55436 lineto
+stroke
+newpath
+36248 55356 moveto
+36732 55356 lineto
+stroke
+newpath
+36359 55276 moveto
+36732 55276 lineto
+stroke
+newpath
+36439 55196 moveto
+36763 55196 lineto
+stroke
+newpath
+36519 55116 moveto
+36796 55116 lineto
+stroke
+newpath
+36599 55036 moveto
+36862 55036 lineto
+stroke
+newpath
+36697 50086 moveto
+38322 51711 lineto
+38322 51828 lineto
+38396 52007 lineto
+38533 52143 lineto
+38712 52217 lineto
+38905 52217 lineto
+38927 52208 lineto
+38927 52629 lineto
+37356 54199 lineto
+36453 54199 lineto
+36297 54230 lineto
+36165 54318 lineto
+36038 54445 lineto
+36034 54440 lineto
+35942 54402 lineto
+35135 54402 lineto
+35044 54440 lineto
+35031 54453 lineto
+34126 53548 lineto
+34307 53472 lineto
+34477 53302 lineto
+34481 53290 lineto
+37176 53290 lineto
+37181 53291 lineto
+37307 53265 lineto
+37414 53194 lineto
+37417 53191 lineto
+37534 53191 lineto
+37713 53117 lineto
+37849 52980 lineto
+37923 52801 lineto
+37923 52608 lineto
+37849 52429 lineto
+37712 52293 lineto
+37533 52219 lineto
+37370 52219 lineto
+37389 52174 lineto
+37389 51981 lineto
+37315 51802 lineto
+37178 51666 lineto
+36999 51592 lineto
+36882 51592 lineto
+35541 50251 lineto
+35541 50173 lineto
+35711 50243 lineto
+35904 50243 lineto
+36083 50169 lineto
+36165 50086 lineto
+36697 50086 lineto
+poly0
+newpath
+27047 58773 moveto
+46182 58773 lineto
+stroke
+newpath
+27047 58693 moveto
+46182 58693 lineto
+stroke
+newpath
+27047 58613 moveto
+46182 58613 lineto
+stroke
+newpath
+27047 58533 moveto
+45302 58533 lineto
+stroke
+newpath
+45643 58533 moveto
+46182 58533 lineto
+stroke
+newpath
+27047 58453 moveto
+45214 58453 lineto
+stroke
+newpath
+45731 58453 moveto
+46182 58453 lineto
+stroke
+newpath
+27047 58373 moveto
+45167 58373 lineto
+stroke
+newpath
+45778 58373 moveto
+46182 58373 lineto
+stroke
+newpath
+27047 58293 moveto
+45151 58293 lineto
+stroke
+newpath
+45794 58293 moveto
+46182 58293 lineto
+stroke
+newpath
+27047 58213 moveto
+45131 58213 lineto
+stroke
+newpath
+45813 58213 moveto
+46182 58213 lineto
+stroke
+newpath
+27047 58133 moveto
+44900 58133 lineto
+stroke
+newpath
+46046 58133 moveto
+46182 58133 lineto
+stroke
+newpath
+27047 58053 moveto
+44817 58053 lineto
+stroke
+newpath
+46129 58053 moveto
+46182 58053 lineto
+stroke
+newpath
+27047 57973 moveto
+44773 57973 lineto
+stroke
+newpath
+46173 57973 moveto
+46182 57973 lineto
+stroke
+newpath
+27047 57893 moveto
+44757 57893 lineto
+stroke
+newpath
+27047 57813 moveto
+44761 57813 lineto
+stroke
+newpath
+27047 57733 moveto
+44780 57733 lineto
+stroke
+newpath
+46164 57733 moveto
+46182 57733 lineto
+stroke
+newpath
+27047 57653 moveto
+44834 57653 lineto
+stroke
+newpath
+46110 57653 moveto
+46182 57653 lineto
+stroke
+newpath
+27047 57573 moveto
+44938 57573 lineto
+stroke
+newpath
+46006 57573 moveto
+46182 57573 lineto
+stroke
+newpath
+27047 57493 moveto
+45144 57493 lineto
+stroke
+newpath
+45800 57493 moveto
+46182 57493 lineto
+stroke
+newpath
+27047 57413 moveto
+45155 57413 lineto
+stroke
+newpath
+45788 57413 moveto
+46182 57413 lineto
+stroke
+newpath
+27047 57333 moveto
+28864 57333 lineto
+stroke
+newpath
+29404 57333 moveto
+30832 57333 lineto
+stroke
+newpath
+31372 57333 moveto
+45177 57333 lineto
+stroke
+newpath
+45766 57333 moveto
+46182 57333 lineto
+stroke
+newpath
+27047 57253 moveto
+28742 57253 lineto
+stroke
+newpath
+29526 57253 moveto
+30710 57253 lineto
+stroke
+newpath
+31494 57253 moveto
+45231 57253 lineto
+stroke
+newpath
+45712 57253 moveto
+46182 57253 lineto
+stroke
+newpath
+27047 57173 moveto
+27928 57173 lineto
+stroke
+newpath
+29606 57173 moveto
+30630 57173 lineto
+stroke
+newpath
+33888 57173 moveto
+45340 57173 lineto
+stroke
+newpath
+45603 57173 moveto
+46182 57173 lineto
+stroke
+newpath
+27047 57093 moveto
+27791 57093 lineto
+stroke
+newpath
+29663 57093 moveto
+30574 57093 lineto
+stroke
+newpath
+34021 57093 moveto
+46182 57093 lineto
+stroke
+newpath
+27047 57013 moveto
+27704 57013 lineto
+stroke
+newpath
+29696 57013 moveto
+30541 57013 lineto
+stroke
+newpath
+34107 57013 moveto
+46182 57013 lineto
+stroke
+newpath
+27047 56933 moveto
+27638 56933 lineto
+stroke
+newpath
+29728 56933 moveto
+30508 56933 lineto
+stroke
+newpath
+34187 56933 moveto
+46182 56933 lineto
+stroke
+newpath
+27047 56853 moveto
+27585 56853 lineto
+stroke
+newpath
+29737 56853 moveto
+30499 56853 lineto
+stroke
+newpath
+34267 56853 moveto
+46182 56853 lineto
+stroke
+newpath
+27047 56773 moveto
+27564 56773 lineto
+stroke
+newpath
+29737 56773 moveto
+30499 56773 lineto
+stroke
+newpath
+34347 56773 moveto
+46182 56773 lineto
+stroke
+newpath
+27047 56693 moveto
+27548 56693 lineto
+stroke
+newpath
+29737 56693 moveto
+30499 56693 lineto
+stroke
+newpath
+34427 56693 moveto
+46182 56693 lineto
+stroke
+newpath
+27047 56613 moveto
+27546 56613 lineto
+stroke
+newpath
+29712 56613 moveto
+30523 56613 lineto
+stroke
+newpath
+34507 56613 moveto
+46182 56613 lineto
+stroke
+newpath
+27047 56533 moveto
+27546 56533 lineto
+stroke
+newpath
+29679 56533 moveto
+30556 56533 lineto
+stroke
+newpath
+34841 56533 moveto
+35238 56533 lineto
+stroke
+newpath
+35841 56533 moveto
+46182 56533 lineto
+stroke
+newpath
+27047 56453 moveto
+27546 56453 lineto
+stroke
+newpath
+29646 56453 moveto
+30589 56453 lineto
+stroke
+newpath
+34945 56453 moveto
+35134 56453 lineto
+stroke
+newpath
+35944 56453 moveto
+46182 56453 lineto
+stroke
+newpath
+27047 56373 moveto
+27546 56373 lineto
+stroke
+newpath
+29591 56373 moveto
+30645 56373 lineto
+stroke
+newpath
+35025 56373 moveto
+35054 56373 lineto
+stroke
+newpath
+36024 56373 moveto
+46182 56373 lineto
+stroke
+newpath
+27047 56293 moveto
+27546 56293 lineto
+stroke
+newpath
+29693 56293 moveto
+30543 56293 lineto
+stroke
+newpath
+36732 56293 moveto
+38037 56293 lineto
+stroke
+newpath
+38524 56293 moveto
+39037 56293 lineto
+stroke
+newpath
+39524 56293 moveto
+46182 56293 lineto
+stroke
+newpath
+27047 56213 moveto
+27546 56213 lineto
+stroke
+newpath
+29729 56213 moveto
+30506 56213 lineto
+stroke
+newpath
+36839 56213 moveto
+37899 56213 lineto
+stroke
+newpath
+38661 56213 moveto
+38899 56213 lineto
+stroke
+newpath
+39661 56213 moveto
+46182 56213 lineto
+stroke
+newpath
+27047 56133 moveto
+27546 56133 lineto
+stroke
+newpath
+36919 56133 moveto
+37819 56133 lineto
+stroke
+newpath
+38741 56133 moveto
+38819 56133 lineto
+stroke
+newpath
+39741 56133 moveto
+46182 56133 lineto
+stroke
+newpath
+27047 56053 moveto
+27546 56053 lineto
+stroke
+newpath
+36999 56053 moveto
+37757 56053 lineto
+stroke
+newpath
+39804 56053 moveto
+46182 56053 lineto
+stroke
+newpath
+27047 55973 moveto
+27546 55973 lineto
+stroke
+newpath
+37079 55973 moveto
+37724 55973 lineto
+stroke
+newpath
+39837 55973 moveto
+46182 55973 lineto
+stroke
+newpath
+27047 55893 moveto
+27546 55893 lineto
+stroke
+newpath
+37159 55893 moveto
+37690 55893 lineto
+stroke
+newpath
+39870 55893 moveto
+46182 55893 lineto
+stroke
+newpath
+27047 55813 moveto
+27546 55813 lineto
+stroke
+newpath
+37415 55813 moveto
+37677 55813 lineto
+stroke
+newpath
+39883 55813 moveto
+46182 55813 lineto
+stroke
+newpath
+27047 55733 moveto
+27546 55733 lineto
+stroke
+newpath
+37541 55733 moveto
+37677 55733 lineto
+stroke
+newpath
+39883 55733 moveto
+46182 55733 lineto
+stroke
+newpath
+27047 55653 moveto
+27546 55653 lineto
+stroke
+newpath
+37621 55653 moveto
+37677 55653 lineto
+stroke
+newpath
+39883 55653 moveto
+46182 55653 lineto
+stroke
+newpath
+27047 55573 moveto
+27546 55573 lineto
+stroke
+newpath
+37659 55573 moveto
+37696 55573 lineto
+stroke
+newpath
+39914 55573 moveto
+46182 55573 lineto
+stroke
+newpath
+27047 55493 moveto
+27546 55493 lineto
+stroke
+newpath
+37692 55493 moveto
+37725 55493 lineto
+stroke
+newpath
+39976 55493 moveto
+46182 55493 lineto
+stroke
+newpath
+27047 55413 moveto
+27546 55413 lineto
+stroke
+newpath
+40017 55413 moveto
+46182 55413 lineto
+stroke
+newpath
+27047 55333 moveto
+27546 55333 lineto
+stroke
+newpath
+40032 55333 moveto
+46182 55333 lineto
+stroke
+newpath
+27047 55253 moveto
+27546 55253 lineto
+stroke
+newpath
+40036 55253 moveto
+46182 55253 lineto
+stroke
+newpath
+27047 55173 moveto
+27546 55173 lineto
+stroke
+newpath
+40036 55173 moveto
+46182 55173 lineto
+stroke
+newpath
+27047 55093 moveto
+27546 55093 lineto
+stroke
+newpath
+40036 55093 moveto
+46182 55093 lineto
+stroke
+newpath
+27047 55013 moveto
+27546 55013 lineto
+stroke
+newpath
+40036 55013 moveto
+46182 55013 lineto
+stroke
+newpath
+27047 54933 moveto
+27546 54933 lineto
+stroke
+newpath
+40036 54933 moveto
+46182 54933 lineto
+stroke
+newpath
+27047 54853 moveto
+27558 54853 lineto
+stroke
+newpath
+40036 54853 moveto
+46182 54853 lineto
+stroke
+newpath
+27047 54773 moveto
+27574 54773 lineto
+stroke
+newpath
+40036 54773 moveto
+46182 54773 lineto
+stroke
+newpath
+27047 54693 moveto
+27620 54693 lineto
+stroke
+newpath
+40036 54693 moveto
+46182 54693 lineto
+stroke
+newpath
+27047 54613 moveto
+27678 54613 lineto
+stroke
+newpath
+40036 54613 moveto
+46182 54613 lineto
+stroke
+newpath
+27047 54533 moveto
+27758 54533 lineto
+stroke
+newpath
+40036 54533 moveto
+46182 54533 lineto
+stroke
+newpath
+27047 54453 moveto
+27838 54453 lineto
+stroke
+newpath
+40036 54453 moveto
+46182 54453 lineto
+stroke
+newpath
+27047 54373 moveto
+27918 54373 lineto
+stroke
+newpath
+40036 54373 moveto
+46182 54373 lineto
+stroke
+newpath
+27047 54293 moveto
+27998 54293 lineto
+stroke
+newpath
+40036 54293 moveto
+46182 54293 lineto
+stroke
+newpath
+27047 54213 moveto
+28078 54213 lineto
+stroke
+newpath
+40036 54213 moveto
+46182 54213 lineto
+stroke
+newpath
+27047 54133 moveto
+28158 54133 lineto
+stroke
+newpath
+40036 54133 moveto
+46182 54133 lineto
+stroke
+newpath
+27047 54053 moveto
+28238 54053 lineto
+stroke
+newpath
+40036 54053 moveto
+46182 54053 lineto
+stroke
+newpath
+27047 53973 moveto
+28318 53973 lineto
+stroke
+newpath
+40036 53973 moveto
+46182 53973 lineto
+stroke
+newpath
+27047 53893 moveto
+28398 53893 lineto
+stroke
+newpath
+40036 53893 moveto
+46182 53893 lineto
+stroke
+newpath
+27047 53813 moveto
+28478 53813 lineto
+stroke
+newpath
+40036 53813 moveto
+46182 53813 lineto
+stroke
+newpath
+27047 53733 moveto
+28558 53733 lineto
+stroke
+newpath
+40036 53733 moveto
+46182 53733 lineto
+stroke
+newpath
+27047 53653 moveto
+28638 53653 lineto
+stroke
+newpath
+40036 53653 moveto
+46182 53653 lineto
+stroke
+newpath
+27047 53573 moveto
+28718 53573 lineto
+stroke
+newpath
+40036 53573 moveto
+46182 53573 lineto
+stroke
+newpath
+27047 53493 moveto
+28798 53493 lineto
+stroke
+newpath
+40036 53493 moveto
+46182 53493 lineto
+stroke
+newpath
+27047 53413 moveto
+28894 53413 lineto
+stroke
+newpath
+40036 53413 moveto
+46182 53413 lineto
+stroke
+newpath
+27047 53333 moveto
+29098 53333 lineto
+stroke
+newpath
+40036 53333 moveto
+46182 53333 lineto
+stroke
+newpath
+27047 53253 moveto
+29234 53253 lineto
+stroke
+newpath
+40036 53253 moveto
+46182 53253 lineto
+stroke
+newpath
+27047 53173 moveto
+29314 53173 lineto
+stroke
+newpath
+40036 53173 moveto
+46182 53173 lineto
+stroke
+newpath
+27047 53093 moveto
+29394 53093 lineto
+stroke
+newpath
+40036 53093 moveto
+46182 53093 lineto
+stroke
+newpath
+27047 53013 moveto
+29474 53013 lineto
+stroke
+newpath
+40036 53013 moveto
+46182 53013 lineto
+stroke
+newpath
+27047 52933 moveto
+29554 52933 lineto
+stroke
+newpath
+40036 52933 moveto
+46182 52933 lineto
+stroke
+newpath
+27047 52853 moveto
+29634 52853 lineto
+stroke
+newpath
+40036 52853 moveto
+46182 52853 lineto
+stroke
+newpath
+27047 52773 moveto
+29714 52773 lineto
+stroke
+newpath
+40036 52773 moveto
+46182 52773 lineto
+stroke
+newpath
+27047 52693 moveto
+29794 52693 lineto
+stroke
+newpath
+40036 52693 moveto
+46182 52693 lineto
+stroke
+newpath
+27047 52613 moveto
+29904 52613 lineto
+stroke
+newpath
+40036 52613 moveto
+46182 52613 lineto
+stroke
+newpath
+27047 52533 moveto
+32540 52533 lineto
+stroke
+newpath
+40036 52533 moveto
+46182 52533 lineto
+stroke
+newpath
+27047 52453 moveto
+32604 52453 lineto
+stroke
+newpath
+40036 52453 moveto
+46182 52453 lineto
+stroke
+newpath
+27047 52373 moveto
+32524 52373 lineto
+stroke
+newpath
+40036 52373 moveto
+46182 52373 lineto
+stroke
+newpath
+27047 52293 moveto
+32450 52293 lineto
+stroke
+newpath
+40036 52293 moveto
+46182 52293 lineto
+stroke
+newpath
+27047 52213 moveto
+32417 52213 lineto
+stroke
+newpath
+40036 52213 moveto
+46182 52213 lineto
+stroke
+newpath
+27047 52133 moveto
+32384 52133 lineto
+stroke
+newpath
+40036 52133 moveto
+46182 52133 lineto
+stroke
+newpath
+27047 52053 moveto
+32362 52053 lineto
+stroke
+newpath
+40036 52053 moveto
+46182 52053 lineto
+stroke
+newpath
+27047 51973 moveto
+32362 51973 lineto
+stroke
+newpath
+40081 51973 moveto
+46182 51973 lineto
+stroke
+newpath
+27047 51893 moveto
+32362 51893 lineto
+stroke
+newpath
+40137 51893 moveto
+46182 51893 lineto
+stroke
+newpath
+27047 51813 moveto
+32351 51813 lineto
+stroke
+newpath
+40170 51813 moveto
+46182 51813 lineto
+stroke
+newpath
+27047 51733 moveto
+32271 51733 lineto
+stroke
+newpath
+40194 51733 moveto
+46182 51733 lineto
+stroke
+newpath
+27047 51653 moveto
+32191 51653 lineto
+stroke
+newpath
+40194 51653 moveto
+46182 51653 lineto
+stroke
+newpath
+27047 51573 moveto
+32136 51573 lineto
+stroke
+newpath
+40194 51573 moveto
+46182 51573 lineto
+stroke
+newpath
+27047 51493 moveto
+32105 51493 lineto
+stroke
+newpath
+40165 51493 moveto
+46182 51493 lineto
+stroke
+newpath
+27047 51413 moveto
+32088 51413 lineto
+stroke
+newpath
+40132 51413 moveto
+46182 51413 lineto
+stroke
+newpath
+27047 51333 moveto
+32089 51333 lineto
+stroke
+newpath
+40070 51333 moveto
+46182 51333 lineto
+stroke
+newpath
+27047 51253 moveto
+32089 51253 lineto
+stroke
+newpath
+39990 51253 moveto
+46182 51253 lineto
+stroke
+newpath
+27047 51173 moveto
+32089 51173 lineto
+stroke
+newpath
+39585 51173 moveto
+39608 51173 lineto
+stroke
+newpath
+39806 51173 moveto
+46182 51173 lineto
+stroke
+newpath
+27047 51093 moveto
+32089 51093 lineto
+stroke
+newpath
+39585 51093 moveto
+46182 51093 lineto
+stroke
+newpath
+27047 51013 moveto
+32089 51013 lineto
+stroke
+newpath
+39646 51013 moveto
+46182 51013 lineto
+stroke
+newpath
+27047 50933 moveto
+32089 50933 lineto
+stroke
+newpath
+39726 50933 moveto
+46182 50933 lineto
+stroke
+newpath
+27047 50853 moveto
+32089 50853 lineto
+stroke
+newpath
+39806 50853 moveto
+46182 50853 lineto
+stroke
+newpath
+27047 50773 moveto
+32089 50773 lineto
+stroke
+newpath
+39886 50773 moveto
+46182 50773 lineto
+stroke
+newpath
+27047 50693 moveto
+32089 50693 lineto
+stroke
+newpath
+39966 50693 moveto
+46182 50693 lineto
+stroke
+newpath
+27047 50613 moveto
+32089 50613 lineto
+stroke
+newpath
+40046 50613 moveto
+46182 50613 lineto
+stroke
+newpath
+27047 50533 moveto
+32089 50533 lineto
+stroke
+newpath
+40126 50533 moveto
+46182 50533 lineto
+stroke
+newpath
+27047 50453 moveto
+32089 50453 lineto
+stroke
+newpath
+40206 50453 moveto
+46182 50453 lineto
+stroke
+newpath
+27047 50373 moveto
+32089 50373 lineto
+stroke
+newpath
+40286 50373 moveto
+46182 50373 lineto
+stroke
+newpath
+27047 50293 moveto
+32089 50293 lineto
+stroke
+newpath
+40366 50293 moveto
+46182 50293 lineto
+stroke
+newpath
+27047 50213 moveto
+32089 50213 lineto
+stroke
+newpath
+40446 50213 moveto
+46182 50213 lineto
+stroke
+newpath
+27047 50133 moveto
+32089 50133 lineto
+stroke
+newpath
+40526 50133 moveto
+46182 50133 lineto
+stroke
+newpath
+27047 50053 moveto
+32089 50053 lineto
+stroke
+newpath
+40606 50053 moveto
+46182 50053 lineto
+stroke
+newpath
+27047 49973 moveto
+32089 49973 lineto
+stroke
+newpath
+40686 49973 moveto
+46182 49973 lineto
+stroke
+newpath
+27047 49893 moveto
+32089 49893 lineto
+stroke
+newpath
+40766 49893 moveto
+46182 49893 lineto
+stroke
+newpath
+27047 49813 moveto
+32093 49813 lineto
+stroke
+newpath
+40846 49813 moveto
+46182 49813 lineto
+stroke
+newpath
+27047 49733 moveto
+32110 49733 lineto
+stroke
+newpath
+40926 49733 moveto
+46182 49733 lineto
+stroke
+newpath
+27047 49653 moveto
+32155 49653 lineto
+stroke
+newpath
+41006 49653 moveto
+46182 49653 lineto
+stroke
+newpath
+27047 49573 moveto
+32221 49573 lineto
+stroke
+newpath
+41086 49573 moveto
+46182 49573 lineto
+stroke
+newpath
+27047 49493 moveto
+32301 49493 lineto
+stroke
+newpath
+41166 49493 moveto
+46182 49493 lineto
+stroke
+newpath
+27047 49413 moveto
+32381 49413 lineto
+stroke
+newpath
+41246 49413 moveto
+46182 49413 lineto
+stroke
+newpath
+27047 49333 moveto
+32461 49333 lineto
+stroke
+newpath
+41326 49333 moveto
+46182 49333 lineto
+stroke
+newpath
+27047 49253 moveto
+32541 49253 lineto
+stroke
+newpath
+41406 49253 moveto
+46182 49253 lineto
+stroke
+newpath
+27047 49173 moveto
+32621 49173 lineto
+stroke
+newpath
+41486 49173 moveto
+46182 49173 lineto
+stroke
+newpath
+27047 49093 moveto
+32701 49093 lineto
+stroke
+newpath
+41566 49093 moveto
+46182 49093 lineto
+stroke
+newpath
+27047 49013 moveto
+32781 49013 lineto
+stroke
+newpath
+41646 49013 moveto
+46182 49013 lineto
+stroke
+newpath
+27047 48933 moveto
+32861 48933 lineto
+stroke
+newpath
+41726 48933 moveto
+46182 48933 lineto
+stroke
+newpath
+27047 48853 moveto
+32941 48853 lineto
+stroke
+newpath
+41806 48853 moveto
+46182 48853 lineto
+stroke
+newpath
+27047 48773 moveto
+33021 48773 lineto
+stroke
+newpath
+41886 48773 moveto
+42111 48773 lineto
+stroke
+newpath
+42670 48773 moveto
+46182 48773 lineto
+stroke
+newpath
+27047 48693 moveto
+33101 48693 lineto
+stroke
+newpath
+41966 48693 moveto
+42030 48693 lineto
+stroke
+newpath
+42750 48693 moveto
+46182 48693 lineto
+stroke
+newpath
+27047 48613 moveto
+33181 48613 lineto
+stroke
+newpath
+42814 48613 moveto
+46182 48613 lineto
+stroke
+newpath
+27047 48533 moveto
+33261 48533 lineto
+stroke
+newpath
+42847 48533 moveto
+46182 48533 lineto
+stroke
+newpath
+27047 48453 moveto
+33341 48453 lineto
+stroke
+newpath
+42876 48453 moveto
+46182 48453 lineto
+stroke
+newpath
+27047 48373 moveto
+33421 48373 lineto
+stroke
+newpath
+42876 48373 moveto
+46182 48373 lineto
+stroke
+newpath
+27047 48293 moveto
+33501 48293 lineto
+stroke
+newpath
+42928 48293 moveto
+46182 48293 lineto
+stroke
+newpath
+27047 48213 moveto
+33581 48213 lineto
+stroke
+newpath
+43008 48213 moveto
+46182 48213 lineto
+stroke
+newpath
+27047 48133 moveto
+33661 48133 lineto
+stroke
+newpath
+43088 48133 moveto
+46182 48133 lineto
+stroke
+newpath
+27047 48053 moveto
+33741 48053 lineto
+stroke
+newpath
+43168 48053 moveto
+46182 48053 lineto
+stroke
+newpath
+27047 47973 moveto
+33821 47973 lineto
+stroke
+newpath
+43248 47973 moveto
+46182 47973 lineto
+stroke
+newpath
+27047 47893 moveto
+33901 47893 lineto
+stroke
+newpath
+43328 47893 moveto
+46182 47893 lineto
+stroke
+newpath
+27047 47813 moveto
+33981 47813 lineto
+stroke
+newpath
+43408 47813 moveto
+46182 47813 lineto
+stroke
+newpath
+27047 47733 moveto
+34061 47733 lineto
+stroke
+newpath
+43488 47733 moveto
+46182 47733 lineto
+stroke
+newpath
+27047 47653 moveto
+34141 47653 lineto
+stroke
+newpath
+43553 47653 moveto
+46182 47653 lineto
+stroke
+newpath
+27047 47573 moveto
+34221 47573 lineto
+stroke
+newpath
+43598 47573 moveto
+46182 47573 lineto
+stroke
+newpath
+27047 47493 moveto
+34301 47493 lineto
+stroke
+newpath
+43613 47493 moveto
+46182 47493 lineto
+stroke
+newpath
+27047 47413 moveto
+34381 47413 lineto
+stroke
+newpath
+43619 47413 moveto
+46182 47413 lineto
+stroke
+newpath
+27047 47333 moveto
+34461 47333 lineto
+stroke
+newpath
+43619 47333 moveto
+46182 47333 lineto
+stroke
+newpath
+27047 47253 moveto
+34541 47253 lineto
+stroke
+newpath
+43619 47253 moveto
+46182 47253 lineto
+stroke
+newpath
+27047 47173 moveto
+34621 47173 lineto
+stroke
+newpath
+43619 47173 moveto
+46182 47173 lineto
+stroke
+newpath
+27047 47093 moveto
+34701 47093 lineto
+stroke
+newpath
+43619 47093 moveto
+46182 47093 lineto
+stroke
+newpath
+27047 47013 moveto
+34781 47013 lineto
+stroke
+newpath
+43619 47013 moveto
+46182 47013 lineto
+stroke
+newpath
+27047 46933 moveto
+32994 46933 lineto
+stroke
+newpath
+33308 46933 moveto
+34861 46933 lineto
+stroke
+newpath
+43619 46933 moveto
+46182 46933 lineto
+stroke
+newpath
+27047 46853 moveto
+32844 46853 lineto
+stroke
+newpath
+33457 46853 moveto
+34941 46853 lineto
+stroke
+newpath
+43619 46853 moveto
+46182 46853 lineto
+stroke
+newpath
+27047 46773 moveto
+32764 46773 lineto
+stroke
+newpath
+33537 46773 moveto
+35021 46773 lineto
+stroke
+newpath
+43619 46773 moveto
+46182 46773 lineto
+stroke
+newpath
+27047 46693 moveto
+32716 46693 lineto
+stroke
+newpath
+33585 46693 moveto
+35101 46693 lineto
+stroke
+newpath
+41156 46693 moveto
+41230 46693 lineto
+stroke
+newpath
+43619 46693 moveto
+46182 46693 lineto
+stroke
+newpath
+27047 46613 moveto
+32683 46613 lineto
+stroke
+newpath
+33618 46613 moveto
+35181 46613 lineto
+stroke
+newpath
+41076 46613 moveto
+41230 46613 lineto
+stroke
+newpath
+43619 46613 moveto
+46182 46613 lineto
+stroke
+newpath
+27047 46533 moveto
+32664 46533 lineto
+stroke
+newpath
+33636 46533 moveto
+35261 46533 lineto
+stroke
+newpath
+40996 46533 moveto
+41230 46533 lineto
+stroke
+newpath
+43619 46533 moveto
+46182 46533 lineto
+stroke
+newpath
+27047 46453 moveto
+32664 46453 lineto
+stroke
+newpath
+33636 46453 moveto
+35341 46453 lineto
+stroke
+newpath
+40916 46453 moveto
+41230 46453 lineto
+stroke
+newpath
+43619 46453 moveto
+46182 46453 lineto
+stroke
+newpath
+27047 46373 moveto
+32665 46373 lineto
+stroke
+newpath
+33635 46373 moveto
+35421 46373 lineto
+stroke
+newpath
+40836 46373 moveto
+41230 46373 lineto
+stroke
+newpath
+43619 46373 moveto
+46182 46373 lineto
+stroke
+newpath
+27047 46293 moveto
+32698 46293 lineto
+stroke
+newpath
+33602 46293 moveto
+35501 46293 lineto
+stroke
+newpath
+40756 46293 moveto
+41230 46293 lineto
+stroke
+newpath
+43619 46293 moveto
+46182 46293 lineto
+stroke
+newpath
+27047 46213 moveto
+32731 46213 lineto
+stroke
+newpath
+33569 46213 moveto
+35581 46213 lineto
+stroke
+newpath
+40676 46213 moveto
+41230 46213 lineto
+stroke
+newpath
+43619 46213 moveto
+46182 46213 lineto
+stroke
+newpath
+27047 46133 moveto
+32802 46133 lineto
+stroke
+newpath
+33498 46133 moveto
+35661 46133 lineto
+stroke
+newpath
+40596 46133 moveto
+41230 46133 lineto
+stroke
+newpath
+43619 46133 moveto
+46182 46133 lineto
+stroke
+newpath
+27047 46053 moveto
+32821 46053 lineto
+stroke
+newpath
+33479 46053 moveto
+35741 46053 lineto
+stroke
+newpath
+40516 46053 moveto
+41230 46053 lineto
+stroke
+newpath
+43619 46053 moveto
+46182 46053 lineto
+stroke
+newpath
+27047 45973 moveto
+32821 45973 lineto
+stroke
+newpath
+33479 45973 moveto
+35821 45973 lineto
+stroke
+newpath
+40453 45973 moveto
+41230 45973 lineto
+stroke
+newpath
+43619 45973 moveto
+46182 45973 lineto
+stroke
+newpath
+27047 45893 moveto
+32821 45893 lineto
+stroke
+newpath
+33479 45893 moveto
+35901 45893 lineto
+stroke
+newpath
+40453 45893 moveto
+41230 45893 lineto
+stroke
+newpath
+43619 45893 moveto
+46182 45893 lineto
+stroke
+newpath
+27047 45813 moveto
+32821 45813 lineto
+stroke
+newpath
+33479 45813 moveto
+35981 45813 lineto
+stroke
+newpath
+40453 45813 moveto
+41230 45813 lineto
+stroke
+newpath
+43606 45813 moveto
+46182 45813 lineto
+stroke
+newpath
+27047 45733 moveto
+32821 45733 lineto
+stroke
+newpath
+33479 45733 moveto
+36061 45733 lineto
+stroke
+newpath
+40453 45733 moveto
+41230 45733 lineto
+stroke
+newpath
+43586 45733 moveto
+46182 45733 lineto
+stroke
+newpath
+27047 45653 moveto
+32821 45653 lineto
+stroke
+newpath
+33479 45653 moveto
+36141 45653 lineto
+stroke
+newpath
+40451 45653 moveto
+41230 45653 lineto
+stroke
+newpath
+43532 45653 moveto
+46182 45653 lineto
+stroke
+newpath
+27047 45573 moveto
+32821 45573 lineto
+stroke
+newpath
+33479 45573 moveto
+36221 45573 lineto
+stroke
+newpath
+40435 45573 moveto
+41230 45573 lineto
+stroke
+newpath
+43456 45573 moveto
+46182 45573 lineto
+stroke
+newpath
+27047 45493 moveto
+32821 45493 lineto
+stroke
+newpath
+33479 45493 moveto
+36301 45493 lineto
+stroke
+newpath
+40401 45493 moveto
+41230 45493 lineto
+stroke
+newpath
+43376 45493 moveto
+46182 45493 lineto
+stroke
+newpath
+27047 45413 moveto
+32821 45413 lineto
+stroke
+newpath
+33479 45413 moveto
+36381 45413 lineto
+stroke
+newpath
+40342 45413 moveto
+41230 45413 lineto
+stroke
+newpath
+43296 45413 moveto
+46182 45413 lineto
+stroke
+newpath
+27047 45333 moveto
+32821 45333 lineto
+stroke
+newpath
+33479 45333 moveto
+36461 45333 lineto
+stroke
+newpath
+40262 45333 moveto
+41230 45333 lineto
+stroke
+newpath
+43216 45333 moveto
+46182 45333 lineto
+stroke
+newpath
+27047 45253 moveto
+32821 45253 lineto
+stroke
+newpath
+33479 45253 moveto
+36541 45253 lineto
+stroke
+newpath
+40258 45253 moveto
+41230 45253 lineto
+stroke
+newpath
+43136 45253 moveto
+46182 45253 lineto
+stroke
+newpath
+27047 45173 moveto
+32821 45173 lineto
+stroke
+newpath
+33479 45173 moveto
+36621 45173 lineto
+stroke
+newpath
+40291 45173 moveto
+41230 45173 lineto
+stroke
+newpath
+43056 45173 moveto
+46182 45173 lineto
+stroke
+newpath
+27047 45093 moveto
+32821 45093 lineto
+stroke
+newpath
+33479 45093 moveto
+36701 45093 lineto
+stroke
+newpath
+40310 45093 moveto
+41230 45093 lineto
+stroke
+newpath
+43074 45093 moveto
+46182 45093 lineto
+stroke
+newpath
+27047 45013 moveto
+32821 45013 lineto
+stroke
+newpath
+33479 45013 moveto
+36781 45013 lineto
+stroke
+newpath
+40310 45013 moveto
+41230 45013 lineto
+stroke
+newpath
+43114 45013 moveto
+46182 45013 lineto
+stroke
+newpath
+27047 44933 moveto
+32821 44933 lineto
+stroke
+newpath
+33479 44933 moveto
+36861 44933 lineto
+stroke
+newpath
+40309 44933 moveto
+41230 44933 lineto
+stroke
+newpath
+43123 44933 moveto
+46182 44933 lineto
+stroke
+newpath
+27047 44853 moveto
+32821 44853 lineto
+stroke
+newpath
+33479 44853 moveto
+36941 44853 lineto
+stroke
+newpath
+40276 44853 moveto
+41230 44853 lineto
+stroke
+newpath
+43123 44853 moveto
+46182 44853 lineto
+stroke
+newpath
+27047 44773 moveto
+32821 44773 lineto
+stroke
+newpath
+33479 44773 moveto
+37033 44773 lineto
+stroke
+newpath
+40243 44773 moveto
+41230 44773 lineto
+stroke
+newpath
+43123 44773 moveto
+46182 44773 lineto
+stroke
+newpath
+27047 44693 moveto
+32821 44693 lineto
+stroke
+newpath
+33479 44693 moveto
+33990 44693 lineto
+stroke
+newpath
+34241 44693 moveto
+34990 44693 lineto
+stroke
+newpath
+35241 44693 moveto
+35990 44693 lineto
+stroke
+newpath
+36241 44693 moveto
+36990 44693 lineto
+stroke
+newpath
+37241 44693 moveto
+37990 44693 lineto
+stroke
+newpath
+38241 44693 moveto
+39474 44693 lineto
+stroke
+newpath
+40173 44693 moveto
+41230 44693 lineto
+stroke
+newpath
+43123 44693 moveto
+46182 44693 lineto
+stroke
+newpath
+27047 44613 moveto
+32821 44613 lineto
+stroke
+newpath
+33479 44613 moveto
+33795 44613 lineto
+stroke
+newpath
+34433 44613 moveto
+34795 44613 lineto
+stroke
+newpath
+35433 44613 moveto
+35795 44613 lineto
+stroke
+newpath
+36433 44613 moveto
+36795 44613 lineto
+stroke
+newpath
+37433 44613 moveto
+37795 44613 lineto
+stroke
+newpath
+38433 44613 moveto
+38580 44613 lineto
+stroke
+newpath
+40084 44613 moveto
+41230 44613 lineto
+stroke
+newpath
+43123 44613 moveto
+46182 44613 lineto
+stroke
+newpath
+27047 44533 moveto
+32821 44533 lineto
+stroke
+newpath
+33479 44533 moveto
+33700 44533 lineto
+stroke
+newpath
+34528 44533 moveto
+34700 44533 lineto
+stroke
+newpath
+35528 44533 moveto
+35700 44533 lineto
+stroke
+newpath
+36528 44533 moveto
+36700 44533 lineto
+stroke
+newpath
+37528 44533 moveto
+37700 44533 lineto
+stroke
+newpath
+39700 44533 moveto
+41232 44533 lineto
+stroke
+newpath
+43123 44533 moveto
+46182 44533 lineto
+stroke
+newpath
+27047 44453 moveto
+32821 44453 lineto
+stroke
+newpath
+33479 44453 moveto
+33620 44453 lineto
+stroke
+newpath
+34608 44453 moveto
+34620 44453 lineto
+stroke
+newpath
+35608 44453 moveto
+35620 44453 lineto
+stroke
+newpath
+36608 44453 moveto
+36620 44453 lineto
+stroke
+newpath
+37608 44453 moveto
+37619 44453 lineto
+stroke
+newpath
+39717 44453 moveto
+41248 44453 lineto
+stroke
+newpath
+43123 44453 moveto
+46182 44453 lineto
+stroke
+newpath
+27047 44373 moveto
+32821 44373 lineto
+stroke
+newpath
+33517 44373 moveto
+33574 44373 lineto
+stroke
+newpath
+39717 44373 moveto
+41287 44373 lineto
+stroke
+newpath
+43123 44373 moveto
+46182 44373 lineto
+stroke
+newpath
+27047 44293 moveto
+32821 44293 lineto
+stroke
+newpath
+39717 44293 moveto
+41348 44293 lineto
+stroke
+newpath
+43123 44293 moveto
+46182 44293 lineto
+stroke
+newpath
+27047 44213 moveto
+32832 44213 lineto
+stroke
+newpath
+39717 44213 moveto
+41428 44213 lineto
+stroke
+newpath
+43123 44213 moveto
+46182 44213 lineto
+stroke
+newpath
+27047 44133 moveto
+32855 44133 lineto
+stroke
+newpath
+39717 44133 moveto
+41508 44133 lineto
+stroke
+newpath
+43102 44133 moveto
+46182 44133 lineto
+stroke
+newpath
+27047 44053 moveto
+32909 44053 lineto
+stroke
+newpath
+39717 44053 moveto
+41588 44053 lineto
+stroke
+newpath
+43046 44053 moveto
+46182 44053 lineto
+stroke
+newpath
+27047 43973 moveto
+32985 43973 lineto
+stroke
+newpath
+39717 43973 moveto
+41668 43973 lineto
+stroke
+newpath
+42987 43973 moveto
+46182 43973 lineto
+stroke
+newpath
+27047 43893 moveto
+33065 43893 lineto
+stroke
+newpath
+39717 43893 moveto
+41748 43893 lineto
+stroke
+newpath
+43047 43893 moveto
+46182 43893 lineto
+stroke
+newpath
+27047 43813 moveto
+33145 43813 lineto
+stroke
+newpath
+39717 43813 moveto
+41828 43813 lineto
+stroke
+newpath
+43080 43813 moveto
+46182 43813 lineto
+stroke
+newpath
+27047 43733 moveto
+33225 43733 lineto
+stroke
+newpath
+39717 43733 moveto
+41908 43733 lineto
+stroke
+newpath
+43112 43733 moveto
+46182 43733 lineto
+stroke
+newpath
+27047 43653 moveto
+33305 43653 lineto
+stroke
+newpath
+34540 43653 moveto
+34688 43653 lineto
+stroke
+newpath
+35540 43653 moveto
+35688 43653 lineto
+stroke
+newpath
+36539 43653 moveto
+36687 43653 lineto
+stroke
+newpath
+37540 43653 moveto
+37688 43653 lineto
+stroke
+newpath
+39704 43653 moveto
+41917 43653 lineto
+stroke
+newpath
+43123 43653 moveto
+46182 43653 lineto
+stroke
+newpath
+27047 43573 moveto
+33385 43573 lineto
+stroke
+newpath
+34460 43573 moveto
+34768 43573 lineto
+stroke
+newpath
+35460 43573 moveto
+35768 43573 lineto
+stroke
+newpath
+36459 43573 moveto
+36767 43573 lineto
+stroke
+newpath
+37460 43573 moveto
+37768 43573 lineto
+stroke
+newpath
+38459 43573 moveto
+38568 43573 lineto
+stroke
+newpath
+39660 43573 moveto
+41917 43573 lineto
+stroke
+newpath
+43123 43573 moveto
+46182 43573 lineto
+stroke
+newpath
+27047 43493 moveto
+33465 43493 lineto
+stroke
+newpath
+34537 43493 moveto
+34958 43493 lineto
+stroke
+newpath
+35268 43493 moveto
+35958 43493 lineto
+stroke
+newpath
+36268 43493 moveto
+36958 43493 lineto
+stroke
+newpath
+37268 43493 moveto
+37958 43493 lineto
+stroke
+newpath
+38268 43493 moveto
+38688 43493 lineto
+stroke
+newpath
+39538 43493 moveto
+41917 43493 lineto
+stroke
+newpath
+43123 43493 moveto
+46182 43493 lineto
+stroke
+newpath
+27047 43413 moveto
+33545 43413 lineto
+stroke
+newpath
+34699 43413 moveto
+41939 43413 lineto
+stroke
+newpath
+43100 43413 moveto
+46182 43413 lineto
+stroke
+newpath
+27047 43333 moveto
+33625 43333 lineto
+stroke
+newpath
+34779 43333 moveto
+41972 43333 lineto
+stroke
+newpath
+43067 43333 moveto
+46182 43333 lineto
+stroke
+newpath
+27047 43253 moveto
+33705 43253 lineto
+stroke
+newpath
+34832 43253 moveto
+42005 43253 lineto
+stroke
+newpath
+43034 43253 moveto
+46182 43253 lineto
+stroke
+newpath
+27047 43173 moveto
+33785 43173 lineto
+stroke
+newpath
+34865 43173 moveto
+42081 43173 lineto
+stroke
+newpath
+42959 43173 moveto
+46182 43173 lineto
+stroke
+newpath
+27047 43093 moveto
+33865 43093 lineto
+stroke
+newpath
+34887 43093 moveto
+42161 43093 lineto
+stroke
+newpath
+42879 43093 moveto
+46182 43093 lineto
+stroke
+newpath
+27047 43013 moveto
+33915 43013 lineto
+stroke
+newpath
+34887 43013 moveto
+42329 43013 lineto
+stroke
+newpath
+42709 43013 moveto
+46182 43013 lineto
+stroke
+newpath
+27047 42933 moveto
+33915 42933 lineto
+stroke
+newpath
+34887 42933 moveto
+46182 42933 lineto
+stroke
+newpath
+27047 42853 moveto
+33945 42853 lineto
+stroke
+newpath
+34856 42853 moveto
+46182 42853 lineto
+stroke
+newpath
+27047 42773 moveto
+33978 42773 lineto
+stroke
+newpath
+34823 42773 moveto
+46182 42773 lineto
+stroke
+newpath
+27047 42693 moveto
+34043 42693 lineto
+stroke
+newpath
+34758 42693 moveto
+46182 42693 lineto
+stroke
+newpath
+27047 42613 moveto
+34123 42613 lineto
+stroke
+newpath
+34678 42613 moveto
+46182 42613 lineto
+stroke
+newpath
+27047 42533 moveto
+46182 42533 lineto
+stroke
+newpath
+27047 42453 moveto
+46182 42453 lineto
+stroke
+newpath
+27047 42373 moveto
+46182 42373 lineto
+stroke
+newpath
+27047 42293 moveto
+46182 42293 lineto
+stroke
+newpath
+27047 42213 moveto
+46182 42213 lineto
+stroke
+newpath
+27047 42133 moveto
+46182 42133 lineto
+stroke
+newpath
+27047 42053 moveto
+46182 42053 lineto
+stroke
+newpath
+27047 41973 moveto
+46182 41973 lineto
+stroke
+newpath
+27047 41893 moveto
+46182 41893 lineto
+stroke
+newpath
+27047 41813 moveto
+46182 41813 lineto
+stroke
+newpath
+27047 41733 moveto
+46182 41733 lineto
+stroke
+newpath
+27047 41653 moveto
+46182 41653 lineto
+stroke
+newpath
+27047 41573 moveto
+46182 41573 lineto
+stroke
+newpath
+27047 41493 moveto
+46182 41493 lineto
+stroke
+newpath
+27047 41413 moveto
+46182 41413 lineto
+stroke
+newpath
+27047 41333 moveto
+46182 41333 lineto
+stroke
+newpath
+27047 41253 moveto
+27494 41253 lineto
+stroke
+newpath
+27625 41253 moveto
+45407 41253 lineto
+stroke
+newpath
+45538 41253 moveto
+46182 41253 lineto
+stroke
+newpath
+27047 41173 moveto
+27332 41173 lineto
+stroke
+newpath
+27787 41173 moveto
+45245 41173 lineto
+stroke
+newpath
+45700 41173 moveto
+46182 41173 lineto
+stroke
+newpath
+27047 41093 moveto
+27276 41093 lineto
+stroke
+newpath
+27843 41093 moveto
+45189 41093 lineto
+stroke
+newpath
+45756 41093 moveto
+46182 41093 lineto
+stroke
+newpath
+27047 41013 moveto
+27246 41013 lineto
+stroke
+newpath
+27873 41013 moveto
+45159 41013 lineto
+stroke
+newpath
+45786 41013 moveto
+46182 41013 lineto
+stroke
+newpath
+27047 40933 moveto
+27231 40933 lineto
+stroke
+newpath
+27887 40933 moveto
+45144 40933 lineto
+stroke
+newpath
+45800 40933 moveto
+46182 40933 lineto
+stroke
+newpath
+27047 40853 moveto
+27068 40853 lineto
+stroke
+newpath
+28049 40853 moveto
+44984 40853 lineto
+stroke
+newpath
+45962 40853 moveto
+46182 40853 lineto
+stroke
+newpath
+28188 40773 moveto
+44845 40773 lineto
+stroke
+newpath
+46101 40773 moveto
+46182 40773 lineto
+stroke
+newpath
+28241 40693 moveto
+44792 40693 lineto
+stroke
+newpath
+46154 40693 moveto
+46182 40693 lineto
+stroke
+newpath
+28268 40613 moveto
+44765 40613 lineto
+stroke
+newpath
+46181 40613 moveto
+46182 40613 lineto
+stroke
+newpath
+28278 40533 moveto
+44753 40533 lineto
+stroke
+newpath
+28262 40453 moveto
+44769 40453 lineto
+stroke
+newpath
+46175 40453 moveto
+46182 40453 lineto
+stroke
+newpath
+28225 40373 moveto
+44806 40373 lineto
+stroke
+newpath
+46138 40373 moveto
+46182 40373 lineto
+stroke
+newpath
+28156 40293 moveto
+44875 40293 lineto
+stroke
+newpath
+46069 40293 moveto
+46182 40293 lineto
+stroke
+newpath
+27047 40213 moveto
+27202 40213 lineto
+stroke
+newpath
+27915 40213 moveto
+45115 40213 lineto
+stroke
+newpath
+45828 40213 moveto
+46182 40213 lineto
+stroke
+newpath
+27047 40133 moveto
+27234 40133 lineto
+stroke
+newpath
+27883 40133 moveto
+45147 40133 lineto
+stroke
+newpath
+45796 40133 moveto
+46182 40133 lineto
+stroke
+newpath
+27047 40053 moveto
+27250 40053 lineto
+stroke
+newpath
+27867 40053 moveto
+45163 40053 lineto
+stroke
+newpath
+45780 40053 moveto
+46182 40053 lineto
+stroke
+newpath
+27047 39973 moveto
+27290 39973 lineto
+stroke
+newpath
+27827 39973 moveto
+45203 39973 lineto
+stroke
+newpath
+45740 39973 moveto
+46182 39973 lineto
+stroke
+newpath
+27047 39893 moveto
+27364 39893 lineto
+stroke
+newpath
+27753 39893 moveto
+45277 39893 lineto
+stroke
+newpath
+45666 39893 moveto
+46182 39893 lineto
+stroke
+newpath
+27047 39813 moveto
+46182 39813 lineto
+stroke
+newpath
+27047 39733 moveto
+46182 39733 lineto
+stroke
+newpath
+27047 39653 moveto
+46182 39653 lineto
+stroke
+newpath
+42764 47526 moveto
+42764 47526 lineto
+stroke
+newpath
+42764 47446 moveto
+42844 47446 lineto
+stroke
+newpath
+42762 47366 moveto
+42924 47366 lineto
+stroke
+newpath
+42729 47286 moveto
+42961 47286 lineto
+stroke
+newpath
+42696 47206 moveto
+42961 47206 lineto
+stroke
+newpath
+42624 47126 moveto
+42961 47126 lineto
+stroke
+newpath
+42531 47046 moveto
+42961 47046 lineto
+stroke
+newpath
+42170 46966 moveto
+42961 46966 lineto
+stroke
+newpath
+42090 46886 moveto
+42961 46886 lineto
+stroke
+newpath
+42010 46806 moveto
+42961 46806 lineto
+stroke
+newpath
+41930 46726 moveto
+42961 46726 lineto
+stroke
+newpath
+41888 46646 moveto
+42961 46646 lineto
+stroke
+newpath
+41888 46566 moveto
+42961 46566 lineto
+stroke
+newpath
+41888 46486 moveto
+42961 46486 lineto
+stroke
+newpath
+41888 46406 moveto
+42961 46406 lineto
+stroke
+newpath
+41888 46326 moveto
+42961 46326 lineto
+stroke
+newpath
+41888 46246 moveto
+42961 46246 lineto
+stroke
+newpath
+41888 46166 moveto
+42961 46166 lineto
+stroke
+newpath
+41888 46086 moveto
+42961 46086 lineto
+stroke
+newpath
+41888 46006 moveto
+42959 46006 lineto
+stroke
+newpath
+41888 45926 moveto
+42879 45926 lineto
+stroke
+newpath
+41888 45846 moveto
+42799 45846 lineto
+stroke
+newpath
+41888 45766 moveto
+42719 45766 lineto
+stroke
+newpath
+41888 45686 moveto
+42639 45686 lineto
+stroke
+newpath
+41888 45606 moveto
+42559 45606 lineto
+stroke
+newpath
+41888 45526 moveto
+42479 45526 lineto
+stroke
+newpath
+41888 45446 moveto
+42399 45446 lineto
+stroke
+newpath
+41888 45366 moveto
+42319 45366 lineto
+stroke
+newpath
+41888 45286 moveto
+42256 45286 lineto
+stroke
+newpath
+41888 45206 moveto
+42212 45206 lineto
+stroke
+newpath
+41888 45126 moveto
+41999 45126 lineto
+stroke
+newpath
+41888 45046 moveto
+41940 45046 lineto
+stroke
+newpath
+41888 44966 moveto
+41917 44966 lineto
+stroke
+newpath
+41888 44886 moveto
+41917 44886 lineto
+stroke
+newpath
+41888 44806 moveto
+41917 44806 lineto
+stroke
+newpath
+41888 44726 moveto
+41917 44726 lineto
+stroke
+newpath
+33377 50521 moveto
+33377 50521 lineto
+stroke
+newpath
+33315 50441 moveto
+33425 50441 lineto
+stroke
+newpath
+33385 50361 moveto
+33553 50361 lineto
+stroke
+newpath
+33418 50281 moveto
+33636 50281 lineto
+stroke
+newpath
+33451 50201 moveto
+33636 50201 lineto
+stroke
+newpath
+33451 50121 moveto
+33636 50121 lineto
+stroke
+newpath
+33451 50041 moveto
+33636 50041 lineto
+stroke
+newpath
+33432 49961 moveto
+33636 49961 lineto
+stroke
+newpath
+33399 49881 moveto
+33636 49881 lineto
+stroke
+newpath
+33350 49801 moveto
+33636 49801 lineto
+stroke
+newpath
+33270 49721 moveto
+33636 49721 lineto
+stroke
+newpath
+33116 49641 moveto
+33636 49641 lineto
+stroke
+newpath
+33165 49561 moveto
+33648 49561 lineto
+stroke
+newpath
+33245 49481 moveto
+33672 49481 lineto
+stroke
+newpath
+33325 49401 moveto
+33725 49401 lineto
+stroke
+newpath
+33405 49321 moveto
+33802 49321 lineto
+stroke
+newpath
+33485 49241 moveto
+33882 49241 lineto
+stroke
+newpath
+33565 49161 moveto
+33962 49161 lineto
+stroke
+newpath
+33645 49081 moveto
+34042 49081 lineto
+stroke
+newpath
+33725 49001 moveto
+34122 49001 lineto
+stroke
+newpath
+33805 48921 moveto
+34202 48921 lineto
+stroke
+newpath
+33885 48841 moveto
+34282 48841 lineto
+stroke
+newpath
+33965 48761 moveto
+34362 48761 lineto
+stroke
+newpath
+34045 48681 moveto
+34442 48681 lineto
+stroke
+newpath
+34125 48601 moveto
+34522 48601 lineto
+stroke
+newpath
+34205 48521 moveto
+34602 48521 lineto
+stroke
+newpath
+34285 48441 moveto
+34682 48441 lineto
+stroke
+newpath
+34365 48361 moveto
+34762 48361 lineto
+stroke
+newpath
+34445 48281 moveto
+34842 48281 lineto
+stroke
+newpath
+34525 48201 moveto
+34922 48201 lineto
+stroke
+newpath
+34605 48121 moveto
+35002 48121 lineto
+stroke
+newpath
+34685 48041 moveto
+35082 48041 lineto
+stroke
+newpath
+34765 47961 moveto
+35162 47961 lineto
+stroke
+newpath
+34845 47881 moveto
+35242 47881 lineto
+stroke
+newpath
+34925 47801 moveto
+35322 47801 lineto
+stroke
+newpath
+35005 47721 moveto
+35402 47721 lineto
+stroke
+newpath
+35085 47641 moveto
+35482 47641 lineto
+stroke
+newpath
+35165 47561 moveto
+35562 47561 lineto
+stroke
+newpath
+35245 47481 moveto
+35642 47481 lineto
+stroke
+newpath
+35325 47401 moveto
+35722 47401 lineto
+stroke
+newpath
+35405 47321 moveto
+35802 47321 lineto
+stroke
+newpath
+35485 47241 moveto
+35882 47241 lineto
+stroke
+newpath
+35565 47161 moveto
+35962 47161 lineto
+stroke
+newpath
+35645 47081 moveto
+36042 47081 lineto
+stroke
+newpath
+35725 47001 moveto
+36122 47001 lineto
+stroke
+newpath
+35805 46921 moveto
+36202 46921 lineto
+stroke
+newpath
+35885 46841 moveto
+36282 46841 lineto
+stroke
+newpath
+35965 46761 moveto
+36362 46761 lineto
+stroke
+newpath
+36045 46681 moveto
+36442 46681 lineto
+stroke
+newpath
+36125 46601 moveto
+36522 46601 lineto
+stroke
+newpath
+36205 46521 moveto
+36602 46521 lineto
+stroke
+newpath
+36285 46441 moveto
+36682 46441 lineto
+stroke
+newpath
+36365 46361 moveto
+36762 46361 lineto
+stroke
+newpath
+36445 46281 moveto
+36842 46281 lineto
+stroke
+newpath
+36525 46201 moveto
+36922 46201 lineto
+stroke
+newpath
+36605 46121 moveto
+37002 46121 lineto
+stroke
+newpath
+36685 46041 moveto
+37082 46041 lineto
+stroke
+newpath
+36765 45961 moveto
+37162 45961 lineto
+stroke
+newpath
+36845 45881 moveto
+37242 45881 lineto
+stroke
+newpath
+36925 45801 moveto
+37322 45801 lineto
+stroke
+newpath
+37005 45721 moveto
+37402 45721 lineto
+stroke
+newpath
+37085 45641 moveto
+37482 45641 lineto
+stroke
+newpath
+37165 45561 moveto
+37562 45561 lineto
+stroke
+newpath
+37245 45481 moveto
+37642 45481 lineto
+stroke
+newpath
+37325 45401 moveto
+37722 45401 lineto
+stroke
+newpath
+38927 51255 moveto
+38927 51255 lineto
+stroke
+newpath
+38717 51175 moveto
+38927 51175 lineto
+stroke
+newpath
+38637 51095 moveto
+38927 51095 lineto
+stroke
+newpath
+38557 51015 moveto
+38927 51015 lineto
+stroke
+newpath
+38477 50935 moveto
+38926 50935 lineto
+stroke
+newpath
+38397 50855 moveto
+38942 50855 lineto
+stroke
+newpath
+38317 50775 moveto
+38975 50775 lineto
+stroke
+newpath
+38237 50695 moveto
+39032 50695 lineto
+stroke
+newpath
+38157 50615 moveto
+39112 50615 lineto
+stroke
+newpath
+38077 50535 moveto
+39192 50535 lineto
+stroke
+newpath
+37997 50455 moveto
+39272 50455 lineto
+stroke
+newpath
+37917 50375 moveto
+39352 50375 lineto
+stroke
+newpath
+37837 50295 moveto
+39432 50295 lineto
+stroke
+newpath
+37757 50215 moveto
+39512 50215 lineto
+stroke
+newpath
+37677 50135 moveto
+39592 50135 lineto
+stroke
+newpath
+37597 50055 moveto
+39672 50055 lineto
+stroke
+newpath
+37517 49975 moveto
+39752 49975 lineto
+stroke
+newpath
+37437 49895 moveto
+39832 49895 lineto
+stroke
+newpath
+37357 49815 moveto
+39912 49815 lineto
+stroke
+newpath
+37277 49735 moveto
+39992 49735 lineto
+stroke
+newpath
+37197 49655 moveto
+40072 49655 lineto
+stroke
+newpath
+37117 49575 moveto
+40152 49575 lineto
+stroke
+newpath
+37023 49495 moveto
+40232 49495 lineto
+stroke
+newpath
+36152 49415 moveto
+40312 49415 lineto
+stroke
+newpath
+36057 49335 moveto
+40392 49335 lineto
+stroke
+newpath
+35631 49255 moveto
+40472 49255 lineto
+stroke
+newpath
+35561 49175 moveto
+40552 49175 lineto
+stroke
+newpath
+35472 49095 moveto
+40632 49095 lineto
+stroke
+newpath
+35379 49015 moveto
+40712 49015 lineto
+stroke
+newpath
+35459 48935 moveto
+40792 48935 lineto
+stroke
+newpath
+35539 48855 moveto
+40872 48855 lineto
+stroke
+newpath
+35619 48775 moveto
+40952 48775 lineto
+stroke
+newpath
+35699 48695 moveto
+41032 48695 lineto
+stroke
+newpath
+35779 48615 moveto
+41112 48615 lineto
+stroke
+newpath
+35859 48535 moveto
+41192 48535 lineto
+stroke
+newpath
+35939 48455 moveto
+41272 48455 lineto
+stroke
+newpath
+36019 48375 moveto
+41352 48375 lineto
+stroke
+newpath
+36099 48295 moveto
+41432 48295 lineto
+stroke
+newpath
+36179 48215 moveto
+41512 48215 lineto
+stroke
+newpath
+36259 48135 moveto
+41445 48135 lineto
+stroke
+newpath
+36339 48055 moveto
+41380 48055 lineto
+stroke
+newpath
+36419 47975 moveto
+41347 47975 lineto
+stroke
+newpath
+36499 47895 moveto
+41315 47895 lineto
+stroke
+newpath
+36579 47815 moveto
+41315 47815 lineto
+stroke
+newpath
+36659 47735 moveto
+41267 47735 lineto
+stroke
+newpath
+36739 47655 moveto
+41187 47655 lineto
+stroke
+newpath
+36819 47575 moveto
+41107 47575 lineto
+stroke
+newpath
+36899 47495 moveto
+41027 47495 lineto
+stroke
+newpath
+36979 47415 moveto
+40947 47415 lineto
+stroke
+newpath
+37059 47335 moveto
+40867 47335 lineto
+stroke
+newpath
+37139 47255 moveto
+40787 47255 lineto
+stroke
+newpath
+37219 47175 moveto
+40707 47175 lineto
+stroke
+newpath
+37299 47095 moveto
+40627 47095 lineto
+stroke
+newpath
+37379 47015 moveto
+40547 47015 lineto
+stroke
+newpath
+37459 46935 moveto
+40467 46935 lineto
+stroke
+newpath
+37539 46855 moveto
+40387 46855 lineto
+stroke
+newpath
+37619 46775 moveto
+40307 46775 lineto
+stroke
+newpath
+37699 46695 moveto
+40227 46695 lineto
+stroke
+newpath
+37779 46615 moveto
+40147 46615 lineto
+stroke
+newpath
+37859 46535 moveto
+40067 46535 lineto
+stroke
+newpath
+37939 46455 moveto
+39987 46455 lineto
+stroke
+newpath
+38019 46375 moveto
+39907 46375 lineto
+stroke
+newpath
+38099 46295 moveto
+39472 46295 lineto
+stroke
+newpath
+38179 46215 moveto
+39348 46215 lineto
+stroke
+newpath
+34481 52632 moveto
+36951 52632 lineto
+stroke
+newpath
+34408 52552 moveto
+36778 52552 lineto
+stroke
+newpath
+34327 52472 moveto
+36610 52472 lineto
+stroke
+newpath
+34387 52392 moveto
+36530 52392 lineto
+stroke
+newpath
+34467 52312 moveto
+36474 52312 lineto
+stroke
+newpath
+34506 52232 moveto
+36441 52232 lineto
+stroke
+newpath
+34539 52152 moveto
+36417 52152 lineto
+stroke
+newpath
+34568 52072 moveto
+36417 52072 lineto
+stroke
+newpath
+34568 51992 moveto
+36351 51992 lineto
+stroke
+newpath
+34568 51912 moveto
+36271 51912 lineto
+stroke
+newpath
+34564 51832 moveto
+36191 51832 lineto
+stroke
+newpath
+34640 51752 moveto
+36111 51752 lineto
+stroke
+newpath
+34718 51672 moveto
+36031 51672 lineto
+stroke
+newpath
+34771 51592 moveto
+35951 51592 lineto
+stroke
+newpath
+34796 51512 moveto
+35871 51512 lineto
+stroke
+newpath
+34809 51432 moveto
+35791 51432 lineto
+stroke
+newpath
+34809 51352 moveto
+35711 51352 lineto
+stroke
+newpath
+34809 51272 moveto
+35631 51272 lineto
+stroke
+newpath
+34809 51192 moveto
+35551 51192 lineto
+stroke
+newpath
+34809 51112 moveto
+35471 51112 lineto
+stroke
+newpath
+34809 51032 moveto
+35391 51032 lineto
+stroke
+newpath
+34809 50952 moveto
+35311 50952 lineto
+stroke
+newpath
+34809 50872 moveto
+35231 50872 lineto
+stroke
+newpath
+34809 50792 moveto
+35151 50792 lineto
+stroke
+newpath
+34809 50712 moveto
+35071 50712 lineto
+stroke
+newpath
+34809 50632 moveto
+34991 50632 lineto
+stroke
+newpath
+34809 50552 moveto
+34934 50552 lineto
+stroke
+newpath
+34809 50472 moveto
+34900 50472 lineto
+stroke
+newpath
+34809 50392 moveto
+34884 50392 lineto
+stroke
+newpath
+34809 50312 moveto
+34883 50312 lineto
+stroke
+newpath
+34809 50232 moveto
+34883 50232 lineto
+stroke
+newpath
+34809 50152 moveto
+34883 50152 lineto
+stroke
+newpath
+34809 50072 moveto
+34883 50072 lineto
+stroke
+newpath
+34809 49992 moveto
+34883 49992 lineto
+stroke
+newpath
+34809 49912 moveto
+34883 49912 lineto
+stroke
+newpath
+34809 49832 moveto
+34843 49832 lineto
+stroke
+newpath
+35031 54453 moveto
+35031 54453 lineto
+stroke
+newpath
+34951 54373 moveto
+36110 54373 lineto
+stroke
+newpath
+34871 54293 moveto
+36202 54293 lineto
+stroke
+newpath
+34791 54213 moveto
+36382 54213 lineto
+stroke
+newpath
+34711 54133 moveto
+37422 54133 lineto
+stroke
+newpath
+34631 54053 moveto
+37502 54053 lineto
+stroke
+newpath
+34551 53973 moveto
+37582 53973 lineto
+stroke
+newpath
+34471 53893 moveto
+37662 53893 lineto
+stroke
+newpath
+34391 53813 moveto
+37742 53813 lineto
+stroke
+newpath
+34311 53733 moveto
+37822 53733 lineto
+stroke
+newpath
+34231 53653 moveto
+37902 53653 lineto
+stroke
+newpath
+34151 53573 moveto
+37982 53573 lineto
+stroke
+newpath
+34257 53493 moveto
+38062 53493 lineto
+stroke
+newpath
+34366 53413 moveto
+38142 53413 lineto
+stroke
+newpath
+34446 53333 moveto
+38222 53333 lineto
+stroke
+newpath
+37326 53253 moveto
+38302 53253 lineto
+stroke
+newpath
+37578 53173 moveto
+38382 53173 lineto
+stroke
+newpath
+37737 53093 moveto
+38462 53093 lineto
+stroke
+newpath
+37817 53013 moveto
+38542 53013 lineto
+stroke
+newpath
+37869 52933 moveto
+38622 52933 lineto
+stroke
+newpath
+37902 52853 moveto
+38702 52853 lineto
+stroke
+newpath
+37923 52773 moveto
+38782 52773 lineto
+stroke
+newpath
+37923 52693 moveto
+38862 52693 lineto
+stroke
+newpath
+37923 52613 moveto
+38927 52613 lineto
+stroke
+newpath
+37891 52533 moveto
+38927 52533 lineto
+stroke
+newpath
+37858 52453 moveto
+38927 52453 lineto
+stroke
+newpath
+37792 52373 moveto
+38927 52373 lineto
+stroke
+newpath
+37712 52293 moveto
+38927 52293 lineto
+stroke
+newpath
+37373 52213 moveto
+38703 52213 lineto
+stroke
+newpath
+38915 52213 moveto
+38927 52213 lineto
+stroke
+newpath
+37389 52133 moveto
+38523 52133 lineto
+stroke
+newpath
+37389 52053 moveto
+38443 52053 lineto
+stroke
+newpath
+37385 51973 moveto
+38382 51973 lineto
+stroke
+newpath
+37352 51893 moveto
+38349 51893 lineto
+stroke
+newpath
+37319 51813 moveto
+38322 51813 lineto
+stroke
+newpath
+37245 51733 moveto
+38322 51733 lineto
+stroke
+newpath
+37146 51653 moveto
+38264 51653 lineto
+stroke
+newpath
+36863 51573 moveto
+38184 51573 lineto
+stroke
+newpath
+36783 51493 moveto
+38104 51493 lineto
+stroke
+newpath
+36703 51413 moveto
+38024 51413 lineto
+stroke
+newpath
+36623 51333 moveto
+37944 51333 lineto
+stroke
+newpath
+36543 51253 moveto
+37864 51253 lineto
+stroke
+newpath
+36463 51173 moveto
+37784 51173 lineto
+stroke
+newpath
+36383 51093 moveto
+37704 51093 lineto
+stroke
+newpath
+36303 51013 moveto
+37624 51013 lineto
+stroke
+newpath
+36223 50933 moveto
+37544 50933 lineto
+stroke
+newpath
+36143 50853 moveto
+37464 50853 lineto
+stroke
+newpath
+36063 50773 moveto
+37384 50773 lineto
+stroke
+newpath
+35983 50693 moveto
+37304 50693 lineto
+stroke
+newpath
+35903 50613 moveto
+37224 50613 lineto
+stroke
+newpath
+35823 50533 moveto
+37144 50533 lineto
+stroke
+newpath
+35743 50453 moveto
+37064 50453 lineto
+stroke
+newpath
+35663 50373 moveto
+36984 50373 lineto
+stroke
+newpath
+35583 50293 moveto
+36904 50293 lineto
+stroke
+newpath
+35541 50213 moveto
+35639 50213 lineto
+stroke
+newpath
+35977 50213 moveto
+36824 50213 lineto
+stroke
+newpath
+36119 50133 moveto
+36744 50133 lineto
+stroke
+newpath
+33464 51609 moveto
+33464 51609 lineto
+stroke
+newpath
+33384 51529 moveto
+33478 51529 lineto
+stroke
+newpath
+33330 51449 moveto
+33398 51449 lineto
+stroke
+newpath
+33465 52608 moveto
+33465 52608 lineto
+stroke
+newpath
+33385 52528 moveto
+33545 52528 lineto
+stroke
+newpath
+33331 52448 moveto
+33597 52448 lineto
+stroke
+newpath
+33411 52368 moveto
+33517 52368 lineto
+stroke
+newpath
+38780 55389 moveto
+38780 55389 lineto
+stroke
+newpath
+38700 55309 moveto
+38859 55309 lineto
+stroke
+newpath
+38621 55229 moveto
+38940 55229 lineto
+stroke
+newpath
+38533 55149 moveto
+39132 55149 lineto
+stroke
+newpath
+38453 55069 moveto
+39378 55069 lineto
+stroke
+newpath
+38373 54989 moveto
+39378 54989 lineto
+stroke
+newpath
+38293 54909 moveto
+39378 54909 lineto
+stroke
+newpath
+38213 54829 moveto
+39378 54829 lineto
+stroke
+newpath
+38133 54749 moveto
+39378 54749 lineto
+stroke
+newpath
+38053 54669 moveto
+39378 54669 lineto
+stroke
+newpath
+37973 54589 moveto
+39378 54589 lineto
+stroke
+newpath
+37978 54509 moveto
+39378 54509 lineto
+stroke
+newpath
+38058 54429 moveto
+39378 54429 lineto
+stroke
+newpath
+38138 54349 moveto
+39378 54349 lineto
+stroke
+newpath
+38218 54269 moveto
+39378 54269 lineto
+stroke
+newpath
+38298 54189 moveto
+39378 54189 lineto
+stroke
+newpath
+38378 54109 moveto
+39378 54109 lineto
+stroke
+newpath
+38458 54029 moveto
+39378 54029 lineto
+stroke
+newpath
+38538 53949 moveto
+39378 53949 lineto
+stroke
+newpath
+38618 53869 moveto
+39378 53869 lineto
+stroke
+newpath
+38698 53789 moveto
+39378 53789 lineto
+stroke
+newpath
+38778 53709 moveto
+39378 53709 lineto
+stroke
+newpath
+38858 53629 moveto
+39378 53629 lineto
+stroke
+newpath
+38938 53549 moveto
+39378 53549 lineto
+stroke
+newpath
+39018 53469 moveto
+39378 53469 lineto
+stroke
+newpath
+39098 53389 moveto
+39378 53389 lineto
+stroke
+newpath
+39178 53309 moveto
+39378 53309 lineto
+stroke
+newpath
+39258 53229 moveto
+39378 53229 lineto
+stroke
+newpath
+39338 53149 moveto
+39378 53149 lineto
+stroke
+newpath
+28360 56385 moveto
+28688 56385 lineto
+stroke
+newpath
+28360 56305 moveto
+28587 56305 lineto
+stroke
+newpath
+31649 56305 moveto
+33662 56305 lineto
+stroke
+newpath
+28360 56225 moveto
+28544 56225 lineto
+stroke
+newpath
+31693 56225 moveto
+33742 56225 lineto
+stroke
+newpath
+28360 56145 moveto
+28531 56145 lineto
+stroke
+newpath
+31705 56145 moveto
+33822 56145 lineto
+stroke
+newpath
+28360 56065 moveto
+28531 56065 lineto
+stroke
+newpath
+31705 56065 moveto
+33902 56065 lineto
+stroke
+newpath
+28360 55985 moveto
+28531 55985 lineto
+stroke
+newpath
+31705 55985 moveto
+33936 55985 lineto
+stroke
+newpath
+28360 55905 moveto
+28531 55905 lineto
+stroke
+newpath
+31705 55905 moveto
+33936 55905 lineto
+stroke
+newpath
+28360 55825 moveto
+28531 55825 lineto
+stroke
+newpath
+31705 55825 moveto
+33961 55825 lineto
+stroke
+newpath
+28360 55745 moveto
+28531 55745 lineto
+stroke
+newpath
+31705 55745 moveto
+33993 55745 lineto
+stroke
+newpath
+28360 55665 moveto
+28531 55665 lineto
+stroke
+newpath
+31705 55665 moveto
+34026 55665 lineto
+stroke
+newpath
+28360 55585 moveto
+28531 55585 lineto
+stroke
+newpath
+31705 55585 moveto
+34106 55585 lineto
+stroke
+newpath
+34972 55585 moveto
+35080 55585 lineto
+stroke
+newpath
+28360 55505 moveto
+28531 55505 lineto
+stroke
+newpath
+31705 55505 moveto
+34186 55505 lineto
+stroke
+newpath
+34892 55505 moveto
+34979 55505 lineto
+stroke
+newpath
+28360 55425 moveto
+28531 55425 lineto
+stroke
+newpath
+31705 55425 moveto
+34362 55425 lineto
+stroke
+newpath
+34714 55425 moveto
+34943 55425 lineto
+stroke
+newpath
+28360 55345 moveto
+28549 55345 lineto
+stroke
+newpath
+29718 55345 moveto
+30517 55345 lineto
+stroke
+newpath
+31687 55345 moveto
+34799 55345 lineto
+stroke
+newpath
+28360 55265 moveto
+28601 55265 lineto
+stroke
+newpath
+29667 55265 moveto
+30569 55265 lineto
+stroke
+newpath
+31635 55265 moveto
+34693 55265 lineto
+stroke
+newpath
+28360 55185 moveto
+34613 55185 lineto
+stroke
+newpath
+28360 55105 moveto
+34533 55105 lineto
+stroke
+newpath
+28418 55025 moveto
+34453 55025 lineto
+stroke
+newpath
+28498 54945 moveto
+34373 54945 lineto
+stroke
+newpath
+28578 54865 moveto
+34293 54865 lineto
+stroke
+newpath
+28658 54785 moveto
+34213 54785 lineto
+stroke
+newpath
+28738 54705 moveto
+34133 54705 lineto
+stroke
+newpath
+28818 54625 moveto
+34053 54625 lineto
+stroke
+newpath
+28898 54545 moveto
+33973 54545 lineto
+stroke
+newpath
+28978 54465 moveto
+33893 54465 lineto
+stroke
+newpath
+29058 54385 moveto
+33813 54385 lineto
+stroke
+newpath
+29138 54305 moveto
+33733 54305 lineto
+stroke
+newpath
+29218 54225 moveto
+33653 54225 lineto
+stroke
+newpath
+29298 54145 moveto
+33573 54145 lineto
+stroke
+newpath
+29552 54065 moveto
+33493 54065 lineto
+stroke
+newpath
+29654 53985 moveto
+33413 53985 lineto
+stroke
+newpath
+29734 53905 moveto
+33333 53905 lineto
+stroke
+newpath
+29814 53825 moveto
+33253 53825 lineto
+stroke
+newpath
+29894 53745 moveto
+33173 53745 lineto
+stroke
+newpath
+29974 53665 moveto
+33093 53665 lineto
+stroke
+newpath
+30054 53585 moveto
+33013 53585 lineto
+stroke
+newpath
+30134 53505 moveto
+32703 53505 lineto
+stroke
+newpath
+30214 53425 moveto
+32576 53425 lineto
+stroke
+newpath
+36055 55676 moveto
+36444 55676 lineto
+stroke
+newpath
+35982 55596 moveto
+36524 55596 lineto
+stroke
+newpath
+36088 55516 moveto
+36604 55516 lineto
+stroke
+newpath
+36131 55436 moveto
+36684 55436 lineto
+stroke
+newpath
+36248 55356 moveto
+36732 55356 lineto
+stroke
+newpath
+36359 55276 moveto
+36732 55276 lineto
+stroke
+newpath
+36439 55196 moveto
+36763 55196 lineto
+stroke
+newpath
+36519 55116 moveto
+36796 55116 lineto
+stroke
+newpath
+36599 55036 moveto
+36862 55036 lineto
+stroke
+newpath
+33377 51402 moveto
+33400 51456 lineto
+33470 51526 lineto
+33524 51549 lineto
+33464 51609 lineto
+33317 51462 lineto
+33377 51402 lineto
+poly0
+newpath
+27047 58773 moveto
+46182 58773 lineto
+stroke
+newpath
+27047 58693 moveto
+46182 58693 lineto
+stroke
+newpath
+27047 58613 moveto
+46182 58613 lineto
+stroke
+newpath
+27047 58533 moveto
+45302 58533 lineto
+stroke
+newpath
+45643 58533 moveto
+46182 58533 lineto
+stroke
+newpath
+27047 58453 moveto
+45214 58453 lineto
+stroke
+newpath
+45731 58453 moveto
+46182 58453 lineto
+stroke
+newpath
+27047 58373 moveto
+45167 58373 lineto
+stroke
+newpath
+45778 58373 moveto
+46182 58373 lineto
+stroke
+newpath
+27047 58293 moveto
+45151 58293 lineto
+stroke
+newpath
+45794 58293 moveto
+46182 58293 lineto
+stroke
+newpath
+27047 58213 moveto
+45131 58213 lineto
+stroke
+newpath
+45813 58213 moveto
+46182 58213 lineto
+stroke
+newpath
+27047 58133 moveto
+44900 58133 lineto
+stroke
+newpath
+46046 58133 moveto
+46182 58133 lineto
+stroke
+newpath
+27047 58053 moveto
+44817 58053 lineto
+stroke
+newpath
+46129 58053 moveto
+46182 58053 lineto
+stroke
+newpath
+27047 57973 moveto
+44773 57973 lineto
+stroke
+newpath
+46173 57973 moveto
+46182 57973 lineto
+stroke
+newpath
+27047 57893 moveto
+44757 57893 lineto
+stroke
+newpath
+27047 57813 moveto
+44761 57813 lineto
+stroke
+newpath
+27047 57733 moveto
+44780 57733 lineto
+stroke
+newpath
+46164 57733 moveto
+46182 57733 lineto
+stroke
+newpath
+27047 57653 moveto
+44834 57653 lineto
+stroke
+newpath
+46110 57653 moveto
+46182 57653 lineto
+stroke
+newpath
+27047 57573 moveto
+44938 57573 lineto
+stroke
+newpath
+46006 57573 moveto
+46182 57573 lineto
+stroke
+newpath
+27047 57493 moveto
+45144 57493 lineto
+stroke
+newpath
+45800 57493 moveto
+46182 57493 lineto
+stroke
+newpath
+27047 57413 moveto
+45155 57413 lineto
+stroke
+newpath
+45788 57413 moveto
+46182 57413 lineto
+stroke
+newpath
+27047 57333 moveto
+28864 57333 lineto
+stroke
+newpath
+29404 57333 moveto
+30832 57333 lineto
+stroke
+newpath
+31372 57333 moveto
+45177 57333 lineto
+stroke
+newpath
+45766 57333 moveto
+46182 57333 lineto
+stroke
+newpath
+27047 57253 moveto
+28742 57253 lineto
+stroke
+newpath
+29526 57253 moveto
+30710 57253 lineto
+stroke
+newpath
+31494 57253 moveto
+45231 57253 lineto
+stroke
+newpath
+45712 57253 moveto
+46182 57253 lineto
+stroke
+newpath
+27047 57173 moveto
+27928 57173 lineto
+stroke
+newpath
+29606 57173 moveto
+30630 57173 lineto
+stroke
+newpath
+33888 57173 moveto
+45340 57173 lineto
+stroke
+newpath
+45603 57173 moveto
+46182 57173 lineto
+stroke
+newpath
+27047 57093 moveto
+27791 57093 lineto
+stroke
+newpath
+29663 57093 moveto
+30574 57093 lineto
+stroke
+newpath
+34021 57093 moveto
+46182 57093 lineto
+stroke
+newpath
+27047 57013 moveto
+27704 57013 lineto
+stroke
+newpath
+29696 57013 moveto
+30541 57013 lineto
+stroke
+newpath
+34107 57013 moveto
+46182 57013 lineto
+stroke
+newpath
+27047 56933 moveto
+27638 56933 lineto
+stroke
+newpath
+29728 56933 moveto
+30508 56933 lineto
+stroke
+newpath
+34187 56933 moveto
+46182 56933 lineto
+stroke
+newpath
+27047 56853 moveto
+27585 56853 lineto
+stroke
+newpath
+29737 56853 moveto
+30499 56853 lineto
+stroke
+newpath
+34267 56853 moveto
+46182 56853 lineto
+stroke
+newpath
+27047 56773 moveto
+27564 56773 lineto
+stroke
+newpath
+29737 56773 moveto
+30499 56773 lineto
+stroke
+newpath
+34347 56773 moveto
+46182 56773 lineto
+stroke
+newpath
+27047 56693 moveto
+27548 56693 lineto
+stroke
+newpath
+29737 56693 moveto
+30499 56693 lineto
+stroke
+newpath
+34427 56693 moveto
+46182 56693 lineto
+stroke
+newpath
+27047 56613 moveto
+27546 56613 lineto
+stroke
+newpath
+29712 56613 moveto
+30523 56613 lineto
+stroke
+newpath
+34507 56613 moveto
+46182 56613 lineto
+stroke
+newpath
+27047 56533 moveto
+27546 56533 lineto
+stroke
+newpath
+29679 56533 moveto
+30556 56533 lineto
+stroke
+newpath
+34841 56533 moveto
+35238 56533 lineto
+stroke
+newpath
+35841 56533 moveto
+46182 56533 lineto
+stroke
+newpath
+27047 56453 moveto
+27546 56453 lineto
+stroke
+newpath
+29646 56453 moveto
+30589 56453 lineto
+stroke
+newpath
+34945 56453 moveto
+35134 56453 lineto
+stroke
+newpath
+35944 56453 moveto
+46182 56453 lineto
+stroke
+newpath
+27047 56373 moveto
+27546 56373 lineto
+stroke
+newpath
+29591 56373 moveto
+30645 56373 lineto
+stroke
+newpath
+35025 56373 moveto
+35054 56373 lineto
+stroke
+newpath
+36024 56373 moveto
+46182 56373 lineto
+stroke
+newpath
+27047 56293 moveto
+27546 56293 lineto
+stroke
+newpath
+29693 56293 moveto
+30543 56293 lineto
+stroke
+newpath
+36732 56293 moveto
+38037 56293 lineto
+stroke
+newpath
+38524 56293 moveto
+39037 56293 lineto
+stroke
+newpath
+39524 56293 moveto
+46182 56293 lineto
+stroke
+newpath
+27047 56213 moveto
+27546 56213 lineto
+stroke
+newpath
+29729 56213 moveto
+30506 56213 lineto
+stroke
+newpath
+36839 56213 moveto
+37899 56213 lineto
+stroke
+newpath
+38661 56213 moveto
+38899 56213 lineto
+stroke
+newpath
+39661 56213 moveto
+46182 56213 lineto
+stroke
+newpath
+27047 56133 moveto
+27546 56133 lineto
+stroke
+newpath
+36919 56133 moveto
+37819 56133 lineto
+stroke
+newpath
+38741 56133 moveto
+38819 56133 lineto
+stroke
+newpath
+39741 56133 moveto
+46182 56133 lineto
+stroke
+newpath
+27047 56053 moveto
+27546 56053 lineto
+stroke
+newpath
+36999 56053 moveto
+37757 56053 lineto
+stroke
+newpath
+39804 56053 moveto
+46182 56053 lineto
+stroke
+newpath
+27047 55973 moveto
+27546 55973 lineto
+stroke
+newpath
+37079 55973 moveto
+37724 55973 lineto
+stroke
+newpath
+39837 55973 moveto
+46182 55973 lineto
+stroke
+newpath
+27047 55893 moveto
+27546 55893 lineto
+stroke
+newpath
+37159 55893 moveto
+37690 55893 lineto
+stroke
+newpath
+39870 55893 moveto
+46182 55893 lineto
+stroke
+newpath
+27047 55813 moveto
+27546 55813 lineto
+stroke
+newpath
+37415 55813 moveto
+37677 55813 lineto
+stroke
+newpath
+39883 55813 moveto
+46182 55813 lineto
+stroke
+newpath
+27047 55733 moveto
+27546 55733 lineto
+stroke
+newpath
+37541 55733 moveto
+37677 55733 lineto
+stroke
+newpath
+39883 55733 moveto
+46182 55733 lineto
+stroke
+newpath
+27047 55653 moveto
+27546 55653 lineto
+stroke
+newpath
+37621 55653 moveto
+37677 55653 lineto
+stroke
+newpath
+39883 55653 moveto
+46182 55653 lineto
+stroke
+newpath
+27047 55573 moveto
+27546 55573 lineto
+stroke
+newpath
+37659 55573 moveto
+37696 55573 lineto
+stroke
+newpath
+39914 55573 moveto
+46182 55573 lineto
+stroke
+newpath
+27047 55493 moveto
+27546 55493 lineto
+stroke
+newpath
+37692 55493 moveto
+37725 55493 lineto
+stroke
+newpath
+39976 55493 moveto
+46182 55493 lineto
+stroke
+newpath
+27047 55413 moveto
+27546 55413 lineto
+stroke
+newpath
+40017 55413 moveto
+46182 55413 lineto
+stroke
+newpath
+27047 55333 moveto
+27546 55333 lineto
+stroke
+newpath
+40032 55333 moveto
+46182 55333 lineto
+stroke
+newpath
+27047 55253 moveto
+27546 55253 lineto
+stroke
+newpath
+40036 55253 moveto
+46182 55253 lineto
+stroke
+newpath
+27047 55173 moveto
+27546 55173 lineto
+stroke
+newpath
+40036 55173 moveto
+46182 55173 lineto
+stroke
+newpath
+27047 55093 moveto
+27546 55093 lineto
+stroke
+newpath
+40036 55093 moveto
+46182 55093 lineto
+stroke
+newpath
+27047 55013 moveto
+27546 55013 lineto
+stroke
+newpath
+40036 55013 moveto
+46182 55013 lineto
+stroke
+newpath
+27047 54933 moveto
+27546 54933 lineto
+stroke
+newpath
+40036 54933 moveto
+46182 54933 lineto
+stroke
+newpath
+27047 54853 moveto
+27558 54853 lineto
+stroke
+newpath
+40036 54853 moveto
+46182 54853 lineto
+stroke
+newpath
+27047 54773 moveto
+27574 54773 lineto
+stroke
+newpath
+40036 54773 moveto
+46182 54773 lineto
+stroke
+newpath
+27047 54693 moveto
+27620 54693 lineto
+stroke
+newpath
+40036 54693 moveto
+46182 54693 lineto
+stroke
+newpath
+27047 54613 moveto
+27678 54613 lineto
+stroke
+newpath
+40036 54613 moveto
+46182 54613 lineto
+stroke
+newpath
+27047 54533 moveto
+27758 54533 lineto
+stroke
+newpath
+40036 54533 moveto
+46182 54533 lineto
+stroke
+newpath
+27047 54453 moveto
+27838 54453 lineto
+stroke
+newpath
+40036 54453 moveto
+46182 54453 lineto
+stroke
+newpath
+27047 54373 moveto
+27918 54373 lineto
+stroke
+newpath
+40036 54373 moveto
+46182 54373 lineto
+stroke
+newpath
+27047 54293 moveto
+27998 54293 lineto
+stroke
+newpath
+40036 54293 moveto
+46182 54293 lineto
+stroke
+newpath
+27047 54213 moveto
+28078 54213 lineto
+stroke
+newpath
+40036 54213 moveto
+46182 54213 lineto
+stroke
+newpath
+27047 54133 moveto
+28158 54133 lineto
+stroke
+newpath
+40036 54133 moveto
+46182 54133 lineto
+stroke
+newpath
+27047 54053 moveto
+28238 54053 lineto
+stroke
+newpath
+40036 54053 moveto
+46182 54053 lineto
+stroke
+newpath
+27047 53973 moveto
+28318 53973 lineto
+stroke
+newpath
+40036 53973 moveto
+46182 53973 lineto
+stroke
+newpath
+27047 53893 moveto
+28398 53893 lineto
+stroke
+newpath
+40036 53893 moveto
+46182 53893 lineto
+stroke
+newpath
+27047 53813 moveto
+28478 53813 lineto
+stroke
+newpath
+40036 53813 moveto
+46182 53813 lineto
+stroke
+newpath
+27047 53733 moveto
+28558 53733 lineto
+stroke
+newpath
+40036 53733 moveto
+46182 53733 lineto
+stroke
+newpath
+27047 53653 moveto
+28638 53653 lineto
+stroke
+newpath
+40036 53653 moveto
+46182 53653 lineto
+stroke
+newpath
+27047 53573 moveto
+28718 53573 lineto
+stroke
+newpath
+40036 53573 moveto
+46182 53573 lineto
+stroke
+newpath
+27047 53493 moveto
+28798 53493 lineto
+stroke
+newpath
+40036 53493 moveto
+46182 53493 lineto
+stroke
+newpath
+27047 53413 moveto
+28894 53413 lineto
+stroke
+newpath
+40036 53413 moveto
+46182 53413 lineto
+stroke
+newpath
+27047 53333 moveto
+29098 53333 lineto
+stroke
+newpath
+40036 53333 moveto
+46182 53333 lineto
+stroke
+newpath
+27047 53253 moveto
+29234 53253 lineto
+stroke
+newpath
+40036 53253 moveto
+46182 53253 lineto
+stroke
+newpath
+27047 53173 moveto
+29314 53173 lineto
+stroke
+newpath
+40036 53173 moveto
+46182 53173 lineto
+stroke
+newpath
+27047 53093 moveto
+29394 53093 lineto
+stroke
+newpath
+40036 53093 moveto
+46182 53093 lineto
+stroke
+newpath
+27047 53013 moveto
+29474 53013 lineto
+stroke
+newpath
+40036 53013 moveto
+46182 53013 lineto
+stroke
+newpath
+27047 52933 moveto
+29554 52933 lineto
+stroke
+newpath
+40036 52933 moveto
+46182 52933 lineto
+stroke
+newpath
+27047 52853 moveto
+29634 52853 lineto
+stroke
+newpath
+40036 52853 moveto
+46182 52853 lineto
+stroke
+newpath
+27047 52773 moveto
+29714 52773 lineto
+stroke
+newpath
+40036 52773 moveto
+46182 52773 lineto
+stroke
+newpath
+27047 52693 moveto
+29794 52693 lineto
+stroke
+newpath
+40036 52693 moveto
+46182 52693 lineto
+stroke
+newpath
+27047 52613 moveto
+29904 52613 lineto
+stroke
+newpath
+40036 52613 moveto
+46182 52613 lineto
+stroke
+newpath
+27047 52533 moveto
+32540 52533 lineto
+stroke
+newpath
+40036 52533 moveto
+46182 52533 lineto
+stroke
+newpath
+27047 52453 moveto
+32604 52453 lineto
+stroke
+newpath
+40036 52453 moveto
+46182 52453 lineto
+stroke
+newpath
+27047 52373 moveto
+32524 52373 lineto
+stroke
+newpath
+40036 52373 moveto
+46182 52373 lineto
+stroke
+newpath
+27047 52293 moveto
+32450 52293 lineto
+stroke
+newpath
+40036 52293 moveto
+46182 52293 lineto
+stroke
+newpath
+27047 52213 moveto
+32417 52213 lineto
+stroke
+newpath
+40036 52213 moveto
+46182 52213 lineto
+stroke
+newpath
+27047 52133 moveto
+32384 52133 lineto
+stroke
+newpath
+40036 52133 moveto
+46182 52133 lineto
+stroke
+newpath
+27047 52053 moveto
+32362 52053 lineto
+stroke
+newpath
+40036 52053 moveto
+46182 52053 lineto
+stroke
+newpath
+27047 51973 moveto
+32362 51973 lineto
+stroke
+newpath
+40081 51973 moveto
+46182 51973 lineto
+stroke
+newpath
+27047 51893 moveto
+32362 51893 lineto
+stroke
+newpath
+40137 51893 moveto
+46182 51893 lineto
+stroke
+newpath
+27047 51813 moveto
+32351 51813 lineto
+stroke
+newpath
+40170 51813 moveto
+46182 51813 lineto
+stroke
+newpath
+27047 51733 moveto
+32271 51733 lineto
+stroke
+newpath
+40194 51733 moveto
+46182 51733 lineto
+stroke
+newpath
+27047 51653 moveto
+32191 51653 lineto
+stroke
+newpath
+40194 51653 moveto
+46182 51653 lineto
+stroke
+newpath
+27047 51573 moveto
+32136 51573 lineto
+stroke
+newpath
+40194 51573 moveto
+46182 51573 lineto
+stroke
+newpath
+27047 51493 moveto
+32105 51493 lineto
+stroke
+newpath
+40165 51493 moveto
+46182 51493 lineto
+stroke
+newpath
+27047 51413 moveto
+32088 51413 lineto
+stroke
+newpath
+40132 51413 moveto
+46182 51413 lineto
+stroke
+newpath
+27047 51333 moveto
+32089 51333 lineto
+stroke
+newpath
+40070 51333 moveto
+46182 51333 lineto
+stroke
+newpath
+27047 51253 moveto
+32089 51253 lineto
+stroke
+newpath
+39990 51253 moveto
+46182 51253 lineto
+stroke
+newpath
+27047 51173 moveto
+32089 51173 lineto
+stroke
+newpath
+39585 51173 moveto
+39608 51173 lineto
+stroke
+newpath
+39806 51173 moveto
+46182 51173 lineto
+stroke
+newpath
+27047 51093 moveto
+32089 51093 lineto
+stroke
+newpath
+39585 51093 moveto
+46182 51093 lineto
+stroke
+newpath
+27047 51013 moveto
+32089 51013 lineto
+stroke
+newpath
+39646 51013 moveto
+46182 51013 lineto
+stroke
+newpath
+27047 50933 moveto
+32089 50933 lineto
+stroke
+newpath
+39726 50933 moveto
+46182 50933 lineto
+stroke
+newpath
+27047 50853 moveto
+32089 50853 lineto
+stroke
+newpath
+39806 50853 moveto
+46182 50853 lineto
+stroke
+newpath
+27047 50773 moveto
+32089 50773 lineto
+stroke
+newpath
+39886 50773 moveto
+46182 50773 lineto
+stroke
+newpath
+27047 50693 moveto
+32089 50693 lineto
+stroke
+newpath
+39966 50693 moveto
+46182 50693 lineto
+stroke
+newpath
+27047 50613 moveto
+32089 50613 lineto
+stroke
+newpath
+40046 50613 moveto
+46182 50613 lineto
+stroke
+newpath
+27047 50533 moveto
+32089 50533 lineto
+stroke
+newpath
+40126 50533 moveto
+46182 50533 lineto
+stroke
+newpath
+27047 50453 moveto
+32089 50453 lineto
+stroke
+newpath
+40206 50453 moveto
+46182 50453 lineto
+stroke
+newpath
+27047 50373 moveto
+32089 50373 lineto
+stroke
+newpath
+40286 50373 moveto
+46182 50373 lineto
+stroke
+newpath
+27047 50293 moveto
+32089 50293 lineto
+stroke
+newpath
+40366 50293 moveto
+46182 50293 lineto
+stroke
+newpath
+27047 50213 moveto
+32089 50213 lineto
+stroke
+newpath
+40446 50213 moveto
+46182 50213 lineto
+stroke
+newpath
+27047 50133 moveto
+32089 50133 lineto
+stroke
+newpath
+40526 50133 moveto
+46182 50133 lineto
+stroke
+newpath
+27047 50053 moveto
+32089 50053 lineto
+stroke
+newpath
+40606 50053 moveto
+46182 50053 lineto
+stroke
+newpath
+27047 49973 moveto
+32089 49973 lineto
+stroke
+newpath
+40686 49973 moveto
+46182 49973 lineto
+stroke
+newpath
+27047 49893 moveto
+32089 49893 lineto
+stroke
+newpath
+40766 49893 moveto
+46182 49893 lineto
+stroke
+newpath
+27047 49813 moveto
+32093 49813 lineto
+stroke
+newpath
+40846 49813 moveto
+46182 49813 lineto
+stroke
+newpath
+27047 49733 moveto
+32110 49733 lineto
+stroke
+newpath
+40926 49733 moveto
+46182 49733 lineto
+stroke
+newpath
+27047 49653 moveto
+32155 49653 lineto
+stroke
+newpath
+41006 49653 moveto
+46182 49653 lineto
+stroke
+newpath
+27047 49573 moveto
+32221 49573 lineto
+stroke
+newpath
+41086 49573 moveto
+46182 49573 lineto
+stroke
+newpath
+27047 49493 moveto
+32301 49493 lineto
+stroke
+newpath
+41166 49493 moveto
+46182 49493 lineto
+stroke
+newpath
+27047 49413 moveto
+32381 49413 lineto
+stroke
+newpath
+41246 49413 moveto
+46182 49413 lineto
+stroke
+newpath
+27047 49333 moveto
+32461 49333 lineto
+stroke
+newpath
+41326 49333 moveto
+46182 49333 lineto
+stroke
+newpath
+27047 49253 moveto
+32541 49253 lineto
+stroke
+newpath
+41406 49253 moveto
+46182 49253 lineto
+stroke
+newpath
+27047 49173 moveto
+32621 49173 lineto
+stroke
+newpath
+41486 49173 moveto
+46182 49173 lineto
+stroke
+newpath
+27047 49093 moveto
+32701 49093 lineto
+stroke
+newpath
+41566 49093 moveto
+46182 49093 lineto
+stroke
+newpath
+27047 49013 moveto
+32781 49013 lineto
+stroke
+newpath
+41646 49013 moveto
+46182 49013 lineto
+stroke
+newpath
+27047 48933 moveto
+32861 48933 lineto
+stroke
+newpath
+41726 48933 moveto
+46182 48933 lineto
+stroke
+newpath
+27047 48853 moveto
+32941 48853 lineto
+stroke
+newpath
+41806 48853 moveto
+46182 48853 lineto
+stroke
+newpath
+27047 48773 moveto
+33021 48773 lineto
+stroke
+newpath
+41886 48773 moveto
+42111 48773 lineto
+stroke
+newpath
+42670 48773 moveto
+46182 48773 lineto
+stroke
+newpath
+27047 48693 moveto
+33101 48693 lineto
+stroke
+newpath
+41966 48693 moveto
+42030 48693 lineto
+stroke
+newpath
+42750 48693 moveto
+46182 48693 lineto
+stroke
+newpath
+27047 48613 moveto
+33181 48613 lineto
+stroke
+newpath
+42814 48613 moveto
+46182 48613 lineto
+stroke
+newpath
+27047 48533 moveto
+33261 48533 lineto
+stroke
+newpath
+42847 48533 moveto
+46182 48533 lineto
+stroke
+newpath
+27047 48453 moveto
+33341 48453 lineto
+stroke
+newpath
+42876 48453 moveto
+46182 48453 lineto
+stroke
+newpath
+27047 48373 moveto
+33421 48373 lineto
+stroke
+newpath
+42876 48373 moveto
+46182 48373 lineto
+stroke
+newpath
+27047 48293 moveto
+33501 48293 lineto
+stroke
+newpath
+42928 48293 moveto
+46182 48293 lineto
+stroke
+newpath
+27047 48213 moveto
+33581 48213 lineto
+stroke
+newpath
+43008 48213 moveto
+46182 48213 lineto
+stroke
+newpath
+27047 48133 moveto
+33661 48133 lineto
+stroke
+newpath
+43088 48133 moveto
+46182 48133 lineto
+stroke
+newpath
+27047 48053 moveto
+33741 48053 lineto
+stroke
+newpath
+43168 48053 moveto
+46182 48053 lineto
+stroke
+newpath
+27047 47973 moveto
+33821 47973 lineto
+stroke
+newpath
+43248 47973 moveto
+46182 47973 lineto
+stroke
+newpath
+27047 47893 moveto
+33901 47893 lineto
+stroke
+newpath
+43328 47893 moveto
+46182 47893 lineto
+stroke
+newpath
+27047 47813 moveto
+33981 47813 lineto
+stroke
+newpath
+43408 47813 moveto
+46182 47813 lineto
+stroke
+newpath
+27047 47733 moveto
+34061 47733 lineto
+stroke
+newpath
+43488 47733 moveto
+46182 47733 lineto
+stroke
+newpath
+27047 47653 moveto
+34141 47653 lineto
+stroke
+newpath
+43553 47653 moveto
+46182 47653 lineto
+stroke
+newpath
+27047 47573 moveto
+34221 47573 lineto
+stroke
+newpath
+43598 47573 moveto
+46182 47573 lineto
+stroke
+newpath
+27047 47493 moveto
+34301 47493 lineto
+stroke
+newpath
+43613 47493 moveto
+46182 47493 lineto
+stroke
+newpath
+27047 47413 moveto
+34381 47413 lineto
+stroke
+newpath
+43619 47413 moveto
+46182 47413 lineto
+stroke
+newpath
+27047 47333 moveto
+34461 47333 lineto
+stroke
+newpath
+43619 47333 moveto
+46182 47333 lineto
+stroke
+newpath
+27047 47253 moveto
+34541 47253 lineto
+stroke
+newpath
+43619 47253 moveto
+46182 47253 lineto
+stroke
+newpath
+27047 47173 moveto
+34621 47173 lineto
+stroke
+newpath
+43619 47173 moveto
+46182 47173 lineto
+stroke
+newpath
+27047 47093 moveto
+34701 47093 lineto
+stroke
+newpath
+43619 47093 moveto
+46182 47093 lineto
+stroke
+newpath
+27047 47013 moveto
+34781 47013 lineto
+stroke
+newpath
+43619 47013 moveto
+46182 47013 lineto
+stroke
+newpath
+27047 46933 moveto
+32994 46933 lineto
+stroke
+newpath
+33308 46933 moveto
+34861 46933 lineto
+stroke
+newpath
+43619 46933 moveto
+46182 46933 lineto
+stroke
+newpath
+27047 46853 moveto
+32844 46853 lineto
+stroke
+newpath
+33457 46853 moveto
+34941 46853 lineto
+stroke
+newpath
+43619 46853 moveto
+46182 46853 lineto
+stroke
+newpath
+27047 46773 moveto
+32764 46773 lineto
+stroke
+newpath
+33537 46773 moveto
+35021 46773 lineto
+stroke
+newpath
+43619 46773 moveto
+46182 46773 lineto
+stroke
+newpath
+27047 46693 moveto
+32716 46693 lineto
+stroke
+newpath
+33585 46693 moveto
+35101 46693 lineto
+stroke
+newpath
+41156 46693 moveto
+41230 46693 lineto
+stroke
+newpath
+43619 46693 moveto
+46182 46693 lineto
+stroke
+newpath
+27047 46613 moveto
+32683 46613 lineto
+stroke
+newpath
+33618 46613 moveto
+35181 46613 lineto
+stroke
+newpath
+41076 46613 moveto
+41230 46613 lineto
+stroke
+newpath
+43619 46613 moveto
+46182 46613 lineto
+stroke
+newpath
+27047 46533 moveto
+32664 46533 lineto
+stroke
+newpath
+33636 46533 moveto
+35261 46533 lineto
+stroke
+newpath
+40996 46533 moveto
+41230 46533 lineto
+stroke
+newpath
+43619 46533 moveto
+46182 46533 lineto
+stroke
+newpath
+27047 46453 moveto
+32664 46453 lineto
+stroke
+newpath
+33636 46453 moveto
+35341 46453 lineto
+stroke
+newpath
+40916 46453 moveto
+41230 46453 lineto
+stroke
+newpath
+43619 46453 moveto
+46182 46453 lineto
+stroke
+newpath
+27047 46373 moveto
+32665 46373 lineto
+stroke
+newpath
+33635 46373 moveto
+35421 46373 lineto
+stroke
+newpath
+40836 46373 moveto
+41230 46373 lineto
+stroke
+newpath
+43619 46373 moveto
+46182 46373 lineto
+stroke
+newpath
+27047 46293 moveto
+32698 46293 lineto
+stroke
+newpath
+33602 46293 moveto
+35501 46293 lineto
+stroke
+newpath
+40756 46293 moveto
+41230 46293 lineto
+stroke
+newpath
+43619 46293 moveto
+46182 46293 lineto
+stroke
+newpath
+27047 46213 moveto
+32731 46213 lineto
+stroke
+newpath
+33569 46213 moveto
+35581 46213 lineto
+stroke
+newpath
+40676 46213 moveto
+41230 46213 lineto
+stroke
+newpath
+43619 46213 moveto
+46182 46213 lineto
+stroke
+newpath
+27047 46133 moveto
+32802 46133 lineto
+stroke
+newpath
+33498 46133 moveto
+35661 46133 lineto
+stroke
+newpath
+40596 46133 moveto
+41230 46133 lineto
+stroke
+newpath
+43619 46133 moveto
+46182 46133 lineto
+stroke
+newpath
+27047 46053 moveto
+32821 46053 lineto
+stroke
+newpath
+33479 46053 moveto
+35741 46053 lineto
+stroke
+newpath
+40516 46053 moveto
+41230 46053 lineto
+stroke
+newpath
+43619 46053 moveto
+46182 46053 lineto
+stroke
+newpath
+27047 45973 moveto
+32821 45973 lineto
+stroke
+newpath
+33479 45973 moveto
+35821 45973 lineto
+stroke
+newpath
+40453 45973 moveto
+41230 45973 lineto
+stroke
+newpath
+43619 45973 moveto
+46182 45973 lineto
+stroke
+newpath
+27047 45893 moveto
+32821 45893 lineto
+stroke
+newpath
+33479 45893 moveto
+35901 45893 lineto
+stroke
+newpath
+40453 45893 moveto
+41230 45893 lineto
+stroke
+newpath
+43619 45893 moveto
+46182 45893 lineto
+stroke
+newpath
+27047 45813 moveto
+32821 45813 lineto
+stroke
+newpath
+33479 45813 moveto
+35981 45813 lineto
+stroke
+newpath
+40453 45813 moveto
+41230 45813 lineto
+stroke
+newpath
+43606 45813 moveto
+46182 45813 lineto
+stroke
+newpath
+27047 45733 moveto
+32821 45733 lineto
+stroke
+newpath
+33479 45733 moveto
+36061 45733 lineto
+stroke
+newpath
+40453 45733 moveto
+41230 45733 lineto
+stroke
+newpath
+43586 45733 moveto
+46182 45733 lineto
+stroke
+newpath
+27047 45653 moveto
+32821 45653 lineto
+stroke
+newpath
+33479 45653 moveto
+36141 45653 lineto
+stroke
+newpath
+40451 45653 moveto
+41230 45653 lineto
+stroke
+newpath
+43532 45653 moveto
+46182 45653 lineto
+stroke
+newpath
+27047 45573 moveto
+32821 45573 lineto
+stroke
+newpath
+33479 45573 moveto
+36221 45573 lineto
+stroke
+newpath
+40435 45573 moveto
+41230 45573 lineto
+stroke
+newpath
+43456 45573 moveto
+46182 45573 lineto
+stroke
+newpath
+27047 45493 moveto
+32821 45493 lineto
+stroke
+newpath
+33479 45493 moveto
+36301 45493 lineto
+stroke
+newpath
+40401 45493 moveto
+41230 45493 lineto
+stroke
+newpath
+43376 45493 moveto
+46182 45493 lineto
+stroke
+newpath
+27047 45413 moveto
+32821 45413 lineto
+stroke
+newpath
+33479 45413 moveto
+36381 45413 lineto
+stroke
+newpath
+40342 45413 moveto
+41230 45413 lineto
+stroke
+newpath
+43296 45413 moveto
+46182 45413 lineto
+stroke
+newpath
+27047 45333 moveto
+32821 45333 lineto
+stroke
+newpath
+33479 45333 moveto
+36461 45333 lineto
+stroke
+newpath
+40262 45333 moveto
+41230 45333 lineto
+stroke
+newpath
+43216 45333 moveto
+46182 45333 lineto
+stroke
+newpath
+27047 45253 moveto
+32821 45253 lineto
+stroke
+newpath
+33479 45253 moveto
+36541 45253 lineto
+stroke
+newpath
+40258 45253 moveto
+41230 45253 lineto
+stroke
+newpath
+43136 45253 moveto
+46182 45253 lineto
+stroke
+newpath
+27047 45173 moveto
+32821 45173 lineto
+stroke
+newpath
+33479 45173 moveto
+36621 45173 lineto
+stroke
+newpath
+40291 45173 moveto
+41230 45173 lineto
+stroke
+newpath
+43056 45173 moveto
+46182 45173 lineto
+stroke
+newpath
+27047 45093 moveto
+32821 45093 lineto
+stroke
+newpath
+33479 45093 moveto
+36701 45093 lineto
+stroke
+newpath
+40310 45093 moveto
+41230 45093 lineto
+stroke
+newpath
+43074 45093 moveto
+46182 45093 lineto
+stroke
+newpath
+27047 45013 moveto
+32821 45013 lineto
+stroke
+newpath
+33479 45013 moveto
+36781 45013 lineto
+stroke
+newpath
+40310 45013 moveto
+41230 45013 lineto
+stroke
+newpath
+43114 45013 moveto
+46182 45013 lineto
+stroke
+newpath
+27047 44933 moveto
+32821 44933 lineto
+stroke
+newpath
+33479 44933 moveto
+36861 44933 lineto
+stroke
+newpath
+40309 44933 moveto
+41230 44933 lineto
+stroke
+newpath
+43123 44933 moveto
+46182 44933 lineto
+stroke
+newpath
+27047 44853 moveto
+32821 44853 lineto
+stroke
+newpath
+33479 44853 moveto
+36941 44853 lineto
+stroke
+newpath
+40276 44853 moveto
+41230 44853 lineto
+stroke
+newpath
+43123 44853 moveto
+46182 44853 lineto
+stroke
+newpath
+27047 44773 moveto
+32821 44773 lineto
+stroke
+newpath
+33479 44773 moveto
+37033 44773 lineto
+stroke
+newpath
+40243 44773 moveto
+41230 44773 lineto
+stroke
+newpath
+43123 44773 moveto
+46182 44773 lineto
+stroke
+newpath
+27047 44693 moveto
+32821 44693 lineto
+stroke
+newpath
+33479 44693 moveto
+33990 44693 lineto
+stroke
+newpath
+34241 44693 moveto
+34990 44693 lineto
+stroke
+newpath
+35241 44693 moveto
+35990 44693 lineto
+stroke
+newpath
+36241 44693 moveto
+36990 44693 lineto
+stroke
+newpath
+37241 44693 moveto
+37990 44693 lineto
+stroke
+newpath
+38241 44693 moveto
+39474 44693 lineto
+stroke
+newpath
+40173 44693 moveto
+41230 44693 lineto
+stroke
+newpath
+43123 44693 moveto
+46182 44693 lineto
+stroke
+newpath
+27047 44613 moveto
+32821 44613 lineto
+stroke
+newpath
+33479 44613 moveto
+33795 44613 lineto
+stroke
+newpath
+34433 44613 moveto
+34795 44613 lineto
+stroke
+newpath
+35433 44613 moveto
+35795 44613 lineto
+stroke
+newpath
+36433 44613 moveto
+36795 44613 lineto
+stroke
+newpath
+37433 44613 moveto
+37795 44613 lineto
+stroke
+newpath
+38433 44613 moveto
+38580 44613 lineto
+stroke
+newpath
+40084 44613 moveto
+41230 44613 lineto
+stroke
+newpath
+43123 44613 moveto
+46182 44613 lineto
+stroke
+newpath
+27047 44533 moveto
+32821 44533 lineto
+stroke
+newpath
+33479 44533 moveto
+33700 44533 lineto
+stroke
+newpath
+34528 44533 moveto
+34700 44533 lineto
+stroke
+newpath
+35528 44533 moveto
+35700 44533 lineto
+stroke
+newpath
+36528 44533 moveto
+36700 44533 lineto
+stroke
+newpath
+37528 44533 moveto
+37700 44533 lineto
+stroke
+newpath
+39700 44533 moveto
+41232 44533 lineto
+stroke
+newpath
+43123 44533 moveto
+46182 44533 lineto
+stroke
+newpath
+27047 44453 moveto
+32821 44453 lineto
+stroke
+newpath
+33479 44453 moveto
+33620 44453 lineto
+stroke
+newpath
+34608 44453 moveto
+34620 44453 lineto
+stroke
+newpath
+35608 44453 moveto
+35620 44453 lineto
+stroke
+newpath
+36608 44453 moveto
+36620 44453 lineto
+stroke
+newpath
+37608 44453 moveto
+37619 44453 lineto
+stroke
+newpath
+39717 44453 moveto
+41248 44453 lineto
+stroke
+newpath
+43123 44453 moveto
+46182 44453 lineto
+stroke
+newpath
+27047 44373 moveto
+32821 44373 lineto
+stroke
+newpath
+33517 44373 moveto
+33574 44373 lineto
+stroke
+newpath
+39717 44373 moveto
+41287 44373 lineto
+stroke
+newpath
+43123 44373 moveto
+46182 44373 lineto
+stroke
+newpath
+27047 44293 moveto
+32821 44293 lineto
+stroke
+newpath
+39717 44293 moveto
+41348 44293 lineto
+stroke
+newpath
+43123 44293 moveto
+46182 44293 lineto
+stroke
+newpath
+27047 44213 moveto
+32832 44213 lineto
+stroke
+newpath
+39717 44213 moveto
+41428 44213 lineto
+stroke
+newpath
+43123 44213 moveto
+46182 44213 lineto
+stroke
+newpath
+27047 44133 moveto
+32855 44133 lineto
+stroke
+newpath
+39717 44133 moveto
+41508 44133 lineto
+stroke
+newpath
+43102 44133 moveto
+46182 44133 lineto
+stroke
+newpath
+27047 44053 moveto
+32909 44053 lineto
+stroke
+newpath
+39717 44053 moveto
+41588 44053 lineto
+stroke
+newpath
+43046 44053 moveto
+46182 44053 lineto
+stroke
+newpath
+27047 43973 moveto
+32985 43973 lineto
+stroke
+newpath
+39717 43973 moveto
+41668 43973 lineto
+stroke
+newpath
+42987 43973 moveto
+46182 43973 lineto
+stroke
+newpath
+27047 43893 moveto
+33065 43893 lineto
+stroke
+newpath
+39717 43893 moveto
+41748 43893 lineto
+stroke
+newpath
+43047 43893 moveto
+46182 43893 lineto
+stroke
+newpath
+27047 43813 moveto
+33145 43813 lineto
+stroke
+newpath
+39717 43813 moveto
+41828 43813 lineto
+stroke
+newpath
+43080 43813 moveto
+46182 43813 lineto
+stroke
+newpath
+27047 43733 moveto
+33225 43733 lineto
+stroke
+newpath
+39717 43733 moveto
+41908 43733 lineto
+stroke
+newpath
+43112 43733 moveto
+46182 43733 lineto
+stroke
+newpath
+27047 43653 moveto
+33305 43653 lineto
+stroke
+newpath
+34540 43653 moveto
+34688 43653 lineto
+stroke
+newpath
+35540 43653 moveto
+35688 43653 lineto
+stroke
+newpath
+36539 43653 moveto
+36687 43653 lineto
+stroke
+newpath
+37540 43653 moveto
+37688 43653 lineto
+stroke
+newpath
+39704 43653 moveto
+41917 43653 lineto
+stroke
+newpath
+43123 43653 moveto
+46182 43653 lineto
+stroke
+newpath
+27047 43573 moveto
+33385 43573 lineto
+stroke
+newpath
+34460 43573 moveto
+34768 43573 lineto
+stroke
+newpath
+35460 43573 moveto
+35768 43573 lineto
+stroke
+newpath
+36459 43573 moveto
+36767 43573 lineto
+stroke
+newpath
+37460 43573 moveto
+37768 43573 lineto
+stroke
+newpath
+38459 43573 moveto
+38568 43573 lineto
+stroke
+newpath
+39660 43573 moveto
+41917 43573 lineto
+stroke
+newpath
+43123 43573 moveto
+46182 43573 lineto
+stroke
+newpath
+27047 43493 moveto
+33465 43493 lineto
+stroke
+newpath
+34537 43493 moveto
+34958 43493 lineto
+stroke
+newpath
+35268 43493 moveto
+35958 43493 lineto
+stroke
+newpath
+36268 43493 moveto
+36958 43493 lineto
+stroke
+newpath
+37268 43493 moveto
+37958 43493 lineto
+stroke
+newpath
+38268 43493 moveto
+38688 43493 lineto
+stroke
+newpath
+39538 43493 moveto
+41917 43493 lineto
+stroke
+newpath
+43123 43493 moveto
+46182 43493 lineto
+stroke
+newpath
+27047 43413 moveto
+33545 43413 lineto
+stroke
+newpath
+34699 43413 moveto
+41939 43413 lineto
+stroke
+newpath
+43100 43413 moveto
+46182 43413 lineto
+stroke
+newpath
+27047 43333 moveto
+33625 43333 lineto
+stroke
+newpath
+34779 43333 moveto
+41972 43333 lineto
+stroke
+newpath
+43067 43333 moveto
+46182 43333 lineto
+stroke
+newpath
+27047 43253 moveto
+33705 43253 lineto
+stroke
+newpath
+34832 43253 moveto
+42005 43253 lineto
+stroke
+newpath
+43034 43253 moveto
+46182 43253 lineto
+stroke
+newpath
+27047 43173 moveto
+33785 43173 lineto
+stroke
+newpath
+34865 43173 moveto
+42081 43173 lineto
+stroke
+newpath
+42959 43173 moveto
+46182 43173 lineto
+stroke
+newpath
+27047 43093 moveto
+33865 43093 lineto
+stroke
+newpath
+34887 43093 moveto
+42161 43093 lineto
+stroke
+newpath
+42879 43093 moveto
+46182 43093 lineto
+stroke
+newpath
+27047 43013 moveto
+33915 43013 lineto
+stroke
+newpath
+34887 43013 moveto
+42329 43013 lineto
+stroke
+newpath
+42709 43013 moveto
+46182 43013 lineto
+stroke
+newpath
+27047 42933 moveto
+33915 42933 lineto
+stroke
+newpath
+34887 42933 moveto
+46182 42933 lineto
+stroke
+newpath
+27047 42853 moveto
+33945 42853 lineto
+stroke
+newpath
+34856 42853 moveto
+46182 42853 lineto
+stroke
+newpath
+27047 42773 moveto
+33978 42773 lineto
+stroke
+newpath
+34823 42773 moveto
+46182 42773 lineto
+stroke
+newpath
+27047 42693 moveto
+34043 42693 lineto
+stroke
+newpath
+34758 42693 moveto
+46182 42693 lineto
+stroke
+newpath
+27047 42613 moveto
+34123 42613 lineto
+stroke
+newpath
+34678 42613 moveto
+46182 42613 lineto
+stroke
+newpath
+27047 42533 moveto
+46182 42533 lineto
+stroke
+newpath
+27047 42453 moveto
+46182 42453 lineto
+stroke
+newpath
+27047 42373 moveto
+46182 42373 lineto
+stroke
+newpath
+27047 42293 moveto
+46182 42293 lineto
+stroke
+newpath
+27047 42213 moveto
+46182 42213 lineto
+stroke
+newpath
+27047 42133 moveto
+46182 42133 lineto
+stroke
+newpath
+27047 42053 moveto
+46182 42053 lineto
+stroke
+newpath
+27047 41973 moveto
+46182 41973 lineto
+stroke
+newpath
+27047 41893 moveto
+46182 41893 lineto
+stroke
+newpath
+27047 41813 moveto
+46182 41813 lineto
+stroke
+newpath
+27047 41733 moveto
+46182 41733 lineto
+stroke
+newpath
+27047 41653 moveto
+46182 41653 lineto
+stroke
+newpath
+27047 41573 moveto
+46182 41573 lineto
+stroke
+newpath
+27047 41493 moveto
+46182 41493 lineto
+stroke
+newpath
+27047 41413 moveto
+46182 41413 lineto
+stroke
+newpath
+27047 41333 moveto
+46182 41333 lineto
+stroke
+newpath
+27047 41253 moveto
+27494 41253 lineto
+stroke
+newpath
+27625 41253 moveto
+45407 41253 lineto
+stroke
+newpath
+45538 41253 moveto
+46182 41253 lineto
+stroke
+newpath
+27047 41173 moveto
+27332 41173 lineto
+stroke
+newpath
+27787 41173 moveto
+45245 41173 lineto
+stroke
+newpath
+45700 41173 moveto
+46182 41173 lineto
+stroke
+newpath
+27047 41093 moveto
+27276 41093 lineto
+stroke
+newpath
+27843 41093 moveto
+45189 41093 lineto
+stroke
+newpath
+45756 41093 moveto
+46182 41093 lineto
+stroke
+newpath
+27047 41013 moveto
+27246 41013 lineto
+stroke
+newpath
+27873 41013 moveto
+45159 41013 lineto
+stroke
+newpath
+45786 41013 moveto
+46182 41013 lineto
+stroke
+newpath
+27047 40933 moveto
+27231 40933 lineto
+stroke
+newpath
+27887 40933 moveto
+45144 40933 lineto
+stroke
+newpath
+45800 40933 moveto
+46182 40933 lineto
+stroke
+newpath
+27047 40853 moveto
+27068 40853 lineto
+stroke
+newpath
+28049 40853 moveto
+44984 40853 lineto
+stroke
+newpath
+45962 40853 moveto
+46182 40853 lineto
+stroke
+newpath
+28188 40773 moveto
+44845 40773 lineto
+stroke
+newpath
+46101 40773 moveto
+46182 40773 lineto
+stroke
+newpath
+28241 40693 moveto
+44792 40693 lineto
+stroke
+newpath
+46154 40693 moveto
+46182 40693 lineto
+stroke
+newpath
+28268 40613 moveto
+44765 40613 lineto
+stroke
+newpath
+46181 40613 moveto
+46182 40613 lineto
+stroke
+newpath
+28278 40533 moveto
+44753 40533 lineto
+stroke
+newpath
+28262 40453 moveto
+44769 40453 lineto
+stroke
+newpath
+46175 40453 moveto
+46182 40453 lineto
+stroke
+newpath
+28225 40373 moveto
+44806 40373 lineto
+stroke
+newpath
+46138 40373 moveto
+46182 40373 lineto
+stroke
+newpath
+28156 40293 moveto
+44875 40293 lineto
+stroke
+newpath
+46069 40293 moveto
+46182 40293 lineto
+stroke
+newpath
+27047 40213 moveto
+27202 40213 lineto
+stroke
+newpath
+27915 40213 moveto
+45115 40213 lineto
+stroke
+newpath
+45828 40213 moveto
+46182 40213 lineto
+stroke
+newpath
+27047 40133 moveto
+27234 40133 lineto
+stroke
+newpath
+27883 40133 moveto
+45147 40133 lineto
+stroke
+newpath
+45796 40133 moveto
+46182 40133 lineto
+stroke
+newpath
+27047 40053 moveto
+27250 40053 lineto
+stroke
+newpath
+27867 40053 moveto
+45163 40053 lineto
+stroke
+newpath
+45780 40053 moveto
+46182 40053 lineto
+stroke
+newpath
+27047 39973 moveto
+27290 39973 lineto
+stroke
+newpath
+27827 39973 moveto
+45203 39973 lineto
+stroke
+newpath
+45740 39973 moveto
+46182 39973 lineto
+stroke
+newpath
+27047 39893 moveto
+27364 39893 lineto
+stroke
+newpath
+27753 39893 moveto
+45277 39893 lineto
+stroke
+newpath
+45666 39893 moveto
+46182 39893 lineto
+stroke
+newpath
+27047 39813 moveto
+46182 39813 lineto
+stroke
+newpath
+27047 39733 moveto
+46182 39733 lineto
+stroke
+newpath
+27047 39653 moveto
+46182 39653 lineto
+stroke
+newpath
+42764 47526 moveto
+42764 47526 lineto
+stroke
+newpath
+42764 47446 moveto
+42844 47446 lineto
+stroke
+newpath
+42762 47366 moveto
+42924 47366 lineto
+stroke
+newpath
+42729 47286 moveto
+42961 47286 lineto
+stroke
+newpath
+42696 47206 moveto
+42961 47206 lineto
+stroke
+newpath
+42624 47126 moveto
+42961 47126 lineto
+stroke
+newpath
+42531 47046 moveto
+42961 47046 lineto
+stroke
+newpath
+42170 46966 moveto
+42961 46966 lineto
+stroke
+newpath
+42090 46886 moveto
+42961 46886 lineto
+stroke
+newpath
+42010 46806 moveto
+42961 46806 lineto
+stroke
+newpath
+41930 46726 moveto
+42961 46726 lineto
+stroke
+newpath
+41888 46646 moveto
+42961 46646 lineto
+stroke
+newpath
+41888 46566 moveto
+42961 46566 lineto
+stroke
+newpath
+41888 46486 moveto
+42961 46486 lineto
+stroke
+newpath
+41888 46406 moveto
+42961 46406 lineto
+stroke
+newpath
+41888 46326 moveto
+42961 46326 lineto
+stroke
+newpath
+41888 46246 moveto
+42961 46246 lineto
+stroke
+newpath
+41888 46166 moveto
+42961 46166 lineto
+stroke
+newpath
+41888 46086 moveto
+42961 46086 lineto
+stroke
+newpath
+41888 46006 moveto
+42959 46006 lineto
+stroke
+newpath
+41888 45926 moveto
+42879 45926 lineto
+stroke
+newpath
+41888 45846 moveto
+42799 45846 lineto
+stroke
+newpath
+41888 45766 moveto
+42719 45766 lineto
+stroke
+newpath
+41888 45686 moveto
+42639 45686 lineto
+stroke
+newpath
+41888 45606 moveto
+42559 45606 lineto
+stroke
+newpath
+41888 45526 moveto
+42479 45526 lineto
+stroke
+newpath
+41888 45446 moveto
+42399 45446 lineto
+stroke
+newpath
+41888 45366 moveto
+42319 45366 lineto
+stroke
+newpath
+41888 45286 moveto
+42256 45286 lineto
+stroke
+newpath
+41888 45206 moveto
+42212 45206 lineto
+stroke
+newpath
+41888 45126 moveto
+41999 45126 lineto
+stroke
+newpath
+41888 45046 moveto
+41940 45046 lineto
+stroke
+newpath
+41888 44966 moveto
+41917 44966 lineto
+stroke
+newpath
+41888 44886 moveto
+41917 44886 lineto
+stroke
+newpath
+41888 44806 moveto
+41917 44806 lineto
+stroke
+newpath
+41888 44726 moveto
+41917 44726 lineto
+stroke
+newpath
+33377 50521 moveto
+33377 50521 lineto
+stroke
+newpath
+33315 50441 moveto
+33425 50441 lineto
+stroke
+newpath
+33385 50361 moveto
+33553 50361 lineto
+stroke
+newpath
+33418 50281 moveto
+33636 50281 lineto
+stroke
+newpath
+33451 50201 moveto
+33636 50201 lineto
+stroke
+newpath
+33451 50121 moveto
+33636 50121 lineto
+stroke
+newpath
+33451 50041 moveto
+33636 50041 lineto
+stroke
+newpath
+33432 49961 moveto
+33636 49961 lineto
+stroke
+newpath
+33399 49881 moveto
+33636 49881 lineto
+stroke
+newpath
+33350 49801 moveto
+33636 49801 lineto
+stroke
+newpath
+33270 49721 moveto
+33636 49721 lineto
+stroke
+newpath
+33116 49641 moveto
+33636 49641 lineto
+stroke
+newpath
+33165 49561 moveto
+33648 49561 lineto
+stroke
+newpath
+33245 49481 moveto
+33672 49481 lineto
+stroke
+newpath
+33325 49401 moveto
+33725 49401 lineto
+stroke
+newpath
+33405 49321 moveto
+33802 49321 lineto
+stroke
+newpath
+33485 49241 moveto
+33882 49241 lineto
+stroke
+newpath
+33565 49161 moveto
+33962 49161 lineto
+stroke
+newpath
+33645 49081 moveto
+34042 49081 lineto
+stroke
+newpath
+33725 49001 moveto
+34122 49001 lineto
+stroke
+newpath
+33805 48921 moveto
+34202 48921 lineto
+stroke
+newpath
+33885 48841 moveto
+34282 48841 lineto
+stroke
+newpath
+33965 48761 moveto
+34362 48761 lineto
+stroke
+newpath
+34045 48681 moveto
+34442 48681 lineto
+stroke
+newpath
+34125 48601 moveto
+34522 48601 lineto
+stroke
+newpath
+34205 48521 moveto
+34602 48521 lineto
+stroke
+newpath
+34285 48441 moveto
+34682 48441 lineto
+stroke
+newpath
+34365 48361 moveto
+34762 48361 lineto
+stroke
+newpath
+34445 48281 moveto
+34842 48281 lineto
+stroke
+newpath
+34525 48201 moveto
+34922 48201 lineto
+stroke
+newpath
+34605 48121 moveto
+35002 48121 lineto
+stroke
+newpath
+34685 48041 moveto
+35082 48041 lineto
+stroke
+newpath
+34765 47961 moveto
+35162 47961 lineto
+stroke
+newpath
+34845 47881 moveto
+35242 47881 lineto
+stroke
+newpath
+34925 47801 moveto
+35322 47801 lineto
+stroke
+newpath
+35005 47721 moveto
+35402 47721 lineto
+stroke
+newpath
+35085 47641 moveto
+35482 47641 lineto
+stroke
+newpath
+35165 47561 moveto
+35562 47561 lineto
+stroke
+newpath
+35245 47481 moveto
+35642 47481 lineto
+stroke
+newpath
+35325 47401 moveto
+35722 47401 lineto
+stroke
+newpath
+35405 47321 moveto
+35802 47321 lineto
+stroke
+newpath
+35485 47241 moveto
+35882 47241 lineto
+stroke
+newpath
+35565 47161 moveto
+35962 47161 lineto
+stroke
+newpath
+35645 47081 moveto
+36042 47081 lineto
+stroke
+newpath
+35725 47001 moveto
+36122 47001 lineto
+stroke
+newpath
+35805 46921 moveto
+36202 46921 lineto
+stroke
+newpath
+35885 46841 moveto
+36282 46841 lineto
+stroke
+newpath
+35965 46761 moveto
+36362 46761 lineto
+stroke
+newpath
+36045 46681 moveto
+36442 46681 lineto
+stroke
+newpath
+36125 46601 moveto
+36522 46601 lineto
+stroke
+newpath
+36205 46521 moveto
+36602 46521 lineto
+stroke
+newpath
+36285 46441 moveto
+36682 46441 lineto
+stroke
+newpath
+36365 46361 moveto
+36762 46361 lineto
+stroke
+newpath
+36445 46281 moveto
+36842 46281 lineto
+stroke
+newpath
+36525 46201 moveto
+36922 46201 lineto
+stroke
+newpath
+36605 46121 moveto
+37002 46121 lineto
+stroke
+newpath
+36685 46041 moveto
+37082 46041 lineto
+stroke
+newpath
+36765 45961 moveto
+37162 45961 lineto
+stroke
+newpath
+36845 45881 moveto
+37242 45881 lineto
+stroke
+newpath
+36925 45801 moveto
+37322 45801 lineto
+stroke
+newpath
+37005 45721 moveto
+37402 45721 lineto
+stroke
+newpath
+37085 45641 moveto
+37482 45641 lineto
+stroke
+newpath
+37165 45561 moveto
+37562 45561 lineto
+stroke
+newpath
+37245 45481 moveto
+37642 45481 lineto
+stroke
+newpath
+37325 45401 moveto
+37722 45401 lineto
+stroke
+newpath
+38927 51255 moveto
+38927 51255 lineto
+stroke
+newpath
+38717 51175 moveto
+38927 51175 lineto
+stroke
+newpath
+38637 51095 moveto
+38927 51095 lineto
+stroke
+newpath
+38557 51015 moveto
+38927 51015 lineto
+stroke
+newpath
+38477 50935 moveto
+38926 50935 lineto
+stroke
+newpath
+38397 50855 moveto
+38942 50855 lineto
+stroke
+newpath
+38317 50775 moveto
+38975 50775 lineto
+stroke
+newpath
+38237 50695 moveto
+39032 50695 lineto
+stroke
+newpath
+38157 50615 moveto
+39112 50615 lineto
+stroke
+newpath
+38077 50535 moveto
+39192 50535 lineto
+stroke
+newpath
+37997 50455 moveto
+39272 50455 lineto
+stroke
+newpath
+37917 50375 moveto
+39352 50375 lineto
+stroke
+newpath
+37837 50295 moveto
+39432 50295 lineto
+stroke
+newpath
+37757 50215 moveto
+39512 50215 lineto
+stroke
+newpath
+37677 50135 moveto
+39592 50135 lineto
+stroke
+newpath
+37597 50055 moveto
+39672 50055 lineto
+stroke
+newpath
+37517 49975 moveto
+39752 49975 lineto
+stroke
+newpath
+37437 49895 moveto
+39832 49895 lineto
+stroke
+newpath
+37357 49815 moveto
+39912 49815 lineto
+stroke
+newpath
+37277 49735 moveto
+39992 49735 lineto
+stroke
+newpath
+37197 49655 moveto
+40072 49655 lineto
+stroke
+newpath
+37117 49575 moveto
+40152 49575 lineto
+stroke
+newpath
+37023 49495 moveto
+40232 49495 lineto
+stroke
+newpath
+36152 49415 moveto
+40312 49415 lineto
+stroke
+newpath
+36057 49335 moveto
+40392 49335 lineto
+stroke
+newpath
+35631 49255 moveto
+40472 49255 lineto
+stroke
+newpath
+35561 49175 moveto
+40552 49175 lineto
+stroke
+newpath
+35472 49095 moveto
+40632 49095 lineto
+stroke
+newpath
+35379 49015 moveto
+40712 49015 lineto
+stroke
+newpath
+35459 48935 moveto
+40792 48935 lineto
+stroke
+newpath
+35539 48855 moveto
+40872 48855 lineto
+stroke
+newpath
+35619 48775 moveto
+40952 48775 lineto
+stroke
+newpath
+35699 48695 moveto
+41032 48695 lineto
+stroke
+newpath
+35779 48615 moveto
+41112 48615 lineto
+stroke
+newpath
+35859 48535 moveto
+41192 48535 lineto
+stroke
+newpath
+35939 48455 moveto
+41272 48455 lineto
+stroke
+newpath
+36019 48375 moveto
+41352 48375 lineto
+stroke
+newpath
+36099 48295 moveto
+41432 48295 lineto
+stroke
+newpath
+36179 48215 moveto
+41512 48215 lineto
+stroke
+newpath
+36259 48135 moveto
+41445 48135 lineto
+stroke
+newpath
+36339 48055 moveto
+41380 48055 lineto
+stroke
+newpath
+36419 47975 moveto
+41347 47975 lineto
+stroke
+newpath
+36499 47895 moveto
+41315 47895 lineto
+stroke
+newpath
+36579 47815 moveto
+41315 47815 lineto
+stroke
+newpath
+36659 47735 moveto
+41267 47735 lineto
+stroke
+newpath
+36739 47655 moveto
+41187 47655 lineto
+stroke
+newpath
+36819 47575 moveto
+41107 47575 lineto
+stroke
+newpath
+36899 47495 moveto
+41027 47495 lineto
+stroke
+newpath
+36979 47415 moveto
+40947 47415 lineto
+stroke
+newpath
+37059 47335 moveto
+40867 47335 lineto
+stroke
+newpath
+37139 47255 moveto
+40787 47255 lineto
+stroke
+newpath
+37219 47175 moveto
+40707 47175 lineto
+stroke
+newpath
+37299 47095 moveto
+40627 47095 lineto
+stroke
+newpath
+37379 47015 moveto
+40547 47015 lineto
+stroke
+newpath
+37459 46935 moveto
+40467 46935 lineto
+stroke
+newpath
+37539 46855 moveto
+40387 46855 lineto
+stroke
+newpath
+37619 46775 moveto
+40307 46775 lineto
+stroke
+newpath
+37699 46695 moveto
+40227 46695 lineto
+stroke
+newpath
+37779 46615 moveto
+40147 46615 lineto
+stroke
+newpath
+37859 46535 moveto
+40067 46535 lineto
+stroke
+newpath
+37939 46455 moveto
+39987 46455 lineto
+stroke
+newpath
+38019 46375 moveto
+39907 46375 lineto
+stroke
+newpath
+38099 46295 moveto
+39472 46295 lineto
+stroke
+newpath
+38179 46215 moveto
+39348 46215 lineto
+stroke
+newpath
+34481 52632 moveto
+36951 52632 lineto
+stroke
+newpath
+34408 52552 moveto
+36778 52552 lineto
+stroke
+newpath
+34327 52472 moveto
+36610 52472 lineto
+stroke
+newpath
+34387 52392 moveto
+36530 52392 lineto
+stroke
+newpath
+34467 52312 moveto
+36474 52312 lineto
+stroke
+newpath
+34506 52232 moveto
+36441 52232 lineto
+stroke
+newpath
+34539 52152 moveto
+36417 52152 lineto
+stroke
+newpath
+34568 52072 moveto
+36417 52072 lineto
+stroke
+newpath
+34568 51992 moveto
+36351 51992 lineto
+stroke
+newpath
+34568 51912 moveto
+36271 51912 lineto
+stroke
+newpath
+34564 51832 moveto
+36191 51832 lineto
+stroke
+newpath
+34640 51752 moveto
+36111 51752 lineto
+stroke
+newpath
+34718 51672 moveto
+36031 51672 lineto
+stroke
+newpath
+34771 51592 moveto
+35951 51592 lineto
+stroke
+newpath
+34796 51512 moveto
+35871 51512 lineto
+stroke
+newpath
+34809 51432 moveto
+35791 51432 lineto
+stroke
+newpath
+34809 51352 moveto
+35711 51352 lineto
+stroke
+newpath
+34809 51272 moveto
+35631 51272 lineto
+stroke
+newpath
+34809 51192 moveto
+35551 51192 lineto
+stroke
+newpath
+34809 51112 moveto
+35471 51112 lineto
+stroke
+newpath
+34809 51032 moveto
+35391 51032 lineto
+stroke
+newpath
+34809 50952 moveto
+35311 50952 lineto
+stroke
+newpath
+34809 50872 moveto
+35231 50872 lineto
+stroke
+newpath
+34809 50792 moveto
+35151 50792 lineto
+stroke
+newpath
+34809 50712 moveto
+35071 50712 lineto
+stroke
+newpath
+34809 50632 moveto
+34991 50632 lineto
+stroke
+newpath
+34809 50552 moveto
+34934 50552 lineto
+stroke
+newpath
+34809 50472 moveto
+34900 50472 lineto
+stroke
+newpath
+34809 50392 moveto
+34884 50392 lineto
+stroke
+newpath
+34809 50312 moveto
+34883 50312 lineto
+stroke
+newpath
+34809 50232 moveto
+34883 50232 lineto
+stroke
+newpath
+34809 50152 moveto
+34883 50152 lineto
+stroke
+newpath
+34809 50072 moveto
+34883 50072 lineto
+stroke
+newpath
+34809 49992 moveto
+34883 49992 lineto
+stroke
+newpath
+34809 49912 moveto
+34883 49912 lineto
+stroke
+newpath
+34809 49832 moveto
+34843 49832 lineto
+stroke
+newpath
+35031 54453 moveto
+35031 54453 lineto
+stroke
+newpath
+34951 54373 moveto
+36110 54373 lineto
+stroke
+newpath
+34871 54293 moveto
+36202 54293 lineto
+stroke
+newpath
+34791 54213 moveto
+36382 54213 lineto
+stroke
+newpath
+34711 54133 moveto
+37422 54133 lineto
+stroke
+newpath
+34631 54053 moveto
+37502 54053 lineto
+stroke
+newpath
+34551 53973 moveto
+37582 53973 lineto
+stroke
+newpath
+34471 53893 moveto
+37662 53893 lineto
+stroke
+newpath
+34391 53813 moveto
+37742 53813 lineto
+stroke
+newpath
+34311 53733 moveto
+37822 53733 lineto
+stroke
+newpath
+34231 53653 moveto
+37902 53653 lineto
+stroke
+newpath
+34151 53573 moveto
+37982 53573 lineto
+stroke
+newpath
+34257 53493 moveto
+38062 53493 lineto
+stroke
+newpath
+34366 53413 moveto
+38142 53413 lineto
+stroke
+newpath
+34446 53333 moveto
+38222 53333 lineto
+stroke
+newpath
+37326 53253 moveto
+38302 53253 lineto
+stroke
+newpath
+37578 53173 moveto
+38382 53173 lineto
+stroke
+newpath
+37737 53093 moveto
+38462 53093 lineto
+stroke
+newpath
+37817 53013 moveto
+38542 53013 lineto
+stroke
+newpath
+37869 52933 moveto
+38622 52933 lineto
+stroke
+newpath
+37902 52853 moveto
+38702 52853 lineto
+stroke
+newpath
+37923 52773 moveto
+38782 52773 lineto
+stroke
+newpath
+37923 52693 moveto
+38862 52693 lineto
+stroke
+newpath
+37923 52613 moveto
+38927 52613 lineto
+stroke
+newpath
+37891 52533 moveto
+38927 52533 lineto
+stroke
+newpath
+37858 52453 moveto
+38927 52453 lineto
+stroke
+newpath
+37792 52373 moveto
+38927 52373 lineto
+stroke
+newpath
+37712 52293 moveto
+38927 52293 lineto
+stroke
+newpath
+37373 52213 moveto
+38703 52213 lineto
+stroke
+newpath
+38915 52213 moveto
+38927 52213 lineto
+stroke
+newpath
+37389 52133 moveto
+38523 52133 lineto
+stroke
+newpath
+37389 52053 moveto
+38443 52053 lineto
+stroke
+newpath
+37385 51973 moveto
+38382 51973 lineto
+stroke
+newpath
+37352 51893 moveto
+38349 51893 lineto
+stroke
+newpath
+37319 51813 moveto
+38322 51813 lineto
+stroke
+newpath
+37245 51733 moveto
+38322 51733 lineto
+stroke
+newpath
+37146 51653 moveto
+38264 51653 lineto
+stroke
+newpath
+36863 51573 moveto
+38184 51573 lineto
+stroke
+newpath
+36783 51493 moveto
+38104 51493 lineto
+stroke
+newpath
+36703 51413 moveto
+38024 51413 lineto
+stroke
+newpath
+36623 51333 moveto
+37944 51333 lineto
+stroke
+newpath
+36543 51253 moveto
+37864 51253 lineto
+stroke
+newpath
+36463 51173 moveto
+37784 51173 lineto
+stroke
+newpath
+36383 51093 moveto
+37704 51093 lineto
+stroke
+newpath
+36303 51013 moveto
+37624 51013 lineto
+stroke
+newpath
+36223 50933 moveto
+37544 50933 lineto
+stroke
+newpath
+36143 50853 moveto
+37464 50853 lineto
+stroke
+newpath
+36063 50773 moveto
+37384 50773 lineto
+stroke
+newpath
+35983 50693 moveto
+37304 50693 lineto
+stroke
+newpath
+35903 50613 moveto
+37224 50613 lineto
+stroke
+newpath
+35823 50533 moveto
+37144 50533 lineto
+stroke
+newpath
+35743 50453 moveto
+37064 50453 lineto
+stroke
+newpath
+35663 50373 moveto
+36984 50373 lineto
+stroke
+newpath
+35583 50293 moveto
+36904 50293 lineto
+stroke
+newpath
+35541 50213 moveto
+35639 50213 lineto
+stroke
+newpath
+35977 50213 moveto
+36824 50213 lineto
+stroke
+newpath
+36119 50133 moveto
+36744 50133 lineto
+stroke
+newpath
+33464 51609 moveto
+33464 51609 lineto
+stroke
+newpath
+33384 51529 moveto
+33478 51529 lineto
+stroke
+newpath
+33330 51449 moveto
+33398 51449 lineto
+stroke
+newpath
+33465 52608 moveto
+33465 52608 lineto
+stroke
+newpath
+33385 52528 moveto
+33545 52528 lineto
+stroke
+newpath
+33331 52448 moveto
+33597 52448 lineto
+stroke
+newpath
+33411 52368 moveto
+33517 52368 lineto
+stroke
+newpath
+38780 55389 moveto
+38780 55389 lineto
+stroke
+newpath
+38700 55309 moveto
+38859 55309 lineto
+stroke
+newpath
+38621 55229 moveto
+38940 55229 lineto
+stroke
+newpath
+38533 55149 moveto
+39132 55149 lineto
+stroke
+newpath
+38453 55069 moveto
+39378 55069 lineto
+stroke
+newpath
+38373 54989 moveto
+39378 54989 lineto
+stroke
+newpath
+38293 54909 moveto
+39378 54909 lineto
+stroke
+newpath
+38213 54829 moveto
+39378 54829 lineto
+stroke
+newpath
+38133 54749 moveto
+39378 54749 lineto
+stroke
+newpath
+38053 54669 moveto
+39378 54669 lineto
+stroke
+newpath
+37973 54589 moveto
+39378 54589 lineto
+stroke
+newpath
+37978 54509 moveto
+39378 54509 lineto
+stroke
+newpath
+38058 54429 moveto
+39378 54429 lineto
+stroke
+newpath
+38138 54349 moveto
+39378 54349 lineto
+stroke
+newpath
+38218 54269 moveto
+39378 54269 lineto
+stroke
+newpath
+38298 54189 moveto
+39378 54189 lineto
+stroke
+newpath
+38378 54109 moveto
+39378 54109 lineto
+stroke
+newpath
+38458 54029 moveto
+39378 54029 lineto
+stroke
+newpath
+38538 53949 moveto
+39378 53949 lineto
+stroke
+newpath
+38618 53869 moveto
+39378 53869 lineto
+stroke
+newpath
+38698 53789 moveto
+39378 53789 lineto
+stroke
+newpath
+38778 53709 moveto
+39378 53709 lineto
+stroke
+newpath
+38858 53629 moveto
+39378 53629 lineto
+stroke
+newpath
+38938 53549 moveto
+39378 53549 lineto
+stroke
+newpath
+39018 53469 moveto
+39378 53469 lineto
+stroke
+newpath
+39098 53389 moveto
+39378 53389 lineto
+stroke
+newpath
+39178 53309 moveto
+39378 53309 lineto
+stroke
+newpath
+39258 53229 moveto
+39378 53229 lineto
+stroke
+newpath
+39338 53149 moveto
+39378 53149 lineto
+stroke
+newpath
+28360 56385 moveto
+28688 56385 lineto
+stroke
+newpath
+28360 56305 moveto
+28587 56305 lineto
+stroke
+newpath
+31649 56305 moveto
+33662 56305 lineto
+stroke
+newpath
+28360 56225 moveto
+28544 56225 lineto
+stroke
+newpath
+31693 56225 moveto
+33742 56225 lineto
+stroke
+newpath
+28360 56145 moveto
+28531 56145 lineto
+stroke
+newpath
+31705 56145 moveto
+33822 56145 lineto
+stroke
+newpath
+28360 56065 moveto
+28531 56065 lineto
+stroke
+newpath
+31705 56065 moveto
+33902 56065 lineto
+stroke
+newpath
+28360 55985 moveto
+28531 55985 lineto
+stroke
+newpath
+31705 55985 moveto
+33936 55985 lineto
+stroke
+newpath
+28360 55905 moveto
+28531 55905 lineto
+stroke
+newpath
+31705 55905 moveto
+33936 55905 lineto
+stroke
+newpath
+28360 55825 moveto
+28531 55825 lineto
+stroke
+newpath
+31705 55825 moveto
+33961 55825 lineto
+stroke
+newpath
+28360 55745 moveto
+28531 55745 lineto
+stroke
+newpath
+31705 55745 moveto
+33993 55745 lineto
+stroke
+newpath
+28360 55665 moveto
+28531 55665 lineto
+stroke
+newpath
+31705 55665 moveto
+34026 55665 lineto
+stroke
+newpath
+28360 55585 moveto
+28531 55585 lineto
+stroke
+newpath
+31705 55585 moveto
+34106 55585 lineto
+stroke
+newpath
+34972 55585 moveto
+35080 55585 lineto
+stroke
+newpath
+28360 55505 moveto
+28531 55505 lineto
+stroke
+newpath
+31705 55505 moveto
+34186 55505 lineto
+stroke
+newpath
+34892 55505 moveto
+34979 55505 lineto
+stroke
+newpath
+28360 55425 moveto
+28531 55425 lineto
+stroke
+newpath
+31705 55425 moveto
+34362 55425 lineto
+stroke
+newpath
+34714 55425 moveto
+34943 55425 lineto
+stroke
+newpath
+28360 55345 moveto
+28549 55345 lineto
+stroke
+newpath
+29718 55345 moveto
+30517 55345 lineto
+stroke
+newpath
+31687 55345 moveto
+34799 55345 lineto
+stroke
+newpath
+28360 55265 moveto
+28601 55265 lineto
+stroke
+newpath
+29667 55265 moveto
+30569 55265 lineto
+stroke
+newpath
+31635 55265 moveto
+34693 55265 lineto
+stroke
+newpath
+28360 55185 moveto
+34613 55185 lineto
+stroke
+newpath
+28360 55105 moveto
+34533 55105 lineto
+stroke
+newpath
+28418 55025 moveto
+34453 55025 lineto
+stroke
+newpath
+28498 54945 moveto
+34373 54945 lineto
+stroke
+newpath
+28578 54865 moveto
+34293 54865 lineto
+stroke
+newpath
+28658 54785 moveto
+34213 54785 lineto
+stroke
+newpath
+28738 54705 moveto
+34133 54705 lineto
+stroke
+newpath
+28818 54625 moveto
+34053 54625 lineto
+stroke
+newpath
+28898 54545 moveto
+33973 54545 lineto
+stroke
+newpath
+28978 54465 moveto
+33893 54465 lineto
+stroke
+newpath
+29058 54385 moveto
+33813 54385 lineto
+stroke
+newpath
+29138 54305 moveto
+33733 54305 lineto
+stroke
+newpath
+29218 54225 moveto
+33653 54225 lineto
+stroke
+newpath
+29298 54145 moveto
+33573 54145 lineto
+stroke
+newpath
+29552 54065 moveto
+33493 54065 lineto
+stroke
+newpath
+29654 53985 moveto
+33413 53985 lineto
+stroke
+newpath
+29734 53905 moveto
+33333 53905 lineto
+stroke
+newpath
+29814 53825 moveto
+33253 53825 lineto
+stroke
+newpath
+29894 53745 moveto
+33173 53745 lineto
+stroke
+newpath
+29974 53665 moveto
+33093 53665 lineto
+stroke
+newpath
+30054 53585 moveto
+33013 53585 lineto
+stroke
+newpath
+30134 53505 moveto
+32703 53505 lineto
+stroke
+newpath
+30214 53425 moveto
+32576 53425 lineto
+stroke
+newpath
+36055 55676 moveto
+36444 55676 lineto
+stroke
+newpath
+35982 55596 moveto
+36524 55596 lineto
+stroke
+newpath
+36088 55516 moveto
+36604 55516 lineto
+stroke
+newpath
+36131 55436 moveto
+36684 55436 lineto
+stroke
+newpath
+36248 55356 moveto
+36732 55356 lineto
+stroke
+newpath
+36359 55276 moveto
+36732 55276 lineto
+stroke
+newpath
+36439 55196 moveto
+36763 55196 lineto
+stroke
+newpath
+36519 55116 moveto
+36796 55116 lineto
+stroke
+newpath
+36599 55036 moveto
+36862 55036 lineto
+stroke
+newpath
+33464 52315 moveto
+33611 52462 lineto
+33465 52608 lineto
+33318 52461 lineto
+33464 52315 lineto
+poly0
+newpath
+27047 58773 moveto
+46182 58773 lineto
+stroke
+newpath
+27047 58693 moveto
+46182 58693 lineto
+stroke
+newpath
+27047 58613 moveto
+46182 58613 lineto
+stroke
+newpath
+27047 58533 moveto
+45302 58533 lineto
+stroke
+newpath
+45643 58533 moveto
+46182 58533 lineto
+stroke
+newpath
+27047 58453 moveto
+45214 58453 lineto
+stroke
+newpath
+45731 58453 moveto
+46182 58453 lineto
+stroke
+newpath
+27047 58373 moveto
+45167 58373 lineto
+stroke
+newpath
+45778 58373 moveto
+46182 58373 lineto
+stroke
+newpath
+27047 58293 moveto
+45151 58293 lineto
+stroke
+newpath
+45794 58293 moveto
+46182 58293 lineto
+stroke
+newpath
+27047 58213 moveto
+45131 58213 lineto
+stroke
+newpath
+45813 58213 moveto
+46182 58213 lineto
+stroke
+newpath
+27047 58133 moveto
+44900 58133 lineto
+stroke
+newpath
+46046 58133 moveto
+46182 58133 lineto
+stroke
+newpath
+27047 58053 moveto
+44817 58053 lineto
+stroke
+newpath
+46129 58053 moveto
+46182 58053 lineto
+stroke
+newpath
+27047 57973 moveto
+44773 57973 lineto
+stroke
+newpath
+46173 57973 moveto
+46182 57973 lineto
+stroke
+newpath
+27047 57893 moveto
+44757 57893 lineto
+stroke
+newpath
+27047 57813 moveto
+44761 57813 lineto
+stroke
+newpath
+27047 57733 moveto
+44780 57733 lineto
+stroke
+newpath
+46164 57733 moveto
+46182 57733 lineto
+stroke
+newpath
+27047 57653 moveto
+44834 57653 lineto
+stroke
+newpath
+46110 57653 moveto
+46182 57653 lineto
+stroke
+newpath
+27047 57573 moveto
+44938 57573 lineto
+stroke
+newpath
+46006 57573 moveto
+46182 57573 lineto
+stroke
+newpath
+27047 57493 moveto
+45144 57493 lineto
+stroke
+newpath
+45800 57493 moveto
+46182 57493 lineto
+stroke
+newpath
+27047 57413 moveto
+45155 57413 lineto
+stroke
+newpath
+45788 57413 moveto
+46182 57413 lineto
+stroke
+newpath
+27047 57333 moveto
+28864 57333 lineto
+stroke
+newpath
+29404 57333 moveto
+30832 57333 lineto
+stroke
+newpath
+31372 57333 moveto
+45177 57333 lineto
+stroke
+newpath
+45766 57333 moveto
+46182 57333 lineto
+stroke
+newpath
+27047 57253 moveto
+28742 57253 lineto
+stroke
+newpath
+29526 57253 moveto
+30710 57253 lineto
+stroke
+newpath
+31494 57253 moveto
+45231 57253 lineto
+stroke
+newpath
+45712 57253 moveto
+46182 57253 lineto
+stroke
+newpath
+27047 57173 moveto
+27928 57173 lineto
+stroke
+newpath
+29606 57173 moveto
+30630 57173 lineto
+stroke
+newpath
+33888 57173 moveto
+45340 57173 lineto
+stroke
+newpath
+45603 57173 moveto
+46182 57173 lineto
+stroke
+newpath
+27047 57093 moveto
+27791 57093 lineto
+stroke
+newpath
+29663 57093 moveto
+30574 57093 lineto
+stroke
+newpath
+34021 57093 moveto
+46182 57093 lineto
+stroke
+newpath
+27047 57013 moveto
+27704 57013 lineto
+stroke
+newpath
+29696 57013 moveto
+30541 57013 lineto
+stroke
+newpath
+34107 57013 moveto
+46182 57013 lineto
+stroke
+newpath
+27047 56933 moveto
+27638 56933 lineto
+stroke
+newpath
+29728 56933 moveto
+30508 56933 lineto
+stroke
+newpath
+34187 56933 moveto
+46182 56933 lineto
+stroke
+newpath
+27047 56853 moveto
+27585 56853 lineto
+stroke
+newpath
+29737 56853 moveto
+30499 56853 lineto
+stroke
+newpath
+34267 56853 moveto
+46182 56853 lineto
+stroke
+newpath
+27047 56773 moveto
+27564 56773 lineto
+stroke
+newpath
+29737 56773 moveto
+30499 56773 lineto
+stroke
+newpath
+34347 56773 moveto
+46182 56773 lineto
+stroke
+newpath
+27047 56693 moveto
+27548 56693 lineto
+stroke
+newpath
+29737 56693 moveto
+30499 56693 lineto
+stroke
+newpath
+34427 56693 moveto
+46182 56693 lineto
+stroke
+newpath
+27047 56613 moveto
+27546 56613 lineto
+stroke
+newpath
+29712 56613 moveto
+30523 56613 lineto
+stroke
+newpath
+34507 56613 moveto
+46182 56613 lineto
+stroke
+newpath
+27047 56533 moveto
+27546 56533 lineto
+stroke
+newpath
+29679 56533 moveto
+30556 56533 lineto
+stroke
+newpath
+34841 56533 moveto
+35238 56533 lineto
+stroke
+newpath
+35841 56533 moveto
+46182 56533 lineto
+stroke
+newpath
+27047 56453 moveto
+27546 56453 lineto
+stroke
+newpath
+29646 56453 moveto
+30589 56453 lineto
+stroke
+newpath
+34945 56453 moveto
+35134 56453 lineto
+stroke
+newpath
+35944 56453 moveto
+46182 56453 lineto
+stroke
+newpath
+27047 56373 moveto
+27546 56373 lineto
+stroke
+newpath
+29591 56373 moveto
+30645 56373 lineto
+stroke
+newpath
+35025 56373 moveto
+35054 56373 lineto
+stroke
+newpath
+36024 56373 moveto
+46182 56373 lineto
+stroke
+newpath
+27047 56293 moveto
+27546 56293 lineto
+stroke
+newpath
+29693 56293 moveto
+30543 56293 lineto
+stroke
+newpath
+36732 56293 moveto
+38037 56293 lineto
+stroke
+newpath
+38524 56293 moveto
+39037 56293 lineto
+stroke
+newpath
+39524 56293 moveto
+46182 56293 lineto
+stroke
+newpath
+27047 56213 moveto
+27546 56213 lineto
+stroke
+newpath
+29729 56213 moveto
+30506 56213 lineto
+stroke
+newpath
+36839 56213 moveto
+37899 56213 lineto
+stroke
+newpath
+38661 56213 moveto
+38899 56213 lineto
+stroke
+newpath
+39661 56213 moveto
+46182 56213 lineto
+stroke
+newpath
+27047 56133 moveto
+27546 56133 lineto
+stroke
+newpath
+36919 56133 moveto
+37819 56133 lineto
+stroke
+newpath
+38741 56133 moveto
+38819 56133 lineto
+stroke
+newpath
+39741 56133 moveto
+46182 56133 lineto
+stroke
+newpath
+27047 56053 moveto
+27546 56053 lineto
+stroke
+newpath
+36999 56053 moveto
+37757 56053 lineto
+stroke
+newpath
+39804 56053 moveto
+46182 56053 lineto
+stroke
+newpath
+27047 55973 moveto
+27546 55973 lineto
+stroke
+newpath
+37079 55973 moveto
+37724 55973 lineto
+stroke
+newpath
+39837 55973 moveto
+46182 55973 lineto
+stroke
+newpath
+27047 55893 moveto
+27546 55893 lineto
+stroke
+newpath
+37159 55893 moveto
+37690 55893 lineto
+stroke
+newpath
+39870 55893 moveto
+46182 55893 lineto
+stroke
+newpath
+27047 55813 moveto
+27546 55813 lineto
+stroke
+newpath
+37415 55813 moveto
+37677 55813 lineto
+stroke
+newpath
+39883 55813 moveto
+46182 55813 lineto
+stroke
+newpath
+27047 55733 moveto
+27546 55733 lineto
+stroke
+newpath
+37541 55733 moveto
+37677 55733 lineto
+stroke
+newpath
+39883 55733 moveto
+46182 55733 lineto
+stroke
+newpath
+27047 55653 moveto
+27546 55653 lineto
+stroke
+newpath
+37621 55653 moveto
+37677 55653 lineto
+stroke
+newpath
+39883 55653 moveto
+46182 55653 lineto
+stroke
+newpath
+27047 55573 moveto
+27546 55573 lineto
+stroke
+newpath
+37659 55573 moveto
+37696 55573 lineto
+stroke
+newpath
+39914 55573 moveto
+46182 55573 lineto
+stroke
+newpath
+27047 55493 moveto
+27546 55493 lineto
+stroke
+newpath
+37692 55493 moveto
+37725 55493 lineto
+stroke
+newpath
+39976 55493 moveto
+46182 55493 lineto
+stroke
+newpath
+27047 55413 moveto
+27546 55413 lineto
+stroke
+newpath
+40017 55413 moveto
+46182 55413 lineto
+stroke
+newpath
+27047 55333 moveto
+27546 55333 lineto
+stroke
+newpath
+40032 55333 moveto
+46182 55333 lineto
+stroke
+newpath
+27047 55253 moveto
+27546 55253 lineto
+stroke
+newpath
+40036 55253 moveto
+46182 55253 lineto
+stroke
+newpath
+27047 55173 moveto
+27546 55173 lineto
+stroke
+newpath
+40036 55173 moveto
+46182 55173 lineto
+stroke
+newpath
+27047 55093 moveto
+27546 55093 lineto
+stroke
+newpath
+40036 55093 moveto
+46182 55093 lineto
+stroke
+newpath
+27047 55013 moveto
+27546 55013 lineto
+stroke
+newpath
+40036 55013 moveto
+46182 55013 lineto
+stroke
+newpath
+27047 54933 moveto
+27546 54933 lineto
+stroke
+newpath
+40036 54933 moveto
+46182 54933 lineto
+stroke
+newpath
+27047 54853 moveto
+27558 54853 lineto
+stroke
+newpath
+40036 54853 moveto
+46182 54853 lineto
+stroke
+newpath
+27047 54773 moveto
+27574 54773 lineto
+stroke
+newpath
+40036 54773 moveto
+46182 54773 lineto
+stroke
+newpath
+27047 54693 moveto
+27620 54693 lineto
+stroke
+newpath
+40036 54693 moveto
+46182 54693 lineto
+stroke
+newpath
+27047 54613 moveto
+27678 54613 lineto
+stroke
+newpath
+40036 54613 moveto
+46182 54613 lineto
+stroke
+newpath
+27047 54533 moveto
+27758 54533 lineto
+stroke
+newpath
+40036 54533 moveto
+46182 54533 lineto
+stroke
+newpath
+27047 54453 moveto
+27838 54453 lineto
+stroke
+newpath
+40036 54453 moveto
+46182 54453 lineto
+stroke
+newpath
+27047 54373 moveto
+27918 54373 lineto
+stroke
+newpath
+40036 54373 moveto
+46182 54373 lineto
+stroke
+newpath
+27047 54293 moveto
+27998 54293 lineto
+stroke
+newpath
+40036 54293 moveto
+46182 54293 lineto
+stroke
+newpath
+27047 54213 moveto
+28078 54213 lineto
+stroke
+newpath
+40036 54213 moveto
+46182 54213 lineto
+stroke
+newpath
+27047 54133 moveto
+28158 54133 lineto
+stroke
+newpath
+40036 54133 moveto
+46182 54133 lineto
+stroke
+newpath
+27047 54053 moveto
+28238 54053 lineto
+stroke
+newpath
+40036 54053 moveto
+46182 54053 lineto
+stroke
+newpath
+27047 53973 moveto
+28318 53973 lineto
+stroke
+newpath
+40036 53973 moveto
+46182 53973 lineto
+stroke
+newpath
+27047 53893 moveto
+28398 53893 lineto
+stroke
+newpath
+40036 53893 moveto
+46182 53893 lineto
+stroke
+newpath
+27047 53813 moveto
+28478 53813 lineto
+stroke
+newpath
+40036 53813 moveto
+46182 53813 lineto
+stroke
+newpath
+27047 53733 moveto
+28558 53733 lineto
+stroke
+newpath
+40036 53733 moveto
+46182 53733 lineto
+stroke
+newpath
+27047 53653 moveto
+28638 53653 lineto
+stroke
+newpath
+40036 53653 moveto
+46182 53653 lineto
+stroke
+newpath
+27047 53573 moveto
+28718 53573 lineto
+stroke
+newpath
+40036 53573 moveto
+46182 53573 lineto
+stroke
+newpath
+27047 53493 moveto
+28798 53493 lineto
+stroke
+newpath
+40036 53493 moveto
+46182 53493 lineto
+stroke
+newpath
+27047 53413 moveto
+28894 53413 lineto
+stroke
+newpath
+40036 53413 moveto
+46182 53413 lineto
+stroke
+newpath
+27047 53333 moveto
+29098 53333 lineto
+stroke
+newpath
+40036 53333 moveto
+46182 53333 lineto
+stroke
+newpath
+27047 53253 moveto
+29234 53253 lineto
+stroke
+newpath
+40036 53253 moveto
+46182 53253 lineto
+stroke
+newpath
+27047 53173 moveto
+29314 53173 lineto
+stroke
+newpath
+40036 53173 moveto
+46182 53173 lineto
+stroke
+newpath
+27047 53093 moveto
+29394 53093 lineto
+stroke
+newpath
+40036 53093 moveto
+46182 53093 lineto
+stroke
+newpath
+27047 53013 moveto
+29474 53013 lineto
+stroke
+newpath
+40036 53013 moveto
+46182 53013 lineto
+stroke
+newpath
+27047 52933 moveto
+29554 52933 lineto
+stroke
+newpath
+40036 52933 moveto
+46182 52933 lineto
+stroke
+newpath
+27047 52853 moveto
+29634 52853 lineto
+stroke
+newpath
+40036 52853 moveto
+46182 52853 lineto
+stroke
+newpath
+27047 52773 moveto
+29714 52773 lineto
+stroke
+newpath
+40036 52773 moveto
+46182 52773 lineto
+stroke
+newpath
+27047 52693 moveto
+29794 52693 lineto
+stroke
+newpath
+40036 52693 moveto
+46182 52693 lineto
+stroke
+newpath
+27047 52613 moveto
+29904 52613 lineto
+stroke
+newpath
+40036 52613 moveto
+46182 52613 lineto
+stroke
+newpath
+27047 52533 moveto
+32540 52533 lineto
+stroke
+newpath
+40036 52533 moveto
+46182 52533 lineto
+stroke
+newpath
+27047 52453 moveto
+32604 52453 lineto
+stroke
+newpath
+40036 52453 moveto
+46182 52453 lineto
+stroke
+newpath
+27047 52373 moveto
+32524 52373 lineto
+stroke
+newpath
+40036 52373 moveto
+46182 52373 lineto
+stroke
+newpath
+27047 52293 moveto
+32450 52293 lineto
+stroke
+newpath
+40036 52293 moveto
+46182 52293 lineto
+stroke
+newpath
+27047 52213 moveto
+32417 52213 lineto
+stroke
+newpath
+40036 52213 moveto
+46182 52213 lineto
+stroke
+newpath
+27047 52133 moveto
+32384 52133 lineto
+stroke
+newpath
+40036 52133 moveto
+46182 52133 lineto
+stroke
+newpath
+27047 52053 moveto
+32362 52053 lineto
+stroke
+newpath
+40036 52053 moveto
+46182 52053 lineto
+stroke
+newpath
+27047 51973 moveto
+32362 51973 lineto
+stroke
+newpath
+40081 51973 moveto
+46182 51973 lineto
+stroke
+newpath
+27047 51893 moveto
+32362 51893 lineto
+stroke
+newpath
+40137 51893 moveto
+46182 51893 lineto
+stroke
+newpath
+27047 51813 moveto
+32351 51813 lineto
+stroke
+newpath
+40170 51813 moveto
+46182 51813 lineto
+stroke
+newpath
+27047 51733 moveto
+32271 51733 lineto
+stroke
+newpath
+40194 51733 moveto
+46182 51733 lineto
+stroke
+newpath
+27047 51653 moveto
+32191 51653 lineto
+stroke
+newpath
+40194 51653 moveto
+46182 51653 lineto
+stroke
+newpath
+27047 51573 moveto
+32136 51573 lineto
+stroke
+newpath
+40194 51573 moveto
+46182 51573 lineto
+stroke
+newpath
+27047 51493 moveto
+32105 51493 lineto
+stroke
+newpath
+40165 51493 moveto
+46182 51493 lineto
+stroke
+newpath
+27047 51413 moveto
+32088 51413 lineto
+stroke
+newpath
+40132 51413 moveto
+46182 51413 lineto
+stroke
+newpath
+27047 51333 moveto
+32089 51333 lineto
+stroke
+newpath
+40070 51333 moveto
+46182 51333 lineto
+stroke
+newpath
+27047 51253 moveto
+32089 51253 lineto
+stroke
+newpath
+39990 51253 moveto
+46182 51253 lineto
+stroke
+newpath
+27047 51173 moveto
+32089 51173 lineto
+stroke
+newpath
+39585 51173 moveto
+39608 51173 lineto
+stroke
+newpath
+39806 51173 moveto
+46182 51173 lineto
+stroke
+newpath
+27047 51093 moveto
+32089 51093 lineto
+stroke
+newpath
+39585 51093 moveto
+46182 51093 lineto
+stroke
+newpath
+27047 51013 moveto
+32089 51013 lineto
+stroke
+newpath
+39646 51013 moveto
+46182 51013 lineto
+stroke
+newpath
+27047 50933 moveto
+32089 50933 lineto
+stroke
+newpath
+39726 50933 moveto
+46182 50933 lineto
+stroke
+newpath
+27047 50853 moveto
+32089 50853 lineto
+stroke
+newpath
+39806 50853 moveto
+46182 50853 lineto
+stroke
+newpath
+27047 50773 moveto
+32089 50773 lineto
+stroke
+newpath
+39886 50773 moveto
+46182 50773 lineto
+stroke
+newpath
+27047 50693 moveto
+32089 50693 lineto
+stroke
+newpath
+39966 50693 moveto
+46182 50693 lineto
+stroke
+newpath
+27047 50613 moveto
+32089 50613 lineto
+stroke
+newpath
+40046 50613 moveto
+46182 50613 lineto
+stroke
+newpath
+27047 50533 moveto
+32089 50533 lineto
+stroke
+newpath
+40126 50533 moveto
+46182 50533 lineto
+stroke
+newpath
+27047 50453 moveto
+32089 50453 lineto
+stroke
+newpath
+40206 50453 moveto
+46182 50453 lineto
+stroke
+newpath
+27047 50373 moveto
+32089 50373 lineto
+stroke
+newpath
+40286 50373 moveto
+46182 50373 lineto
+stroke
+newpath
+27047 50293 moveto
+32089 50293 lineto
+stroke
+newpath
+40366 50293 moveto
+46182 50293 lineto
+stroke
+newpath
+27047 50213 moveto
+32089 50213 lineto
+stroke
+newpath
+40446 50213 moveto
+46182 50213 lineto
+stroke
+newpath
+27047 50133 moveto
+32089 50133 lineto
+stroke
+newpath
+40526 50133 moveto
+46182 50133 lineto
+stroke
+newpath
+27047 50053 moveto
+32089 50053 lineto
+stroke
+newpath
+40606 50053 moveto
+46182 50053 lineto
+stroke
+newpath
+27047 49973 moveto
+32089 49973 lineto
+stroke
+newpath
+40686 49973 moveto
+46182 49973 lineto
+stroke
+newpath
+27047 49893 moveto
+32089 49893 lineto
+stroke
+newpath
+40766 49893 moveto
+46182 49893 lineto
+stroke
+newpath
+27047 49813 moveto
+32093 49813 lineto
+stroke
+newpath
+40846 49813 moveto
+46182 49813 lineto
+stroke
+newpath
+27047 49733 moveto
+32110 49733 lineto
+stroke
+newpath
+40926 49733 moveto
+46182 49733 lineto
+stroke
+newpath
+27047 49653 moveto
+32155 49653 lineto
+stroke
+newpath
+41006 49653 moveto
+46182 49653 lineto
+stroke
+newpath
+27047 49573 moveto
+32221 49573 lineto
+stroke
+newpath
+41086 49573 moveto
+46182 49573 lineto
+stroke
+newpath
+27047 49493 moveto
+32301 49493 lineto
+stroke
+newpath
+41166 49493 moveto
+46182 49493 lineto
+stroke
+newpath
+27047 49413 moveto
+32381 49413 lineto
+stroke
+newpath
+41246 49413 moveto
+46182 49413 lineto
+stroke
+newpath
+27047 49333 moveto
+32461 49333 lineto
+stroke
+newpath
+41326 49333 moveto
+46182 49333 lineto
+stroke
+newpath
+27047 49253 moveto
+32541 49253 lineto
+stroke
+newpath
+41406 49253 moveto
+46182 49253 lineto
+stroke
+newpath
+27047 49173 moveto
+32621 49173 lineto
+stroke
+newpath
+41486 49173 moveto
+46182 49173 lineto
+stroke
+newpath
+27047 49093 moveto
+32701 49093 lineto
+stroke
+newpath
+41566 49093 moveto
+46182 49093 lineto
+stroke
+newpath
+27047 49013 moveto
+32781 49013 lineto
+stroke
+newpath
+41646 49013 moveto
+46182 49013 lineto
+stroke
+newpath
+27047 48933 moveto
+32861 48933 lineto
+stroke
+newpath
+41726 48933 moveto
+46182 48933 lineto
+stroke
+newpath
+27047 48853 moveto
+32941 48853 lineto
+stroke
+newpath
+41806 48853 moveto
+46182 48853 lineto
+stroke
+newpath
+27047 48773 moveto
+33021 48773 lineto
+stroke
+newpath
+41886 48773 moveto
+42111 48773 lineto
+stroke
+newpath
+42670 48773 moveto
+46182 48773 lineto
+stroke
+newpath
+27047 48693 moveto
+33101 48693 lineto
+stroke
+newpath
+41966 48693 moveto
+42030 48693 lineto
+stroke
+newpath
+42750 48693 moveto
+46182 48693 lineto
+stroke
+newpath
+27047 48613 moveto
+33181 48613 lineto
+stroke
+newpath
+42814 48613 moveto
+46182 48613 lineto
+stroke
+newpath
+27047 48533 moveto
+33261 48533 lineto
+stroke
+newpath
+42847 48533 moveto
+46182 48533 lineto
+stroke
+newpath
+27047 48453 moveto
+33341 48453 lineto
+stroke
+newpath
+42876 48453 moveto
+46182 48453 lineto
+stroke
+newpath
+27047 48373 moveto
+33421 48373 lineto
+stroke
+newpath
+42876 48373 moveto
+46182 48373 lineto
+stroke
+newpath
+27047 48293 moveto
+33501 48293 lineto
+stroke
+newpath
+42928 48293 moveto
+46182 48293 lineto
+stroke
+newpath
+27047 48213 moveto
+33581 48213 lineto
+stroke
+newpath
+43008 48213 moveto
+46182 48213 lineto
+stroke
+newpath
+27047 48133 moveto
+33661 48133 lineto
+stroke
+newpath
+43088 48133 moveto
+46182 48133 lineto
+stroke
+newpath
+27047 48053 moveto
+33741 48053 lineto
+stroke
+newpath
+43168 48053 moveto
+46182 48053 lineto
+stroke
+newpath
+27047 47973 moveto
+33821 47973 lineto
+stroke
+newpath
+43248 47973 moveto
+46182 47973 lineto
+stroke
+newpath
+27047 47893 moveto
+33901 47893 lineto
+stroke
+newpath
+43328 47893 moveto
+46182 47893 lineto
+stroke
+newpath
+27047 47813 moveto
+33981 47813 lineto
+stroke
+newpath
+43408 47813 moveto
+46182 47813 lineto
+stroke
+newpath
+27047 47733 moveto
+34061 47733 lineto
+stroke
+newpath
+43488 47733 moveto
+46182 47733 lineto
+stroke
+newpath
+27047 47653 moveto
+34141 47653 lineto
+stroke
+newpath
+43553 47653 moveto
+46182 47653 lineto
+stroke
+newpath
+27047 47573 moveto
+34221 47573 lineto
+stroke
+newpath
+43598 47573 moveto
+46182 47573 lineto
+stroke
+newpath
+27047 47493 moveto
+34301 47493 lineto
+stroke
+newpath
+43613 47493 moveto
+46182 47493 lineto
+stroke
+newpath
+27047 47413 moveto
+34381 47413 lineto
+stroke
+newpath
+43619 47413 moveto
+46182 47413 lineto
+stroke
+newpath
+27047 47333 moveto
+34461 47333 lineto
+stroke
+newpath
+43619 47333 moveto
+46182 47333 lineto
+stroke
+newpath
+27047 47253 moveto
+34541 47253 lineto
+stroke
+newpath
+43619 47253 moveto
+46182 47253 lineto
+stroke
+newpath
+27047 47173 moveto
+34621 47173 lineto
+stroke
+newpath
+43619 47173 moveto
+46182 47173 lineto
+stroke
+newpath
+27047 47093 moveto
+34701 47093 lineto
+stroke
+newpath
+43619 47093 moveto
+46182 47093 lineto
+stroke
+newpath
+27047 47013 moveto
+34781 47013 lineto
+stroke
+newpath
+43619 47013 moveto
+46182 47013 lineto
+stroke
+newpath
+27047 46933 moveto
+32994 46933 lineto
+stroke
+newpath
+33308 46933 moveto
+34861 46933 lineto
+stroke
+newpath
+43619 46933 moveto
+46182 46933 lineto
+stroke
+newpath
+27047 46853 moveto
+32844 46853 lineto
+stroke
+newpath
+33457 46853 moveto
+34941 46853 lineto
+stroke
+newpath
+43619 46853 moveto
+46182 46853 lineto
+stroke
+newpath
+27047 46773 moveto
+32764 46773 lineto
+stroke
+newpath
+33537 46773 moveto
+35021 46773 lineto
+stroke
+newpath
+43619 46773 moveto
+46182 46773 lineto
+stroke
+newpath
+27047 46693 moveto
+32716 46693 lineto
+stroke
+newpath
+33585 46693 moveto
+35101 46693 lineto
+stroke
+newpath
+41156 46693 moveto
+41230 46693 lineto
+stroke
+newpath
+43619 46693 moveto
+46182 46693 lineto
+stroke
+newpath
+27047 46613 moveto
+32683 46613 lineto
+stroke
+newpath
+33618 46613 moveto
+35181 46613 lineto
+stroke
+newpath
+41076 46613 moveto
+41230 46613 lineto
+stroke
+newpath
+43619 46613 moveto
+46182 46613 lineto
+stroke
+newpath
+27047 46533 moveto
+32664 46533 lineto
+stroke
+newpath
+33636 46533 moveto
+35261 46533 lineto
+stroke
+newpath
+40996 46533 moveto
+41230 46533 lineto
+stroke
+newpath
+43619 46533 moveto
+46182 46533 lineto
+stroke
+newpath
+27047 46453 moveto
+32664 46453 lineto
+stroke
+newpath
+33636 46453 moveto
+35341 46453 lineto
+stroke
+newpath
+40916 46453 moveto
+41230 46453 lineto
+stroke
+newpath
+43619 46453 moveto
+46182 46453 lineto
+stroke
+newpath
+27047 46373 moveto
+32665 46373 lineto
+stroke
+newpath
+33635 46373 moveto
+35421 46373 lineto
+stroke
+newpath
+40836 46373 moveto
+41230 46373 lineto
+stroke
+newpath
+43619 46373 moveto
+46182 46373 lineto
+stroke
+newpath
+27047 46293 moveto
+32698 46293 lineto
+stroke
+newpath
+33602 46293 moveto
+35501 46293 lineto
+stroke
+newpath
+40756 46293 moveto
+41230 46293 lineto
+stroke
+newpath
+43619 46293 moveto
+46182 46293 lineto
+stroke
+newpath
+27047 46213 moveto
+32731 46213 lineto
+stroke
+newpath
+33569 46213 moveto
+35581 46213 lineto
+stroke
+newpath
+40676 46213 moveto
+41230 46213 lineto
+stroke
+newpath
+43619 46213 moveto
+46182 46213 lineto
+stroke
+newpath
+27047 46133 moveto
+32802 46133 lineto
+stroke
+newpath
+33498 46133 moveto
+35661 46133 lineto
+stroke
+newpath
+40596 46133 moveto
+41230 46133 lineto
+stroke
+newpath
+43619 46133 moveto
+46182 46133 lineto
+stroke
+newpath
+27047 46053 moveto
+32821 46053 lineto
+stroke
+newpath
+33479 46053 moveto
+35741 46053 lineto
+stroke
+newpath
+40516 46053 moveto
+41230 46053 lineto
+stroke
+newpath
+43619 46053 moveto
+46182 46053 lineto
+stroke
+newpath
+27047 45973 moveto
+32821 45973 lineto
+stroke
+newpath
+33479 45973 moveto
+35821 45973 lineto
+stroke
+newpath
+40453 45973 moveto
+41230 45973 lineto
+stroke
+newpath
+43619 45973 moveto
+46182 45973 lineto
+stroke
+newpath
+27047 45893 moveto
+32821 45893 lineto
+stroke
+newpath
+33479 45893 moveto
+35901 45893 lineto
+stroke
+newpath
+40453 45893 moveto
+41230 45893 lineto
+stroke
+newpath
+43619 45893 moveto
+46182 45893 lineto
+stroke
+newpath
+27047 45813 moveto
+32821 45813 lineto
+stroke
+newpath
+33479 45813 moveto
+35981 45813 lineto
+stroke
+newpath
+40453 45813 moveto
+41230 45813 lineto
+stroke
+newpath
+43606 45813 moveto
+46182 45813 lineto
+stroke
+newpath
+27047 45733 moveto
+32821 45733 lineto
+stroke
+newpath
+33479 45733 moveto
+36061 45733 lineto
+stroke
+newpath
+40453 45733 moveto
+41230 45733 lineto
+stroke
+newpath
+43586 45733 moveto
+46182 45733 lineto
+stroke
+newpath
+27047 45653 moveto
+32821 45653 lineto
+stroke
+newpath
+33479 45653 moveto
+36141 45653 lineto
+stroke
+newpath
+40451 45653 moveto
+41230 45653 lineto
+stroke
+newpath
+43532 45653 moveto
+46182 45653 lineto
+stroke
+newpath
+27047 45573 moveto
+32821 45573 lineto
+stroke
+newpath
+33479 45573 moveto
+36221 45573 lineto
+stroke
+newpath
+40435 45573 moveto
+41230 45573 lineto
+stroke
+newpath
+43456 45573 moveto
+46182 45573 lineto
+stroke
+newpath
+27047 45493 moveto
+32821 45493 lineto
+stroke
+newpath
+33479 45493 moveto
+36301 45493 lineto
+stroke
+newpath
+40401 45493 moveto
+41230 45493 lineto
+stroke
+newpath
+43376 45493 moveto
+46182 45493 lineto
+stroke
+newpath
+27047 45413 moveto
+32821 45413 lineto
+stroke
+newpath
+33479 45413 moveto
+36381 45413 lineto
+stroke
+newpath
+40342 45413 moveto
+41230 45413 lineto
+stroke
+newpath
+43296 45413 moveto
+46182 45413 lineto
+stroke
+newpath
+27047 45333 moveto
+32821 45333 lineto
+stroke
+newpath
+33479 45333 moveto
+36461 45333 lineto
+stroke
+newpath
+40262 45333 moveto
+41230 45333 lineto
+stroke
+newpath
+43216 45333 moveto
+46182 45333 lineto
+stroke
+newpath
+27047 45253 moveto
+32821 45253 lineto
+stroke
+newpath
+33479 45253 moveto
+36541 45253 lineto
+stroke
+newpath
+40258 45253 moveto
+41230 45253 lineto
+stroke
+newpath
+43136 45253 moveto
+46182 45253 lineto
+stroke
+newpath
+27047 45173 moveto
+32821 45173 lineto
+stroke
+newpath
+33479 45173 moveto
+36621 45173 lineto
+stroke
+newpath
+40291 45173 moveto
+41230 45173 lineto
+stroke
+newpath
+43056 45173 moveto
+46182 45173 lineto
+stroke
+newpath
+27047 45093 moveto
+32821 45093 lineto
+stroke
+newpath
+33479 45093 moveto
+36701 45093 lineto
+stroke
+newpath
+40310 45093 moveto
+41230 45093 lineto
+stroke
+newpath
+43074 45093 moveto
+46182 45093 lineto
+stroke
+newpath
+27047 45013 moveto
+32821 45013 lineto
+stroke
+newpath
+33479 45013 moveto
+36781 45013 lineto
+stroke
+newpath
+40310 45013 moveto
+41230 45013 lineto
+stroke
+newpath
+43114 45013 moveto
+46182 45013 lineto
+stroke
+newpath
+27047 44933 moveto
+32821 44933 lineto
+stroke
+newpath
+33479 44933 moveto
+36861 44933 lineto
+stroke
+newpath
+40309 44933 moveto
+41230 44933 lineto
+stroke
+newpath
+43123 44933 moveto
+46182 44933 lineto
+stroke
+newpath
+27047 44853 moveto
+32821 44853 lineto
+stroke
+newpath
+33479 44853 moveto
+36941 44853 lineto
+stroke
+newpath
+40276 44853 moveto
+41230 44853 lineto
+stroke
+newpath
+43123 44853 moveto
+46182 44853 lineto
+stroke
+newpath
+27047 44773 moveto
+32821 44773 lineto
+stroke
+newpath
+33479 44773 moveto
+37033 44773 lineto
+stroke
+newpath
+40243 44773 moveto
+41230 44773 lineto
+stroke
+newpath
+43123 44773 moveto
+46182 44773 lineto
+stroke
+newpath
+27047 44693 moveto
+32821 44693 lineto
+stroke
+newpath
+33479 44693 moveto
+33990 44693 lineto
+stroke
+newpath
+34241 44693 moveto
+34990 44693 lineto
+stroke
+newpath
+35241 44693 moveto
+35990 44693 lineto
+stroke
+newpath
+36241 44693 moveto
+36990 44693 lineto
+stroke
+newpath
+37241 44693 moveto
+37990 44693 lineto
+stroke
+newpath
+38241 44693 moveto
+39474 44693 lineto
+stroke
+newpath
+40173 44693 moveto
+41230 44693 lineto
+stroke
+newpath
+43123 44693 moveto
+46182 44693 lineto
+stroke
+newpath
+27047 44613 moveto
+32821 44613 lineto
+stroke
+newpath
+33479 44613 moveto
+33795 44613 lineto
+stroke
+newpath
+34433 44613 moveto
+34795 44613 lineto
+stroke
+newpath
+35433 44613 moveto
+35795 44613 lineto
+stroke
+newpath
+36433 44613 moveto
+36795 44613 lineto
+stroke
+newpath
+37433 44613 moveto
+37795 44613 lineto
+stroke
+newpath
+38433 44613 moveto
+38580 44613 lineto
+stroke
+newpath
+40084 44613 moveto
+41230 44613 lineto
+stroke
+newpath
+43123 44613 moveto
+46182 44613 lineto
+stroke
+newpath
+27047 44533 moveto
+32821 44533 lineto
+stroke
+newpath
+33479 44533 moveto
+33700 44533 lineto
+stroke
+newpath
+34528 44533 moveto
+34700 44533 lineto
+stroke
+newpath
+35528 44533 moveto
+35700 44533 lineto
+stroke
+newpath
+36528 44533 moveto
+36700 44533 lineto
+stroke
+newpath
+37528 44533 moveto
+37700 44533 lineto
+stroke
+newpath
+39700 44533 moveto
+41232 44533 lineto
+stroke
+newpath
+43123 44533 moveto
+46182 44533 lineto
+stroke
+newpath
+27047 44453 moveto
+32821 44453 lineto
+stroke
+newpath
+33479 44453 moveto
+33620 44453 lineto
+stroke
+newpath
+34608 44453 moveto
+34620 44453 lineto
+stroke
+newpath
+35608 44453 moveto
+35620 44453 lineto
+stroke
+newpath
+36608 44453 moveto
+36620 44453 lineto
+stroke
+newpath
+37608 44453 moveto
+37619 44453 lineto
+stroke
+newpath
+39717 44453 moveto
+41248 44453 lineto
+stroke
+newpath
+43123 44453 moveto
+46182 44453 lineto
+stroke
+newpath
+27047 44373 moveto
+32821 44373 lineto
+stroke
+newpath
+33517 44373 moveto
+33574 44373 lineto
+stroke
+newpath
+39717 44373 moveto
+41287 44373 lineto
+stroke
+newpath
+43123 44373 moveto
+46182 44373 lineto
+stroke
+newpath
+27047 44293 moveto
+32821 44293 lineto
+stroke
+newpath
+39717 44293 moveto
+41348 44293 lineto
+stroke
+newpath
+43123 44293 moveto
+46182 44293 lineto
+stroke
+newpath
+27047 44213 moveto
+32832 44213 lineto
+stroke
+newpath
+39717 44213 moveto
+41428 44213 lineto
+stroke
+newpath
+43123 44213 moveto
+46182 44213 lineto
+stroke
+newpath
+27047 44133 moveto
+32855 44133 lineto
+stroke
+newpath
+39717 44133 moveto
+41508 44133 lineto
+stroke
+newpath
+43102 44133 moveto
+46182 44133 lineto
+stroke
+newpath
+27047 44053 moveto
+32909 44053 lineto
+stroke
+newpath
+39717 44053 moveto
+41588 44053 lineto
+stroke
+newpath
+43046 44053 moveto
+46182 44053 lineto
+stroke
+newpath
+27047 43973 moveto
+32985 43973 lineto
+stroke
+newpath
+39717 43973 moveto
+41668 43973 lineto
+stroke
+newpath
+42987 43973 moveto
+46182 43973 lineto
+stroke
+newpath
+27047 43893 moveto
+33065 43893 lineto
+stroke
+newpath
+39717 43893 moveto
+41748 43893 lineto
+stroke
+newpath
+43047 43893 moveto
+46182 43893 lineto
+stroke
+newpath
+27047 43813 moveto
+33145 43813 lineto
+stroke
+newpath
+39717 43813 moveto
+41828 43813 lineto
+stroke
+newpath
+43080 43813 moveto
+46182 43813 lineto
+stroke
+newpath
+27047 43733 moveto
+33225 43733 lineto
+stroke
+newpath
+39717 43733 moveto
+41908 43733 lineto
+stroke
+newpath
+43112 43733 moveto
+46182 43733 lineto
+stroke
+newpath
+27047 43653 moveto
+33305 43653 lineto
+stroke
+newpath
+34540 43653 moveto
+34688 43653 lineto
+stroke
+newpath
+35540 43653 moveto
+35688 43653 lineto
+stroke
+newpath
+36539 43653 moveto
+36687 43653 lineto
+stroke
+newpath
+37540 43653 moveto
+37688 43653 lineto
+stroke
+newpath
+39704 43653 moveto
+41917 43653 lineto
+stroke
+newpath
+43123 43653 moveto
+46182 43653 lineto
+stroke
+newpath
+27047 43573 moveto
+33385 43573 lineto
+stroke
+newpath
+34460 43573 moveto
+34768 43573 lineto
+stroke
+newpath
+35460 43573 moveto
+35768 43573 lineto
+stroke
+newpath
+36459 43573 moveto
+36767 43573 lineto
+stroke
+newpath
+37460 43573 moveto
+37768 43573 lineto
+stroke
+newpath
+38459 43573 moveto
+38568 43573 lineto
+stroke
+newpath
+39660 43573 moveto
+41917 43573 lineto
+stroke
+newpath
+43123 43573 moveto
+46182 43573 lineto
+stroke
+newpath
+27047 43493 moveto
+33465 43493 lineto
+stroke
+newpath
+34537 43493 moveto
+34958 43493 lineto
+stroke
+newpath
+35268 43493 moveto
+35958 43493 lineto
+stroke
+newpath
+36268 43493 moveto
+36958 43493 lineto
+stroke
+newpath
+37268 43493 moveto
+37958 43493 lineto
+stroke
+newpath
+38268 43493 moveto
+38688 43493 lineto
+stroke
+newpath
+39538 43493 moveto
+41917 43493 lineto
+stroke
+newpath
+43123 43493 moveto
+46182 43493 lineto
+stroke
+newpath
+27047 43413 moveto
+33545 43413 lineto
+stroke
+newpath
+34699 43413 moveto
+41939 43413 lineto
+stroke
+newpath
+43100 43413 moveto
+46182 43413 lineto
+stroke
+newpath
+27047 43333 moveto
+33625 43333 lineto
+stroke
+newpath
+34779 43333 moveto
+41972 43333 lineto
+stroke
+newpath
+43067 43333 moveto
+46182 43333 lineto
+stroke
+newpath
+27047 43253 moveto
+33705 43253 lineto
+stroke
+newpath
+34832 43253 moveto
+42005 43253 lineto
+stroke
+newpath
+43034 43253 moveto
+46182 43253 lineto
+stroke
+newpath
+27047 43173 moveto
+33785 43173 lineto
+stroke
+newpath
+34865 43173 moveto
+42081 43173 lineto
+stroke
+newpath
+42959 43173 moveto
+46182 43173 lineto
+stroke
+newpath
+27047 43093 moveto
+33865 43093 lineto
+stroke
+newpath
+34887 43093 moveto
+42161 43093 lineto
+stroke
+newpath
+42879 43093 moveto
+46182 43093 lineto
+stroke
+newpath
+27047 43013 moveto
+33915 43013 lineto
+stroke
+newpath
+34887 43013 moveto
+42329 43013 lineto
+stroke
+newpath
+42709 43013 moveto
+46182 43013 lineto
+stroke
+newpath
+27047 42933 moveto
+33915 42933 lineto
+stroke
+newpath
+34887 42933 moveto
+46182 42933 lineto
+stroke
+newpath
+27047 42853 moveto
+33945 42853 lineto
+stroke
+newpath
+34856 42853 moveto
+46182 42853 lineto
+stroke
+newpath
+27047 42773 moveto
+33978 42773 lineto
+stroke
+newpath
+34823 42773 moveto
+46182 42773 lineto
+stroke
+newpath
+27047 42693 moveto
+34043 42693 lineto
+stroke
+newpath
+34758 42693 moveto
+46182 42693 lineto
+stroke
+newpath
+27047 42613 moveto
+34123 42613 lineto
+stroke
+newpath
+34678 42613 moveto
+46182 42613 lineto
+stroke
+newpath
+27047 42533 moveto
+46182 42533 lineto
+stroke
+newpath
+27047 42453 moveto
+46182 42453 lineto
+stroke
+newpath
+27047 42373 moveto
+46182 42373 lineto
+stroke
+newpath
+27047 42293 moveto
+46182 42293 lineto
+stroke
+newpath
+27047 42213 moveto
+46182 42213 lineto
+stroke
+newpath
+27047 42133 moveto
+46182 42133 lineto
+stroke
+newpath
+27047 42053 moveto
+46182 42053 lineto
+stroke
+newpath
+27047 41973 moveto
+46182 41973 lineto
+stroke
+newpath
+27047 41893 moveto
+46182 41893 lineto
+stroke
+newpath
+27047 41813 moveto
+46182 41813 lineto
+stroke
+newpath
+27047 41733 moveto
+46182 41733 lineto
+stroke
+newpath
+27047 41653 moveto
+46182 41653 lineto
+stroke
+newpath
+27047 41573 moveto
+46182 41573 lineto
+stroke
+newpath
+27047 41493 moveto
+46182 41493 lineto
+stroke
+newpath
+27047 41413 moveto
+46182 41413 lineto
+stroke
+newpath
+27047 41333 moveto
+46182 41333 lineto
+stroke
+newpath
+27047 41253 moveto
+27494 41253 lineto
+stroke
+newpath
+27625 41253 moveto
+45407 41253 lineto
+stroke
+newpath
+45538 41253 moveto
+46182 41253 lineto
+stroke
+newpath
+27047 41173 moveto
+27332 41173 lineto
+stroke
+newpath
+27787 41173 moveto
+45245 41173 lineto
+stroke
+newpath
+45700 41173 moveto
+46182 41173 lineto
+stroke
+newpath
+27047 41093 moveto
+27276 41093 lineto
+stroke
+newpath
+27843 41093 moveto
+45189 41093 lineto
+stroke
+newpath
+45756 41093 moveto
+46182 41093 lineto
+stroke
+newpath
+27047 41013 moveto
+27246 41013 lineto
+stroke
+newpath
+27873 41013 moveto
+45159 41013 lineto
+stroke
+newpath
+45786 41013 moveto
+46182 41013 lineto
+stroke
+newpath
+27047 40933 moveto
+27231 40933 lineto
+stroke
+newpath
+27887 40933 moveto
+45144 40933 lineto
+stroke
+newpath
+45800 40933 moveto
+46182 40933 lineto
+stroke
+newpath
+27047 40853 moveto
+27068 40853 lineto
+stroke
+newpath
+28049 40853 moveto
+44984 40853 lineto
+stroke
+newpath
+45962 40853 moveto
+46182 40853 lineto
+stroke
+newpath
+28188 40773 moveto
+44845 40773 lineto
+stroke
+newpath
+46101 40773 moveto
+46182 40773 lineto
+stroke
+newpath
+28241 40693 moveto
+44792 40693 lineto
+stroke
+newpath
+46154 40693 moveto
+46182 40693 lineto
+stroke
+newpath
+28268 40613 moveto
+44765 40613 lineto
+stroke
+newpath
+46181 40613 moveto
+46182 40613 lineto
+stroke
+newpath
+28278 40533 moveto
+44753 40533 lineto
+stroke
+newpath
+28262 40453 moveto
+44769 40453 lineto
+stroke
+newpath
+46175 40453 moveto
+46182 40453 lineto
+stroke
+newpath
+28225 40373 moveto
+44806 40373 lineto
+stroke
+newpath
+46138 40373 moveto
+46182 40373 lineto
+stroke
+newpath
+28156 40293 moveto
+44875 40293 lineto
+stroke
+newpath
+46069 40293 moveto
+46182 40293 lineto
+stroke
+newpath
+27047 40213 moveto
+27202 40213 lineto
+stroke
+newpath
+27915 40213 moveto
+45115 40213 lineto
+stroke
+newpath
+45828 40213 moveto
+46182 40213 lineto
+stroke
+newpath
+27047 40133 moveto
+27234 40133 lineto
+stroke
+newpath
+27883 40133 moveto
+45147 40133 lineto
+stroke
+newpath
+45796 40133 moveto
+46182 40133 lineto
+stroke
+newpath
+27047 40053 moveto
+27250 40053 lineto
+stroke
+newpath
+27867 40053 moveto
+45163 40053 lineto
+stroke
+newpath
+45780 40053 moveto
+46182 40053 lineto
+stroke
+newpath
+27047 39973 moveto
+27290 39973 lineto
+stroke
+newpath
+27827 39973 moveto
+45203 39973 lineto
+stroke
+newpath
+45740 39973 moveto
+46182 39973 lineto
+stroke
+newpath
+27047 39893 moveto
+27364 39893 lineto
+stroke
+newpath
+27753 39893 moveto
+45277 39893 lineto
+stroke
+newpath
+45666 39893 moveto
+46182 39893 lineto
+stroke
+newpath
+27047 39813 moveto
+46182 39813 lineto
+stroke
+newpath
+27047 39733 moveto
+46182 39733 lineto
+stroke
+newpath
+27047 39653 moveto
+46182 39653 lineto
+stroke
+newpath
+42764 47526 moveto
+42764 47526 lineto
+stroke
+newpath
+42764 47446 moveto
+42844 47446 lineto
+stroke
+newpath
+42762 47366 moveto
+42924 47366 lineto
+stroke
+newpath
+42729 47286 moveto
+42961 47286 lineto
+stroke
+newpath
+42696 47206 moveto
+42961 47206 lineto
+stroke
+newpath
+42624 47126 moveto
+42961 47126 lineto
+stroke
+newpath
+42531 47046 moveto
+42961 47046 lineto
+stroke
+newpath
+42170 46966 moveto
+42961 46966 lineto
+stroke
+newpath
+42090 46886 moveto
+42961 46886 lineto
+stroke
+newpath
+42010 46806 moveto
+42961 46806 lineto
+stroke
+newpath
+41930 46726 moveto
+42961 46726 lineto
+stroke
+newpath
+41888 46646 moveto
+42961 46646 lineto
+stroke
+newpath
+41888 46566 moveto
+42961 46566 lineto
+stroke
+newpath
+41888 46486 moveto
+42961 46486 lineto
+stroke
+newpath
+41888 46406 moveto
+42961 46406 lineto
+stroke
+newpath
+41888 46326 moveto
+42961 46326 lineto
+stroke
+newpath
+41888 46246 moveto
+42961 46246 lineto
+stroke
+newpath
+41888 46166 moveto
+42961 46166 lineto
+stroke
+newpath
+41888 46086 moveto
+42961 46086 lineto
+stroke
+newpath
+41888 46006 moveto
+42959 46006 lineto
+stroke
+newpath
+41888 45926 moveto
+42879 45926 lineto
+stroke
+newpath
+41888 45846 moveto
+42799 45846 lineto
+stroke
+newpath
+41888 45766 moveto
+42719 45766 lineto
+stroke
+newpath
+41888 45686 moveto
+42639 45686 lineto
+stroke
+newpath
+41888 45606 moveto
+42559 45606 lineto
+stroke
+newpath
+41888 45526 moveto
+42479 45526 lineto
+stroke
+newpath
+41888 45446 moveto
+42399 45446 lineto
+stroke
+newpath
+41888 45366 moveto
+42319 45366 lineto
+stroke
+newpath
+41888 45286 moveto
+42256 45286 lineto
+stroke
+newpath
+41888 45206 moveto
+42212 45206 lineto
+stroke
+newpath
+41888 45126 moveto
+41999 45126 lineto
+stroke
+newpath
+41888 45046 moveto
+41940 45046 lineto
+stroke
+newpath
+41888 44966 moveto
+41917 44966 lineto
+stroke
+newpath
+41888 44886 moveto
+41917 44886 lineto
+stroke
+newpath
+41888 44806 moveto
+41917 44806 lineto
+stroke
+newpath
+41888 44726 moveto
+41917 44726 lineto
+stroke
+newpath
+33377 50521 moveto
+33377 50521 lineto
+stroke
+newpath
+33315 50441 moveto
+33425 50441 lineto
+stroke
+newpath
+33385 50361 moveto
+33553 50361 lineto
+stroke
+newpath
+33418 50281 moveto
+33636 50281 lineto
+stroke
+newpath
+33451 50201 moveto
+33636 50201 lineto
+stroke
+newpath
+33451 50121 moveto
+33636 50121 lineto
+stroke
+newpath
+33451 50041 moveto
+33636 50041 lineto
+stroke
+newpath
+33432 49961 moveto
+33636 49961 lineto
+stroke
+newpath
+33399 49881 moveto
+33636 49881 lineto
+stroke
+newpath
+33350 49801 moveto
+33636 49801 lineto
+stroke
+newpath
+33270 49721 moveto
+33636 49721 lineto
+stroke
+newpath
+33116 49641 moveto
+33636 49641 lineto
+stroke
+newpath
+33165 49561 moveto
+33648 49561 lineto
+stroke
+newpath
+33245 49481 moveto
+33672 49481 lineto
+stroke
+newpath
+33325 49401 moveto
+33725 49401 lineto
+stroke
+newpath
+33405 49321 moveto
+33802 49321 lineto
+stroke
+newpath
+33485 49241 moveto
+33882 49241 lineto
+stroke
+newpath
+33565 49161 moveto
+33962 49161 lineto
+stroke
+newpath
+33645 49081 moveto
+34042 49081 lineto
+stroke
+newpath
+33725 49001 moveto
+34122 49001 lineto
+stroke
+newpath
+33805 48921 moveto
+34202 48921 lineto
+stroke
+newpath
+33885 48841 moveto
+34282 48841 lineto
+stroke
+newpath
+33965 48761 moveto
+34362 48761 lineto
+stroke
+newpath
+34045 48681 moveto
+34442 48681 lineto
+stroke
+newpath
+34125 48601 moveto
+34522 48601 lineto
+stroke
+newpath
+34205 48521 moveto
+34602 48521 lineto
+stroke
+newpath
+34285 48441 moveto
+34682 48441 lineto
+stroke
+newpath
+34365 48361 moveto
+34762 48361 lineto
+stroke
+newpath
+34445 48281 moveto
+34842 48281 lineto
+stroke
+newpath
+34525 48201 moveto
+34922 48201 lineto
+stroke
+newpath
+34605 48121 moveto
+35002 48121 lineto
+stroke
+newpath
+34685 48041 moveto
+35082 48041 lineto
+stroke
+newpath
+34765 47961 moveto
+35162 47961 lineto
+stroke
+newpath
+34845 47881 moveto
+35242 47881 lineto
+stroke
+newpath
+34925 47801 moveto
+35322 47801 lineto
+stroke
+newpath
+35005 47721 moveto
+35402 47721 lineto
+stroke
+newpath
+35085 47641 moveto
+35482 47641 lineto
+stroke
+newpath
+35165 47561 moveto
+35562 47561 lineto
+stroke
+newpath
+35245 47481 moveto
+35642 47481 lineto
+stroke
+newpath
+35325 47401 moveto
+35722 47401 lineto
+stroke
+newpath
+35405 47321 moveto
+35802 47321 lineto
+stroke
+newpath
+35485 47241 moveto
+35882 47241 lineto
+stroke
+newpath
+35565 47161 moveto
+35962 47161 lineto
+stroke
+newpath
+35645 47081 moveto
+36042 47081 lineto
+stroke
+newpath
+35725 47001 moveto
+36122 47001 lineto
+stroke
+newpath
+35805 46921 moveto
+36202 46921 lineto
+stroke
+newpath
+35885 46841 moveto
+36282 46841 lineto
+stroke
+newpath
+35965 46761 moveto
+36362 46761 lineto
+stroke
+newpath
+36045 46681 moveto
+36442 46681 lineto
+stroke
+newpath
+36125 46601 moveto
+36522 46601 lineto
+stroke
+newpath
+36205 46521 moveto
+36602 46521 lineto
+stroke
+newpath
+36285 46441 moveto
+36682 46441 lineto
+stroke
+newpath
+36365 46361 moveto
+36762 46361 lineto
+stroke
+newpath
+36445 46281 moveto
+36842 46281 lineto
+stroke
+newpath
+36525 46201 moveto
+36922 46201 lineto
+stroke
+newpath
+36605 46121 moveto
+37002 46121 lineto
+stroke
+newpath
+36685 46041 moveto
+37082 46041 lineto
+stroke
+newpath
+36765 45961 moveto
+37162 45961 lineto
+stroke
+newpath
+36845 45881 moveto
+37242 45881 lineto
+stroke
+newpath
+36925 45801 moveto
+37322 45801 lineto
+stroke
+newpath
+37005 45721 moveto
+37402 45721 lineto
+stroke
+newpath
+37085 45641 moveto
+37482 45641 lineto
+stroke
+newpath
+37165 45561 moveto
+37562 45561 lineto
+stroke
+newpath
+37245 45481 moveto
+37642 45481 lineto
+stroke
+newpath
+37325 45401 moveto
+37722 45401 lineto
+stroke
+newpath
+38927 51255 moveto
+38927 51255 lineto
+stroke
+newpath
+38717 51175 moveto
+38927 51175 lineto
+stroke
+newpath
+38637 51095 moveto
+38927 51095 lineto
+stroke
+newpath
+38557 51015 moveto
+38927 51015 lineto
+stroke
+newpath
+38477 50935 moveto
+38926 50935 lineto
+stroke
+newpath
+38397 50855 moveto
+38942 50855 lineto
+stroke
+newpath
+38317 50775 moveto
+38975 50775 lineto
+stroke
+newpath
+38237 50695 moveto
+39032 50695 lineto
+stroke
+newpath
+38157 50615 moveto
+39112 50615 lineto
+stroke
+newpath
+38077 50535 moveto
+39192 50535 lineto
+stroke
+newpath
+37997 50455 moveto
+39272 50455 lineto
+stroke
+newpath
+37917 50375 moveto
+39352 50375 lineto
+stroke
+newpath
+37837 50295 moveto
+39432 50295 lineto
+stroke
+newpath
+37757 50215 moveto
+39512 50215 lineto
+stroke
+newpath
+37677 50135 moveto
+39592 50135 lineto
+stroke
+newpath
+37597 50055 moveto
+39672 50055 lineto
+stroke
+newpath
+37517 49975 moveto
+39752 49975 lineto
+stroke
+newpath
+37437 49895 moveto
+39832 49895 lineto
+stroke
+newpath
+37357 49815 moveto
+39912 49815 lineto
+stroke
+newpath
+37277 49735 moveto
+39992 49735 lineto
+stroke
+newpath
+37197 49655 moveto
+40072 49655 lineto
+stroke
+newpath
+37117 49575 moveto
+40152 49575 lineto
+stroke
+newpath
+37023 49495 moveto
+40232 49495 lineto
+stroke
+newpath
+36152 49415 moveto
+40312 49415 lineto
+stroke
+newpath
+36057 49335 moveto
+40392 49335 lineto
+stroke
+newpath
+35631 49255 moveto
+40472 49255 lineto
+stroke
+newpath
+35561 49175 moveto
+40552 49175 lineto
+stroke
+newpath
+35472 49095 moveto
+40632 49095 lineto
+stroke
+newpath
+35379 49015 moveto
+40712 49015 lineto
+stroke
+newpath
+35459 48935 moveto
+40792 48935 lineto
+stroke
+newpath
+35539 48855 moveto
+40872 48855 lineto
+stroke
+newpath
+35619 48775 moveto
+40952 48775 lineto
+stroke
+newpath
+35699 48695 moveto
+41032 48695 lineto
+stroke
+newpath
+35779 48615 moveto
+41112 48615 lineto
+stroke
+newpath
+35859 48535 moveto
+41192 48535 lineto
+stroke
+newpath
+35939 48455 moveto
+41272 48455 lineto
+stroke
+newpath
+36019 48375 moveto
+41352 48375 lineto
+stroke
+newpath
+36099 48295 moveto
+41432 48295 lineto
+stroke
+newpath
+36179 48215 moveto
+41512 48215 lineto
+stroke
+newpath
+36259 48135 moveto
+41445 48135 lineto
+stroke
+newpath
+36339 48055 moveto
+41380 48055 lineto
+stroke
+newpath
+36419 47975 moveto
+41347 47975 lineto
+stroke
+newpath
+36499 47895 moveto
+41315 47895 lineto
+stroke
+newpath
+36579 47815 moveto
+41315 47815 lineto
+stroke
+newpath
+36659 47735 moveto
+41267 47735 lineto
+stroke
+newpath
+36739 47655 moveto
+41187 47655 lineto
+stroke
+newpath
+36819 47575 moveto
+41107 47575 lineto
+stroke
+newpath
+36899 47495 moveto
+41027 47495 lineto
+stroke
+newpath
+36979 47415 moveto
+40947 47415 lineto
+stroke
+newpath
+37059 47335 moveto
+40867 47335 lineto
+stroke
+newpath
+37139 47255 moveto
+40787 47255 lineto
+stroke
+newpath
+37219 47175 moveto
+40707 47175 lineto
+stroke
+newpath
+37299 47095 moveto
+40627 47095 lineto
+stroke
+newpath
+37379 47015 moveto
+40547 47015 lineto
+stroke
+newpath
+37459 46935 moveto
+40467 46935 lineto
+stroke
+newpath
+37539 46855 moveto
+40387 46855 lineto
+stroke
+newpath
+37619 46775 moveto
+40307 46775 lineto
+stroke
+newpath
+37699 46695 moveto
+40227 46695 lineto
+stroke
+newpath
+37779 46615 moveto
+40147 46615 lineto
+stroke
+newpath
+37859 46535 moveto
+40067 46535 lineto
+stroke
+newpath
+37939 46455 moveto
+39987 46455 lineto
+stroke
+newpath
+38019 46375 moveto
+39907 46375 lineto
+stroke
+newpath
+38099 46295 moveto
+39472 46295 lineto
+stroke
+newpath
+38179 46215 moveto
+39348 46215 lineto
+stroke
+newpath
+34481 52632 moveto
+36951 52632 lineto
+stroke
+newpath
+34408 52552 moveto
+36778 52552 lineto
+stroke
+newpath
+34327 52472 moveto
+36610 52472 lineto
+stroke
+newpath
+34387 52392 moveto
+36530 52392 lineto
+stroke
+newpath
+34467 52312 moveto
+36474 52312 lineto
+stroke
+newpath
+34506 52232 moveto
+36441 52232 lineto
+stroke
+newpath
+34539 52152 moveto
+36417 52152 lineto
+stroke
+newpath
+34568 52072 moveto
+36417 52072 lineto
+stroke
+newpath
+34568 51992 moveto
+36351 51992 lineto
+stroke
+newpath
+34568 51912 moveto
+36271 51912 lineto
+stroke
+newpath
+34564 51832 moveto
+36191 51832 lineto
+stroke
+newpath
+34640 51752 moveto
+36111 51752 lineto
+stroke
+newpath
+34718 51672 moveto
+36031 51672 lineto
+stroke
+newpath
+34771 51592 moveto
+35951 51592 lineto
+stroke
+newpath
+34796 51512 moveto
+35871 51512 lineto
+stroke
+newpath
+34809 51432 moveto
+35791 51432 lineto
+stroke
+newpath
+34809 51352 moveto
+35711 51352 lineto
+stroke
+newpath
+34809 51272 moveto
+35631 51272 lineto
+stroke
+newpath
+34809 51192 moveto
+35551 51192 lineto
+stroke
+newpath
+34809 51112 moveto
+35471 51112 lineto
+stroke
+newpath
+34809 51032 moveto
+35391 51032 lineto
+stroke
+newpath
+34809 50952 moveto
+35311 50952 lineto
+stroke
+newpath
+34809 50872 moveto
+35231 50872 lineto
+stroke
+newpath
+34809 50792 moveto
+35151 50792 lineto
+stroke
+newpath
+34809 50712 moveto
+35071 50712 lineto
+stroke
+newpath
+34809 50632 moveto
+34991 50632 lineto
+stroke
+newpath
+34809 50552 moveto
+34934 50552 lineto
+stroke
+newpath
+34809 50472 moveto
+34900 50472 lineto
+stroke
+newpath
+34809 50392 moveto
+34884 50392 lineto
+stroke
+newpath
+34809 50312 moveto
+34883 50312 lineto
+stroke
+newpath
+34809 50232 moveto
+34883 50232 lineto
+stroke
+newpath
+34809 50152 moveto
+34883 50152 lineto
+stroke
+newpath
+34809 50072 moveto
+34883 50072 lineto
+stroke
+newpath
+34809 49992 moveto
+34883 49992 lineto
+stroke
+newpath
+34809 49912 moveto
+34883 49912 lineto
+stroke
+newpath
+34809 49832 moveto
+34843 49832 lineto
+stroke
+newpath
+35031 54453 moveto
+35031 54453 lineto
+stroke
+newpath
+34951 54373 moveto
+36110 54373 lineto
+stroke
+newpath
+34871 54293 moveto
+36202 54293 lineto
+stroke
+newpath
+34791 54213 moveto
+36382 54213 lineto
+stroke
+newpath
+34711 54133 moveto
+37422 54133 lineto
+stroke
+newpath
+34631 54053 moveto
+37502 54053 lineto
+stroke
+newpath
+34551 53973 moveto
+37582 53973 lineto
+stroke
+newpath
+34471 53893 moveto
+37662 53893 lineto
+stroke
+newpath
+34391 53813 moveto
+37742 53813 lineto
+stroke
+newpath
+34311 53733 moveto
+37822 53733 lineto
+stroke
+newpath
+34231 53653 moveto
+37902 53653 lineto
+stroke
+newpath
+34151 53573 moveto
+37982 53573 lineto
+stroke
+newpath
+34257 53493 moveto
+38062 53493 lineto
+stroke
+newpath
+34366 53413 moveto
+38142 53413 lineto
+stroke
+newpath
+34446 53333 moveto
+38222 53333 lineto
+stroke
+newpath
+37326 53253 moveto
+38302 53253 lineto
+stroke
+newpath
+37578 53173 moveto
+38382 53173 lineto
+stroke
+newpath
+37737 53093 moveto
+38462 53093 lineto
+stroke
+newpath
+37817 53013 moveto
+38542 53013 lineto
+stroke
+newpath
+37869 52933 moveto
+38622 52933 lineto
+stroke
+newpath
+37902 52853 moveto
+38702 52853 lineto
+stroke
+newpath
+37923 52773 moveto
+38782 52773 lineto
+stroke
+newpath
+37923 52693 moveto
+38862 52693 lineto
+stroke
+newpath
+37923 52613 moveto
+38927 52613 lineto
+stroke
+newpath
+37891 52533 moveto
+38927 52533 lineto
+stroke
+newpath
+37858 52453 moveto
+38927 52453 lineto
+stroke
+newpath
+37792 52373 moveto
+38927 52373 lineto
+stroke
+newpath
+37712 52293 moveto
+38927 52293 lineto
+stroke
+newpath
+37373 52213 moveto
+38703 52213 lineto
+stroke
+newpath
+38915 52213 moveto
+38927 52213 lineto
+stroke
+newpath
+37389 52133 moveto
+38523 52133 lineto
+stroke
+newpath
+37389 52053 moveto
+38443 52053 lineto
+stroke
+newpath
+37385 51973 moveto
+38382 51973 lineto
+stroke
+newpath
+37352 51893 moveto
+38349 51893 lineto
+stroke
+newpath
+37319 51813 moveto
+38322 51813 lineto
+stroke
+newpath
+37245 51733 moveto
+38322 51733 lineto
+stroke
+newpath
+37146 51653 moveto
+38264 51653 lineto
+stroke
+newpath
+36863 51573 moveto
+38184 51573 lineto
+stroke
+newpath
+36783 51493 moveto
+38104 51493 lineto
+stroke
+newpath
+36703 51413 moveto
+38024 51413 lineto
+stroke
+newpath
+36623 51333 moveto
+37944 51333 lineto
+stroke
+newpath
+36543 51253 moveto
+37864 51253 lineto
+stroke
+newpath
+36463 51173 moveto
+37784 51173 lineto
+stroke
+newpath
+36383 51093 moveto
+37704 51093 lineto
+stroke
+newpath
+36303 51013 moveto
+37624 51013 lineto
+stroke
+newpath
+36223 50933 moveto
+37544 50933 lineto
+stroke
+newpath
+36143 50853 moveto
+37464 50853 lineto
+stroke
+newpath
+36063 50773 moveto
+37384 50773 lineto
+stroke
+newpath
+35983 50693 moveto
+37304 50693 lineto
+stroke
+newpath
+35903 50613 moveto
+37224 50613 lineto
+stroke
+newpath
+35823 50533 moveto
+37144 50533 lineto
+stroke
+newpath
+35743 50453 moveto
+37064 50453 lineto
+stroke
+newpath
+35663 50373 moveto
+36984 50373 lineto
+stroke
+newpath
+35583 50293 moveto
+36904 50293 lineto
+stroke
+newpath
+35541 50213 moveto
+35639 50213 lineto
+stroke
+newpath
+35977 50213 moveto
+36824 50213 lineto
+stroke
+newpath
+36119 50133 moveto
+36744 50133 lineto
+stroke
+newpath
+33464 51609 moveto
+33464 51609 lineto
+stroke
+newpath
+33384 51529 moveto
+33478 51529 lineto
+stroke
+newpath
+33330 51449 moveto
+33398 51449 lineto
+stroke
+newpath
+33465 52608 moveto
+33465 52608 lineto
+stroke
+newpath
+33385 52528 moveto
+33545 52528 lineto
+stroke
+newpath
+33331 52448 moveto
+33597 52448 lineto
+stroke
+newpath
+33411 52368 moveto
+33517 52368 lineto
+stroke
+newpath
+38780 55389 moveto
+38780 55389 lineto
+stroke
+newpath
+38700 55309 moveto
+38859 55309 lineto
+stroke
+newpath
+38621 55229 moveto
+38940 55229 lineto
+stroke
+newpath
+38533 55149 moveto
+39132 55149 lineto
+stroke
+newpath
+38453 55069 moveto
+39378 55069 lineto
+stroke
+newpath
+38373 54989 moveto
+39378 54989 lineto
+stroke
+newpath
+38293 54909 moveto
+39378 54909 lineto
+stroke
+newpath
+38213 54829 moveto
+39378 54829 lineto
+stroke
+newpath
+38133 54749 moveto
+39378 54749 lineto
+stroke
+newpath
+38053 54669 moveto
+39378 54669 lineto
+stroke
+newpath
+37973 54589 moveto
+39378 54589 lineto
+stroke
+newpath
+37978 54509 moveto
+39378 54509 lineto
+stroke
+newpath
+38058 54429 moveto
+39378 54429 lineto
+stroke
+newpath
+38138 54349 moveto
+39378 54349 lineto
+stroke
+newpath
+38218 54269 moveto
+39378 54269 lineto
+stroke
+newpath
+38298 54189 moveto
+39378 54189 lineto
+stroke
+newpath
+38378 54109 moveto
+39378 54109 lineto
+stroke
+newpath
+38458 54029 moveto
+39378 54029 lineto
+stroke
+newpath
+38538 53949 moveto
+39378 53949 lineto
+stroke
+newpath
+38618 53869 moveto
+39378 53869 lineto
+stroke
+newpath
+38698 53789 moveto
+39378 53789 lineto
+stroke
+newpath
+38778 53709 moveto
+39378 53709 lineto
+stroke
+newpath
+38858 53629 moveto
+39378 53629 lineto
+stroke
+newpath
+38938 53549 moveto
+39378 53549 lineto
+stroke
+newpath
+39018 53469 moveto
+39378 53469 lineto
+stroke
+newpath
+39098 53389 moveto
+39378 53389 lineto
+stroke
+newpath
+39178 53309 moveto
+39378 53309 lineto
+stroke
+newpath
+39258 53229 moveto
+39378 53229 lineto
+stroke
+newpath
+39338 53149 moveto
+39378 53149 lineto
+stroke
+newpath
+28360 56385 moveto
+28688 56385 lineto
+stroke
+newpath
+28360 56305 moveto
+28587 56305 lineto
+stroke
+newpath
+31649 56305 moveto
+33662 56305 lineto
+stroke
+newpath
+28360 56225 moveto
+28544 56225 lineto
+stroke
+newpath
+31693 56225 moveto
+33742 56225 lineto
+stroke
+newpath
+28360 56145 moveto
+28531 56145 lineto
+stroke
+newpath
+31705 56145 moveto
+33822 56145 lineto
+stroke
+newpath
+28360 56065 moveto
+28531 56065 lineto
+stroke
+newpath
+31705 56065 moveto
+33902 56065 lineto
+stroke
+newpath
+28360 55985 moveto
+28531 55985 lineto
+stroke
+newpath
+31705 55985 moveto
+33936 55985 lineto
+stroke
+newpath
+28360 55905 moveto
+28531 55905 lineto
+stroke
+newpath
+31705 55905 moveto
+33936 55905 lineto
+stroke
+newpath
+28360 55825 moveto
+28531 55825 lineto
+stroke
+newpath
+31705 55825 moveto
+33961 55825 lineto
+stroke
+newpath
+28360 55745 moveto
+28531 55745 lineto
+stroke
+newpath
+31705 55745 moveto
+33993 55745 lineto
+stroke
+newpath
+28360 55665 moveto
+28531 55665 lineto
+stroke
+newpath
+31705 55665 moveto
+34026 55665 lineto
+stroke
+newpath
+28360 55585 moveto
+28531 55585 lineto
+stroke
+newpath
+31705 55585 moveto
+34106 55585 lineto
+stroke
+newpath
+34972 55585 moveto
+35080 55585 lineto
+stroke
+newpath
+28360 55505 moveto
+28531 55505 lineto
+stroke
+newpath
+31705 55505 moveto
+34186 55505 lineto
+stroke
+newpath
+34892 55505 moveto
+34979 55505 lineto
+stroke
+newpath
+28360 55425 moveto
+28531 55425 lineto
+stroke
+newpath
+31705 55425 moveto
+34362 55425 lineto
+stroke
+newpath
+34714 55425 moveto
+34943 55425 lineto
+stroke
+newpath
+28360 55345 moveto
+28549 55345 lineto
+stroke
+newpath
+29718 55345 moveto
+30517 55345 lineto
+stroke
+newpath
+31687 55345 moveto
+34799 55345 lineto
+stroke
+newpath
+28360 55265 moveto
+28601 55265 lineto
+stroke
+newpath
+29667 55265 moveto
+30569 55265 lineto
+stroke
+newpath
+31635 55265 moveto
+34693 55265 lineto
+stroke
+newpath
+28360 55185 moveto
+34613 55185 lineto
+stroke
+newpath
+28360 55105 moveto
+34533 55105 lineto
+stroke
+newpath
+28418 55025 moveto
+34453 55025 lineto
+stroke
+newpath
+28498 54945 moveto
+34373 54945 lineto
+stroke
+newpath
+28578 54865 moveto
+34293 54865 lineto
+stroke
+newpath
+28658 54785 moveto
+34213 54785 lineto
+stroke
+newpath
+28738 54705 moveto
+34133 54705 lineto
+stroke
+newpath
+28818 54625 moveto
+34053 54625 lineto
+stroke
+newpath
+28898 54545 moveto
+33973 54545 lineto
+stroke
+newpath
+28978 54465 moveto
+33893 54465 lineto
+stroke
+newpath
+29058 54385 moveto
+33813 54385 lineto
+stroke
+newpath
+29138 54305 moveto
+33733 54305 lineto
+stroke
+newpath
+29218 54225 moveto
+33653 54225 lineto
+stroke
+newpath
+29298 54145 moveto
+33573 54145 lineto
+stroke
+newpath
+29552 54065 moveto
+33493 54065 lineto
+stroke
+newpath
+29654 53985 moveto
+33413 53985 lineto
+stroke
+newpath
+29734 53905 moveto
+33333 53905 lineto
+stroke
+newpath
+29814 53825 moveto
+33253 53825 lineto
+stroke
+newpath
+29894 53745 moveto
+33173 53745 lineto
+stroke
+newpath
+29974 53665 moveto
+33093 53665 lineto
+stroke
+newpath
+30054 53585 moveto
+33013 53585 lineto
+stroke
+newpath
+30134 53505 moveto
+32703 53505 lineto
+stroke
+newpath
+30214 53425 moveto
+32576 53425 lineto
+stroke
+newpath
+36055 55676 moveto
+36444 55676 lineto
+stroke
+newpath
+35982 55596 moveto
+36524 55596 lineto
+stroke
+newpath
+36088 55516 moveto
+36604 55516 lineto
+stroke
+newpath
+36131 55436 moveto
+36684 55436 lineto
+stroke
+newpath
+36248 55356 moveto
+36732 55356 lineto
+stroke
+newpath
+36359 55276 moveto
+36732 55276 lineto
+stroke
+newpath
+36439 55196 moveto
+36763 55196 lineto
+stroke
+newpath
+36519 55116 moveto
+36796 55116 lineto
+stroke
+newpath
+36599 55036 moveto
+36862 55036 lineto
+stroke
+newpath
+39378 53109 moveto
+39378 55138 lineto
+39159 55138 lineto
+38938 55230 lineto
+38780 55389 lineto
+38621 55229 lineto
+38590 55217 lineto
+38568 55183 lineto
+37935 54551 lineto
+39378 53109 lineto
+poly0
+newpath
+27047 58773 moveto
+46182 58773 lineto
+stroke
+newpath
+27047 58693 moveto
+46182 58693 lineto
+stroke
+newpath
+27047 58613 moveto
+46182 58613 lineto
+stroke
+newpath
+27047 58533 moveto
+45302 58533 lineto
+stroke
+newpath
+45643 58533 moveto
+46182 58533 lineto
+stroke
+newpath
+27047 58453 moveto
+45214 58453 lineto
+stroke
+newpath
+45731 58453 moveto
+46182 58453 lineto
+stroke
+newpath
+27047 58373 moveto
+45167 58373 lineto
+stroke
+newpath
+45778 58373 moveto
+46182 58373 lineto
+stroke
+newpath
+27047 58293 moveto
+45151 58293 lineto
+stroke
+newpath
+45794 58293 moveto
+46182 58293 lineto
+stroke
+newpath
+27047 58213 moveto
+45131 58213 lineto
+stroke
+newpath
+45813 58213 moveto
+46182 58213 lineto
+stroke
+newpath
+27047 58133 moveto
+44900 58133 lineto
+stroke
+newpath
+46046 58133 moveto
+46182 58133 lineto
+stroke
+newpath
+27047 58053 moveto
+44817 58053 lineto
+stroke
+newpath
+46129 58053 moveto
+46182 58053 lineto
+stroke
+newpath
+27047 57973 moveto
+44773 57973 lineto
+stroke
+newpath
+46173 57973 moveto
+46182 57973 lineto
+stroke
+newpath
+27047 57893 moveto
+44757 57893 lineto
+stroke
+newpath
+27047 57813 moveto
+44761 57813 lineto
+stroke
+newpath
+27047 57733 moveto
+44780 57733 lineto
+stroke
+newpath
+46164 57733 moveto
+46182 57733 lineto
+stroke
+newpath
+27047 57653 moveto
+44834 57653 lineto
+stroke
+newpath
+46110 57653 moveto
+46182 57653 lineto
+stroke
+newpath
+27047 57573 moveto
+44938 57573 lineto
+stroke
+newpath
+46006 57573 moveto
+46182 57573 lineto
+stroke
+newpath
+27047 57493 moveto
+45144 57493 lineto
+stroke
+newpath
+45800 57493 moveto
+46182 57493 lineto
+stroke
+newpath
+27047 57413 moveto
+45155 57413 lineto
+stroke
+newpath
+45788 57413 moveto
+46182 57413 lineto
+stroke
+newpath
+27047 57333 moveto
+28864 57333 lineto
+stroke
+newpath
+29404 57333 moveto
+30832 57333 lineto
+stroke
+newpath
+31372 57333 moveto
+45177 57333 lineto
+stroke
+newpath
+45766 57333 moveto
+46182 57333 lineto
+stroke
+newpath
+27047 57253 moveto
+28742 57253 lineto
+stroke
+newpath
+29526 57253 moveto
+30710 57253 lineto
+stroke
+newpath
+31494 57253 moveto
+45231 57253 lineto
+stroke
+newpath
+45712 57253 moveto
+46182 57253 lineto
+stroke
+newpath
+27047 57173 moveto
+27928 57173 lineto
+stroke
+newpath
+29606 57173 moveto
+30630 57173 lineto
+stroke
+newpath
+33888 57173 moveto
+45340 57173 lineto
+stroke
+newpath
+45603 57173 moveto
+46182 57173 lineto
+stroke
+newpath
+27047 57093 moveto
+27791 57093 lineto
+stroke
+newpath
+29663 57093 moveto
+30574 57093 lineto
+stroke
+newpath
+34021 57093 moveto
+46182 57093 lineto
+stroke
+newpath
+27047 57013 moveto
+27704 57013 lineto
+stroke
+newpath
+29696 57013 moveto
+30541 57013 lineto
+stroke
+newpath
+34107 57013 moveto
+46182 57013 lineto
+stroke
+newpath
+27047 56933 moveto
+27638 56933 lineto
+stroke
+newpath
+29728 56933 moveto
+30508 56933 lineto
+stroke
+newpath
+34187 56933 moveto
+46182 56933 lineto
+stroke
+newpath
+27047 56853 moveto
+27585 56853 lineto
+stroke
+newpath
+29737 56853 moveto
+30499 56853 lineto
+stroke
+newpath
+34267 56853 moveto
+46182 56853 lineto
+stroke
+newpath
+27047 56773 moveto
+27564 56773 lineto
+stroke
+newpath
+29737 56773 moveto
+30499 56773 lineto
+stroke
+newpath
+34347 56773 moveto
+46182 56773 lineto
+stroke
+newpath
+27047 56693 moveto
+27548 56693 lineto
+stroke
+newpath
+29737 56693 moveto
+30499 56693 lineto
+stroke
+newpath
+34427 56693 moveto
+46182 56693 lineto
+stroke
+newpath
+27047 56613 moveto
+27546 56613 lineto
+stroke
+newpath
+29712 56613 moveto
+30523 56613 lineto
+stroke
+newpath
+34507 56613 moveto
+46182 56613 lineto
+stroke
+newpath
+27047 56533 moveto
+27546 56533 lineto
+stroke
+newpath
+29679 56533 moveto
+30556 56533 lineto
+stroke
+newpath
+34841 56533 moveto
+35238 56533 lineto
+stroke
+newpath
+35841 56533 moveto
+46182 56533 lineto
+stroke
+newpath
+27047 56453 moveto
+27546 56453 lineto
+stroke
+newpath
+29646 56453 moveto
+30589 56453 lineto
+stroke
+newpath
+34945 56453 moveto
+35134 56453 lineto
+stroke
+newpath
+35944 56453 moveto
+46182 56453 lineto
+stroke
+newpath
+27047 56373 moveto
+27546 56373 lineto
+stroke
+newpath
+29591 56373 moveto
+30645 56373 lineto
+stroke
+newpath
+35025 56373 moveto
+35054 56373 lineto
+stroke
+newpath
+36024 56373 moveto
+46182 56373 lineto
+stroke
+newpath
+27047 56293 moveto
+27546 56293 lineto
+stroke
+newpath
+29693 56293 moveto
+30543 56293 lineto
+stroke
+newpath
+36732 56293 moveto
+38037 56293 lineto
+stroke
+newpath
+38524 56293 moveto
+39037 56293 lineto
+stroke
+newpath
+39524 56293 moveto
+46182 56293 lineto
+stroke
+newpath
+27047 56213 moveto
+27546 56213 lineto
+stroke
+newpath
+29729 56213 moveto
+30506 56213 lineto
+stroke
+newpath
+36839 56213 moveto
+37899 56213 lineto
+stroke
+newpath
+38661 56213 moveto
+38899 56213 lineto
+stroke
+newpath
+39661 56213 moveto
+46182 56213 lineto
+stroke
+newpath
+27047 56133 moveto
+27546 56133 lineto
+stroke
+newpath
+36919 56133 moveto
+37819 56133 lineto
+stroke
+newpath
+38741 56133 moveto
+38819 56133 lineto
+stroke
+newpath
+39741 56133 moveto
+46182 56133 lineto
+stroke
+newpath
+27047 56053 moveto
+27546 56053 lineto
+stroke
+newpath
+36999 56053 moveto
+37757 56053 lineto
+stroke
+newpath
+39804 56053 moveto
+46182 56053 lineto
+stroke
+newpath
+27047 55973 moveto
+27546 55973 lineto
+stroke
+newpath
+37079 55973 moveto
+37724 55973 lineto
+stroke
+newpath
+39837 55973 moveto
+46182 55973 lineto
+stroke
+newpath
+27047 55893 moveto
+27546 55893 lineto
+stroke
+newpath
+37159 55893 moveto
+37690 55893 lineto
+stroke
+newpath
+39870 55893 moveto
+46182 55893 lineto
+stroke
+newpath
+27047 55813 moveto
+27546 55813 lineto
+stroke
+newpath
+37415 55813 moveto
+37677 55813 lineto
+stroke
+newpath
+39883 55813 moveto
+46182 55813 lineto
+stroke
+newpath
+27047 55733 moveto
+27546 55733 lineto
+stroke
+newpath
+37541 55733 moveto
+37677 55733 lineto
+stroke
+newpath
+39883 55733 moveto
+46182 55733 lineto
+stroke
+newpath
+27047 55653 moveto
+27546 55653 lineto
+stroke
+newpath
+37621 55653 moveto
+37677 55653 lineto
+stroke
+newpath
+39883 55653 moveto
+46182 55653 lineto
+stroke
+newpath
+27047 55573 moveto
+27546 55573 lineto
+stroke
+newpath
+37659 55573 moveto
+37696 55573 lineto
+stroke
+newpath
+39914 55573 moveto
+46182 55573 lineto
+stroke
+newpath
+27047 55493 moveto
+27546 55493 lineto
+stroke
+newpath
+37692 55493 moveto
+37725 55493 lineto
+stroke
+newpath
+39976 55493 moveto
+46182 55493 lineto
+stroke
+newpath
+27047 55413 moveto
+27546 55413 lineto
+stroke
+newpath
+40017 55413 moveto
+46182 55413 lineto
+stroke
+newpath
+27047 55333 moveto
+27546 55333 lineto
+stroke
+newpath
+40032 55333 moveto
+46182 55333 lineto
+stroke
+newpath
+27047 55253 moveto
+27546 55253 lineto
+stroke
+newpath
+40036 55253 moveto
+46182 55253 lineto
+stroke
+newpath
+27047 55173 moveto
+27546 55173 lineto
+stroke
+newpath
+40036 55173 moveto
+46182 55173 lineto
+stroke
+newpath
+27047 55093 moveto
+27546 55093 lineto
+stroke
+newpath
+40036 55093 moveto
+46182 55093 lineto
+stroke
+newpath
+27047 55013 moveto
+27546 55013 lineto
+stroke
+newpath
+40036 55013 moveto
+46182 55013 lineto
+stroke
+newpath
+27047 54933 moveto
+27546 54933 lineto
+stroke
+newpath
+40036 54933 moveto
+46182 54933 lineto
+stroke
+newpath
+27047 54853 moveto
+27558 54853 lineto
+stroke
+newpath
+40036 54853 moveto
+46182 54853 lineto
+stroke
+newpath
+27047 54773 moveto
+27574 54773 lineto
+stroke
+newpath
+40036 54773 moveto
+46182 54773 lineto
+stroke
+newpath
+27047 54693 moveto
+27620 54693 lineto
+stroke
+newpath
+40036 54693 moveto
+46182 54693 lineto
+stroke
+newpath
+27047 54613 moveto
+27678 54613 lineto
+stroke
+newpath
+40036 54613 moveto
+46182 54613 lineto
+stroke
+newpath
+27047 54533 moveto
+27758 54533 lineto
+stroke
+newpath
+40036 54533 moveto
+46182 54533 lineto
+stroke
+newpath
+27047 54453 moveto
+27838 54453 lineto
+stroke
+newpath
+40036 54453 moveto
+46182 54453 lineto
+stroke
+newpath
+27047 54373 moveto
+27918 54373 lineto
+stroke
+newpath
+40036 54373 moveto
+46182 54373 lineto
+stroke
+newpath
+27047 54293 moveto
+27998 54293 lineto
+stroke
+newpath
+40036 54293 moveto
+46182 54293 lineto
+stroke
+newpath
+27047 54213 moveto
+28078 54213 lineto
+stroke
+newpath
+40036 54213 moveto
+46182 54213 lineto
+stroke
+newpath
+27047 54133 moveto
+28158 54133 lineto
+stroke
+newpath
+40036 54133 moveto
+46182 54133 lineto
+stroke
+newpath
+27047 54053 moveto
+28238 54053 lineto
+stroke
+newpath
+40036 54053 moveto
+46182 54053 lineto
+stroke
+newpath
+27047 53973 moveto
+28318 53973 lineto
+stroke
+newpath
+40036 53973 moveto
+46182 53973 lineto
+stroke
+newpath
+27047 53893 moveto
+28398 53893 lineto
+stroke
+newpath
+40036 53893 moveto
+46182 53893 lineto
+stroke
+newpath
+27047 53813 moveto
+28478 53813 lineto
+stroke
+newpath
+40036 53813 moveto
+46182 53813 lineto
+stroke
+newpath
+27047 53733 moveto
+28558 53733 lineto
+stroke
+newpath
+40036 53733 moveto
+46182 53733 lineto
+stroke
+newpath
+27047 53653 moveto
+28638 53653 lineto
+stroke
+newpath
+40036 53653 moveto
+46182 53653 lineto
+stroke
+newpath
+27047 53573 moveto
+28718 53573 lineto
+stroke
+newpath
+40036 53573 moveto
+46182 53573 lineto
+stroke
+newpath
+27047 53493 moveto
+28798 53493 lineto
+stroke
+newpath
+40036 53493 moveto
+46182 53493 lineto
+stroke
+newpath
+27047 53413 moveto
+28894 53413 lineto
+stroke
+newpath
+40036 53413 moveto
+46182 53413 lineto
+stroke
+newpath
+27047 53333 moveto
+29098 53333 lineto
+stroke
+newpath
+40036 53333 moveto
+46182 53333 lineto
+stroke
+newpath
+27047 53253 moveto
+29234 53253 lineto
+stroke
+newpath
+40036 53253 moveto
+46182 53253 lineto
+stroke
+newpath
+27047 53173 moveto
+29314 53173 lineto
+stroke
+newpath
+40036 53173 moveto
+46182 53173 lineto
+stroke
+newpath
+27047 53093 moveto
+29394 53093 lineto
+stroke
+newpath
+40036 53093 moveto
+46182 53093 lineto
+stroke
+newpath
+27047 53013 moveto
+29474 53013 lineto
+stroke
+newpath
+40036 53013 moveto
+46182 53013 lineto
+stroke
+newpath
+27047 52933 moveto
+29554 52933 lineto
+stroke
+newpath
+40036 52933 moveto
+46182 52933 lineto
+stroke
+newpath
+27047 52853 moveto
+29634 52853 lineto
+stroke
+newpath
+40036 52853 moveto
+46182 52853 lineto
+stroke
+newpath
+27047 52773 moveto
+29714 52773 lineto
+stroke
+newpath
+40036 52773 moveto
+46182 52773 lineto
+stroke
+newpath
+27047 52693 moveto
+29794 52693 lineto
+stroke
+newpath
+40036 52693 moveto
+46182 52693 lineto
+stroke
+newpath
+27047 52613 moveto
+29904 52613 lineto
+stroke
+newpath
+40036 52613 moveto
+46182 52613 lineto
+stroke
+newpath
+27047 52533 moveto
+32540 52533 lineto
+stroke
+newpath
+40036 52533 moveto
+46182 52533 lineto
+stroke
+newpath
+27047 52453 moveto
+32604 52453 lineto
+stroke
+newpath
+40036 52453 moveto
+46182 52453 lineto
+stroke
+newpath
+27047 52373 moveto
+32524 52373 lineto
+stroke
+newpath
+40036 52373 moveto
+46182 52373 lineto
+stroke
+newpath
+27047 52293 moveto
+32450 52293 lineto
+stroke
+newpath
+40036 52293 moveto
+46182 52293 lineto
+stroke
+newpath
+27047 52213 moveto
+32417 52213 lineto
+stroke
+newpath
+40036 52213 moveto
+46182 52213 lineto
+stroke
+newpath
+27047 52133 moveto
+32384 52133 lineto
+stroke
+newpath
+40036 52133 moveto
+46182 52133 lineto
+stroke
+newpath
+27047 52053 moveto
+32362 52053 lineto
+stroke
+newpath
+40036 52053 moveto
+46182 52053 lineto
+stroke
+newpath
+27047 51973 moveto
+32362 51973 lineto
+stroke
+newpath
+40081 51973 moveto
+46182 51973 lineto
+stroke
+newpath
+27047 51893 moveto
+32362 51893 lineto
+stroke
+newpath
+40137 51893 moveto
+46182 51893 lineto
+stroke
+newpath
+27047 51813 moveto
+32351 51813 lineto
+stroke
+newpath
+40170 51813 moveto
+46182 51813 lineto
+stroke
+newpath
+27047 51733 moveto
+32271 51733 lineto
+stroke
+newpath
+40194 51733 moveto
+46182 51733 lineto
+stroke
+newpath
+27047 51653 moveto
+32191 51653 lineto
+stroke
+newpath
+40194 51653 moveto
+46182 51653 lineto
+stroke
+newpath
+27047 51573 moveto
+32136 51573 lineto
+stroke
+newpath
+40194 51573 moveto
+46182 51573 lineto
+stroke
+newpath
+27047 51493 moveto
+32105 51493 lineto
+stroke
+newpath
+40165 51493 moveto
+46182 51493 lineto
+stroke
+newpath
+27047 51413 moveto
+32088 51413 lineto
+stroke
+newpath
+40132 51413 moveto
+46182 51413 lineto
+stroke
+newpath
+27047 51333 moveto
+32089 51333 lineto
+stroke
+newpath
+40070 51333 moveto
+46182 51333 lineto
+stroke
+newpath
+27047 51253 moveto
+32089 51253 lineto
+stroke
+newpath
+39990 51253 moveto
+46182 51253 lineto
+stroke
+newpath
+27047 51173 moveto
+32089 51173 lineto
+stroke
+newpath
+39585 51173 moveto
+39608 51173 lineto
+stroke
+newpath
+39806 51173 moveto
+46182 51173 lineto
+stroke
+newpath
+27047 51093 moveto
+32089 51093 lineto
+stroke
+newpath
+39585 51093 moveto
+46182 51093 lineto
+stroke
+newpath
+27047 51013 moveto
+32089 51013 lineto
+stroke
+newpath
+39646 51013 moveto
+46182 51013 lineto
+stroke
+newpath
+27047 50933 moveto
+32089 50933 lineto
+stroke
+newpath
+39726 50933 moveto
+46182 50933 lineto
+stroke
+newpath
+27047 50853 moveto
+32089 50853 lineto
+stroke
+newpath
+39806 50853 moveto
+46182 50853 lineto
+stroke
+newpath
+27047 50773 moveto
+32089 50773 lineto
+stroke
+newpath
+39886 50773 moveto
+46182 50773 lineto
+stroke
+newpath
+27047 50693 moveto
+32089 50693 lineto
+stroke
+newpath
+39966 50693 moveto
+46182 50693 lineto
+stroke
+newpath
+27047 50613 moveto
+32089 50613 lineto
+stroke
+newpath
+40046 50613 moveto
+46182 50613 lineto
+stroke
+newpath
+27047 50533 moveto
+32089 50533 lineto
+stroke
+newpath
+40126 50533 moveto
+46182 50533 lineto
+stroke
+newpath
+27047 50453 moveto
+32089 50453 lineto
+stroke
+newpath
+40206 50453 moveto
+46182 50453 lineto
+stroke
+newpath
+27047 50373 moveto
+32089 50373 lineto
+stroke
+newpath
+40286 50373 moveto
+46182 50373 lineto
+stroke
+newpath
+27047 50293 moveto
+32089 50293 lineto
+stroke
+newpath
+40366 50293 moveto
+46182 50293 lineto
+stroke
+newpath
+27047 50213 moveto
+32089 50213 lineto
+stroke
+newpath
+40446 50213 moveto
+46182 50213 lineto
+stroke
+newpath
+27047 50133 moveto
+32089 50133 lineto
+stroke
+newpath
+40526 50133 moveto
+46182 50133 lineto
+stroke
+newpath
+27047 50053 moveto
+32089 50053 lineto
+stroke
+newpath
+40606 50053 moveto
+46182 50053 lineto
+stroke
+newpath
+27047 49973 moveto
+32089 49973 lineto
+stroke
+newpath
+40686 49973 moveto
+46182 49973 lineto
+stroke
+newpath
+27047 49893 moveto
+32089 49893 lineto
+stroke
+newpath
+40766 49893 moveto
+46182 49893 lineto
+stroke
+newpath
+27047 49813 moveto
+32093 49813 lineto
+stroke
+newpath
+40846 49813 moveto
+46182 49813 lineto
+stroke
+newpath
+27047 49733 moveto
+32110 49733 lineto
+stroke
+newpath
+40926 49733 moveto
+46182 49733 lineto
+stroke
+newpath
+27047 49653 moveto
+32155 49653 lineto
+stroke
+newpath
+41006 49653 moveto
+46182 49653 lineto
+stroke
+newpath
+27047 49573 moveto
+32221 49573 lineto
+stroke
+newpath
+41086 49573 moveto
+46182 49573 lineto
+stroke
+newpath
+27047 49493 moveto
+32301 49493 lineto
+stroke
+newpath
+41166 49493 moveto
+46182 49493 lineto
+stroke
+newpath
+27047 49413 moveto
+32381 49413 lineto
+stroke
+newpath
+41246 49413 moveto
+46182 49413 lineto
+stroke
+newpath
+27047 49333 moveto
+32461 49333 lineto
+stroke
+newpath
+41326 49333 moveto
+46182 49333 lineto
+stroke
+newpath
+27047 49253 moveto
+32541 49253 lineto
+stroke
+newpath
+41406 49253 moveto
+46182 49253 lineto
+stroke
+newpath
+27047 49173 moveto
+32621 49173 lineto
+stroke
+newpath
+41486 49173 moveto
+46182 49173 lineto
+stroke
+newpath
+27047 49093 moveto
+32701 49093 lineto
+stroke
+newpath
+41566 49093 moveto
+46182 49093 lineto
+stroke
+newpath
+27047 49013 moveto
+32781 49013 lineto
+stroke
+newpath
+41646 49013 moveto
+46182 49013 lineto
+stroke
+newpath
+27047 48933 moveto
+32861 48933 lineto
+stroke
+newpath
+41726 48933 moveto
+46182 48933 lineto
+stroke
+newpath
+27047 48853 moveto
+32941 48853 lineto
+stroke
+newpath
+41806 48853 moveto
+46182 48853 lineto
+stroke
+newpath
+27047 48773 moveto
+33021 48773 lineto
+stroke
+newpath
+41886 48773 moveto
+42111 48773 lineto
+stroke
+newpath
+42670 48773 moveto
+46182 48773 lineto
+stroke
+newpath
+27047 48693 moveto
+33101 48693 lineto
+stroke
+newpath
+41966 48693 moveto
+42030 48693 lineto
+stroke
+newpath
+42750 48693 moveto
+46182 48693 lineto
+stroke
+newpath
+27047 48613 moveto
+33181 48613 lineto
+stroke
+newpath
+42814 48613 moveto
+46182 48613 lineto
+stroke
+newpath
+27047 48533 moveto
+33261 48533 lineto
+stroke
+newpath
+42847 48533 moveto
+46182 48533 lineto
+stroke
+newpath
+27047 48453 moveto
+33341 48453 lineto
+stroke
+newpath
+42876 48453 moveto
+46182 48453 lineto
+stroke
+newpath
+27047 48373 moveto
+33421 48373 lineto
+stroke
+newpath
+42876 48373 moveto
+46182 48373 lineto
+stroke
+newpath
+27047 48293 moveto
+33501 48293 lineto
+stroke
+newpath
+42928 48293 moveto
+46182 48293 lineto
+stroke
+newpath
+27047 48213 moveto
+33581 48213 lineto
+stroke
+newpath
+43008 48213 moveto
+46182 48213 lineto
+stroke
+newpath
+27047 48133 moveto
+33661 48133 lineto
+stroke
+newpath
+43088 48133 moveto
+46182 48133 lineto
+stroke
+newpath
+27047 48053 moveto
+33741 48053 lineto
+stroke
+newpath
+43168 48053 moveto
+46182 48053 lineto
+stroke
+newpath
+27047 47973 moveto
+33821 47973 lineto
+stroke
+newpath
+43248 47973 moveto
+46182 47973 lineto
+stroke
+newpath
+27047 47893 moveto
+33901 47893 lineto
+stroke
+newpath
+43328 47893 moveto
+46182 47893 lineto
+stroke
+newpath
+27047 47813 moveto
+33981 47813 lineto
+stroke
+newpath
+43408 47813 moveto
+46182 47813 lineto
+stroke
+newpath
+27047 47733 moveto
+34061 47733 lineto
+stroke
+newpath
+43488 47733 moveto
+46182 47733 lineto
+stroke
+newpath
+27047 47653 moveto
+34141 47653 lineto
+stroke
+newpath
+43553 47653 moveto
+46182 47653 lineto
+stroke
+newpath
+27047 47573 moveto
+34221 47573 lineto
+stroke
+newpath
+43598 47573 moveto
+46182 47573 lineto
+stroke
+newpath
+27047 47493 moveto
+34301 47493 lineto
+stroke
+newpath
+43613 47493 moveto
+46182 47493 lineto
+stroke
+newpath
+27047 47413 moveto
+34381 47413 lineto
+stroke
+newpath
+43619 47413 moveto
+46182 47413 lineto
+stroke
+newpath
+27047 47333 moveto
+34461 47333 lineto
+stroke
+newpath
+43619 47333 moveto
+46182 47333 lineto
+stroke
+newpath
+27047 47253 moveto
+34541 47253 lineto
+stroke
+newpath
+43619 47253 moveto
+46182 47253 lineto
+stroke
+newpath
+27047 47173 moveto
+34621 47173 lineto
+stroke
+newpath
+43619 47173 moveto
+46182 47173 lineto
+stroke
+newpath
+27047 47093 moveto
+34701 47093 lineto
+stroke
+newpath
+43619 47093 moveto
+46182 47093 lineto
+stroke
+newpath
+27047 47013 moveto
+34781 47013 lineto
+stroke
+newpath
+43619 47013 moveto
+46182 47013 lineto
+stroke
+newpath
+27047 46933 moveto
+32994 46933 lineto
+stroke
+newpath
+33308 46933 moveto
+34861 46933 lineto
+stroke
+newpath
+43619 46933 moveto
+46182 46933 lineto
+stroke
+newpath
+27047 46853 moveto
+32844 46853 lineto
+stroke
+newpath
+33457 46853 moveto
+34941 46853 lineto
+stroke
+newpath
+43619 46853 moveto
+46182 46853 lineto
+stroke
+newpath
+27047 46773 moveto
+32764 46773 lineto
+stroke
+newpath
+33537 46773 moveto
+35021 46773 lineto
+stroke
+newpath
+43619 46773 moveto
+46182 46773 lineto
+stroke
+newpath
+27047 46693 moveto
+32716 46693 lineto
+stroke
+newpath
+33585 46693 moveto
+35101 46693 lineto
+stroke
+newpath
+41156 46693 moveto
+41230 46693 lineto
+stroke
+newpath
+43619 46693 moveto
+46182 46693 lineto
+stroke
+newpath
+27047 46613 moveto
+32683 46613 lineto
+stroke
+newpath
+33618 46613 moveto
+35181 46613 lineto
+stroke
+newpath
+41076 46613 moveto
+41230 46613 lineto
+stroke
+newpath
+43619 46613 moveto
+46182 46613 lineto
+stroke
+newpath
+27047 46533 moveto
+32664 46533 lineto
+stroke
+newpath
+33636 46533 moveto
+35261 46533 lineto
+stroke
+newpath
+40996 46533 moveto
+41230 46533 lineto
+stroke
+newpath
+43619 46533 moveto
+46182 46533 lineto
+stroke
+newpath
+27047 46453 moveto
+32664 46453 lineto
+stroke
+newpath
+33636 46453 moveto
+35341 46453 lineto
+stroke
+newpath
+40916 46453 moveto
+41230 46453 lineto
+stroke
+newpath
+43619 46453 moveto
+46182 46453 lineto
+stroke
+newpath
+27047 46373 moveto
+32665 46373 lineto
+stroke
+newpath
+33635 46373 moveto
+35421 46373 lineto
+stroke
+newpath
+40836 46373 moveto
+41230 46373 lineto
+stroke
+newpath
+43619 46373 moveto
+46182 46373 lineto
+stroke
+newpath
+27047 46293 moveto
+32698 46293 lineto
+stroke
+newpath
+33602 46293 moveto
+35501 46293 lineto
+stroke
+newpath
+40756 46293 moveto
+41230 46293 lineto
+stroke
+newpath
+43619 46293 moveto
+46182 46293 lineto
+stroke
+newpath
+27047 46213 moveto
+32731 46213 lineto
+stroke
+newpath
+33569 46213 moveto
+35581 46213 lineto
+stroke
+newpath
+40676 46213 moveto
+41230 46213 lineto
+stroke
+newpath
+43619 46213 moveto
+46182 46213 lineto
+stroke
+newpath
+27047 46133 moveto
+32802 46133 lineto
+stroke
+newpath
+33498 46133 moveto
+35661 46133 lineto
+stroke
+newpath
+40596 46133 moveto
+41230 46133 lineto
+stroke
+newpath
+43619 46133 moveto
+46182 46133 lineto
+stroke
+newpath
+27047 46053 moveto
+32821 46053 lineto
+stroke
+newpath
+33479 46053 moveto
+35741 46053 lineto
+stroke
+newpath
+40516 46053 moveto
+41230 46053 lineto
+stroke
+newpath
+43619 46053 moveto
+46182 46053 lineto
+stroke
+newpath
+27047 45973 moveto
+32821 45973 lineto
+stroke
+newpath
+33479 45973 moveto
+35821 45973 lineto
+stroke
+newpath
+40453 45973 moveto
+41230 45973 lineto
+stroke
+newpath
+43619 45973 moveto
+46182 45973 lineto
+stroke
+newpath
+27047 45893 moveto
+32821 45893 lineto
+stroke
+newpath
+33479 45893 moveto
+35901 45893 lineto
+stroke
+newpath
+40453 45893 moveto
+41230 45893 lineto
+stroke
+newpath
+43619 45893 moveto
+46182 45893 lineto
+stroke
+newpath
+27047 45813 moveto
+32821 45813 lineto
+stroke
+newpath
+33479 45813 moveto
+35981 45813 lineto
+stroke
+newpath
+40453 45813 moveto
+41230 45813 lineto
+stroke
+newpath
+43606 45813 moveto
+46182 45813 lineto
+stroke
+newpath
+27047 45733 moveto
+32821 45733 lineto
+stroke
+newpath
+33479 45733 moveto
+36061 45733 lineto
+stroke
+newpath
+40453 45733 moveto
+41230 45733 lineto
+stroke
+newpath
+43586 45733 moveto
+46182 45733 lineto
+stroke
+newpath
+27047 45653 moveto
+32821 45653 lineto
+stroke
+newpath
+33479 45653 moveto
+36141 45653 lineto
+stroke
+newpath
+40451 45653 moveto
+41230 45653 lineto
+stroke
+newpath
+43532 45653 moveto
+46182 45653 lineto
+stroke
+newpath
+27047 45573 moveto
+32821 45573 lineto
+stroke
+newpath
+33479 45573 moveto
+36221 45573 lineto
+stroke
+newpath
+40435 45573 moveto
+41230 45573 lineto
+stroke
+newpath
+43456 45573 moveto
+46182 45573 lineto
+stroke
+newpath
+27047 45493 moveto
+32821 45493 lineto
+stroke
+newpath
+33479 45493 moveto
+36301 45493 lineto
+stroke
+newpath
+40401 45493 moveto
+41230 45493 lineto
+stroke
+newpath
+43376 45493 moveto
+46182 45493 lineto
+stroke
+newpath
+27047 45413 moveto
+32821 45413 lineto
+stroke
+newpath
+33479 45413 moveto
+36381 45413 lineto
+stroke
+newpath
+40342 45413 moveto
+41230 45413 lineto
+stroke
+newpath
+43296 45413 moveto
+46182 45413 lineto
+stroke
+newpath
+27047 45333 moveto
+32821 45333 lineto
+stroke
+newpath
+33479 45333 moveto
+36461 45333 lineto
+stroke
+newpath
+40262 45333 moveto
+41230 45333 lineto
+stroke
+newpath
+43216 45333 moveto
+46182 45333 lineto
+stroke
+newpath
+27047 45253 moveto
+32821 45253 lineto
+stroke
+newpath
+33479 45253 moveto
+36541 45253 lineto
+stroke
+newpath
+40258 45253 moveto
+41230 45253 lineto
+stroke
+newpath
+43136 45253 moveto
+46182 45253 lineto
+stroke
+newpath
+27047 45173 moveto
+32821 45173 lineto
+stroke
+newpath
+33479 45173 moveto
+36621 45173 lineto
+stroke
+newpath
+40291 45173 moveto
+41230 45173 lineto
+stroke
+newpath
+43056 45173 moveto
+46182 45173 lineto
+stroke
+newpath
+27047 45093 moveto
+32821 45093 lineto
+stroke
+newpath
+33479 45093 moveto
+36701 45093 lineto
+stroke
+newpath
+40310 45093 moveto
+41230 45093 lineto
+stroke
+newpath
+43074 45093 moveto
+46182 45093 lineto
+stroke
+newpath
+27047 45013 moveto
+32821 45013 lineto
+stroke
+newpath
+33479 45013 moveto
+36781 45013 lineto
+stroke
+newpath
+40310 45013 moveto
+41230 45013 lineto
+stroke
+newpath
+43114 45013 moveto
+46182 45013 lineto
+stroke
+newpath
+27047 44933 moveto
+32821 44933 lineto
+stroke
+newpath
+33479 44933 moveto
+36861 44933 lineto
+stroke
+newpath
+40309 44933 moveto
+41230 44933 lineto
+stroke
+newpath
+43123 44933 moveto
+46182 44933 lineto
+stroke
+newpath
+27047 44853 moveto
+32821 44853 lineto
+stroke
+newpath
+33479 44853 moveto
+36941 44853 lineto
+stroke
+newpath
+40276 44853 moveto
+41230 44853 lineto
+stroke
+newpath
+43123 44853 moveto
+46182 44853 lineto
+stroke
+newpath
+27047 44773 moveto
+32821 44773 lineto
+stroke
+newpath
+33479 44773 moveto
+37033 44773 lineto
+stroke
+newpath
+40243 44773 moveto
+41230 44773 lineto
+stroke
+newpath
+43123 44773 moveto
+46182 44773 lineto
+stroke
+newpath
+27047 44693 moveto
+32821 44693 lineto
+stroke
+newpath
+33479 44693 moveto
+33990 44693 lineto
+stroke
+newpath
+34241 44693 moveto
+34990 44693 lineto
+stroke
+newpath
+35241 44693 moveto
+35990 44693 lineto
+stroke
+newpath
+36241 44693 moveto
+36990 44693 lineto
+stroke
+newpath
+37241 44693 moveto
+37990 44693 lineto
+stroke
+newpath
+38241 44693 moveto
+39474 44693 lineto
+stroke
+newpath
+40173 44693 moveto
+41230 44693 lineto
+stroke
+newpath
+43123 44693 moveto
+46182 44693 lineto
+stroke
+newpath
+27047 44613 moveto
+32821 44613 lineto
+stroke
+newpath
+33479 44613 moveto
+33795 44613 lineto
+stroke
+newpath
+34433 44613 moveto
+34795 44613 lineto
+stroke
+newpath
+35433 44613 moveto
+35795 44613 lineto
+stroke
+newpath
+36433 44613 moveto
+36795 44613 lineto
+stroke
+newpath
+37433 44613 moveto
+37795 44613 lineto
+stroke
+newpath
+38433 44613 moveto
+38580 44613 lineto
+stroke
+newpath
+40084 44613 moveto
+41230 44613 lineto
+stroke
+newpath
+43123 44613 moveto
+46182 44613 lineto
+stroke
+newpath
+27047 44533 moveto
+32821 44533 lineto
+stroke
+newpath
+33479 44533 moveto
+33700 44533 lineto
+stroke
+newpath
+34528 44533 moveto
+34700 44533 lineto
+stroke
+newpath
+35528 44533 moveto
+35700 44533 lineto
+stroke
+newpath
+36528 44533 moveto
+36700 44533 lineto
+stroke
+newpath
+37528 44533 moveto
+37700 44533 lineto
+stroke
+newpath
+39700 44533 moveto
+41232 44533 lineto
+stroke
+newpath
+43123 44533 moveto
+46182 44533 lineto
+stroke
+newpath
+27047 44453 moveto
+32821 44453 lineto
+stroke
+newpath
+33479 44453 moveto
+33620 44453 lineto
+stroke
+newpath
+34608 44453 moveto
+34620 44453 lineto
+stroke
+newpath
+35608 44453 moveto
+35620 44453 lineto
+stroke
+newpath
+36608 44453 moveto
+36620 44453 lineto
+stroke
+newpath
+37608 44453 moveto
+37619 44453 lineto
+stroke
+newpath
+39717 44453 moveto
+41248 44453 lineto
+stroke
+newpath
+43123 44453 moveto
+46182 44453 lineto
+stroke
+newpath
+27047 44373 moveto
+32821 44373 lineto
+stroke
+newpath
+33517 44373 moveto
+33574 44373 lineto
+stroke
+newpath
+39717 44373 moveto
+41287 44373 lineto
+stroke
+newpath
+43123 44373 moveto
+46182 44373 lineto
+stroke
+newpath
+27047 44293 moveto
+32821 44293 lineto
+stroke
+newpath
+39717 44293 moveto
+41348 44293 lineto
+stroke
+newpath
+43123 44293 moveto
+46182 44293 lineto
+stroke
+newpath
+27047 44213 moveto
+32832 44213 lineto
+stroke
+newpath
+39717 44213 moveto
+41428 44213 lineto
+stroke
+newpath
+43123 44213 moveto
+46182 44213 lineto
+stroke
+newpath
+27047 44133 moveto
+32855 44133 lineto
+stroke
+newpath
+39717 44133 moveto
+41508 44133 lineto
+stroke
+newpath
+43102 44133 moveto
+46182 44133 lineto
+stroke
+newpath
+27047 44053 moveto
+32909 44053 lineto
+stroke
+newpath
+39717 44053 moveto
+41588 44053 lineto
+stroke
+newpath
+43046 44053 moveto
+46182 44053 lineto
+stroke
+newpath
+27047 43973 moveto
+32985 43973 lineto
+stroke
+newpath
+39717 43973 moveto
+41668 43973 lineto
+stroke
+newpath
+42987 43973 moveto
+46182 43973 lineto
+stroke
+newpath
+27047 43893 moveto
+33065 43893 lineto
+stroke
+newpath
+39717 43893 moveto
+41748 43893 lineto
+stroke
+newpath
+43047 43893 moveto
+46182 43893 lineto
+stroke
+newpath
+27047 43813 moveto
+33145 43813 lineto
+stroke
+newpath
+39717 43813 moveto
+41828 43813 lineto
+stroke
+newpath
+43080 43813 moveto
+46182 43813 lineto
+stroke
+newpath
+27047 43733 moveto
+33225 43733 lineto
+stroke
+newpath
+39717 43733 moveto
+41908 43733 lineto
+stroke
+newpath
+43112 43733 moveto
+46182 43733 lineto
+stroke
+newpath
+27047 43653 moveto
+33305 43653 lineto
+stroke
+newpath
+34540 43653 moveto
+34688 43653 lineto
+stroke
+newpath
+35540 43653 moveto
+35688 43653 lineto
+stroke
+newpath
+36539 43653 moveto
+36687 43653 lineto
+stroke
+newpath
+37540 43653 moveto
+37688 43653 lineto
+stroke
+newpath
+39704 43653 moveto
+41917 43653 lineto
+stroke
+newpath
+43123 43653 moveto
+46182 43653 lineto
+stroke
+newpath
+27047 43573 moveto
+33385 43573 lineto
+stroke
+newpath
+34460 43573 moveto
+34768 43573 lineto
+stroke
+newpath
+35460 43573 moveto
+35768 43573 lineto
+stroke
+newpath
+36459 43573 moveto
+36767 43573 lineto
+stroke
+newpath
+37460 43573 moveto
+37768 43573 lineto
+stroke
+newpath
+38459 43573 moveto
+38568 43573 lineto
+stroke
+newpath
+39660 43573 moveto
+41917 43573 lineto
+stroke
+newpath
+43123 43573 moveto
+46182 43573 lineto
+stroke
+newpath
+27047 43493 moveto
+33465 43493 lineto
+stroke
+newpath
+34537 43493 moveto
+34958 43493 lineto
+stroke
+newpath
+35268 43493 moveto
+35958 43493 lineto
+stroke
+newpath
+36268 43493 moveto
+36958 43493 lineto
+stroke
+newpath
+37268 43493 moveto
+37958 43493 lineto
+stroke
+newpath
+38268 43493 moveto
+38688 43493 lineto
+stroke
+newpath
+39538 43493 moveto
+41917 43493 lineto
+stroke
+newpath
+43123 43493 moveto
+46182 43493 lineto
+stroke
+newpath
+27047 43413 moveto
+33545 43413 lineto
+stroke
+newpath
+34699 43413 moveto
+41939 43413 lineto
+stroke
+newpath
+43100 43413 moveto
+46182 43413 lineto
+stroke
+newpath
+27047 43333 moveto
+33625 43333 lineto
+stroke
+newpath
+34779 43333 moveto
+41972 43333 lineto
+stroke
+newpath
+43067 43333 moveto
+46182 43333 lineto
+stroke
+newpath
+27047 43253 moveto
+33705 43253 lineto
+stroke
+newpath
+34832 43253 moveto
+42005 43253 lineto
+stroke
+newpath
+43034 43253 moveto
+46182 43253 lineto
+stroke
+newpath
+27047 43173 moveto
+33785 43173 lineto
+stroke
+newpath
+34865 43173 moveto
+42081 43173 lineto
+stroke
+newpath
+42959 43173 moveto
+46182 43173 lineto
+stroke
+newpath
+27047 43093 moveto
+33865 43093 lineto
+stroke
+newpath
+34887 43093 moveto
+42161 43093 lineto
+stroke
+newpath
+42879 43093 moveto
+46182 43093 lineto
+stroke
+newpath
+27047 43013 moveto
+33915 43013 lineto
+stroke
+newpath
+34887 43013 moveto
+42329 43013 lineto
+stroke
+newpath
+42709 43013 moveto
+46182 43013 lineto
+stroke
+newpath
+27047 42933 moveto
+33915 42933 lineto
+stroke
+newpath
+34887 42933 moveto
+46182 42933 lineto
+stroke
+newpath
+27047 42853 moveto
+33945 42853 lineto
+stroke
+newpath
+34856 42853 moveto
+46182 42853 lineto
+stroke
+newpath
+27047 42773 moveto
+33978 42773 lineto
+stroke
+newpath
+34823 42773 moveto
+46182 42773 lineto
+stroke
+newpath
+27047 42693 moveto
+34043 42693 lineto
+stroke
+newpath
+34758 42693 moveto
+46182 42693 lineto
+stroke
+newpath
+27047 42613 moveto
+34123 42613 lineto
+stroke
+newpath
+34678 42613 moveto
+46182 42613 lineto
+stroke
+newpath
+27047 42533 moveto
+46182 42533 lineto
+stroke
+newpath
+27047 42453 moveto
+46182 42453 lineto
+stroke
+newpath
+27047 42373 moveto
+46182 42373 lineto
+stroke
+newpath
+27047 42293 moveto
+46182 42293 lineto
+stroke
+newpath
+27047 42213 moveto
+46182 42213 lineto
+stroke
+newpath
+27047 42133 moveto
+46182 42133 lineto
+stroke
+newpath
+27047 42053 moveto
+46182 42053 lineto
+stroke
+newpath
+27047 41973 moveto
+46182 41973 lineto
+stroke
+newpath
+27047 41893 moveto
+46182 41893 lineto
+stroke
+newpath
+27047 41813 moveto
+46182 41813 lineto
+stroke
+newpath
+27047 41733 moveto
+46182 41733 lineto
+stroke
+newpath
+27047 41653 moveto
+46182 41653 lineto
+stroke
+newpath
+27047 41573 moveto
+46182 41573 lineto
+stroke
+newpath
+27047 41493 moveto
+46182 41493 lineto
+stroke
+newpath
+27047 41413 moveto
+46182 41413 lineto
+stroke
+newpath
+27047 41333 moveto
+46182 41333 lineto
+stroke
+newpath
+27047 41253 moveto
+27494 41253 lineto
+stroke
+newpath
+27625 41253 moveto
+45407 41253 lineto
+stroke
+newpath
+45538 41253 moveto
+46182 41253 lineto
+stroke
+newpath
+27047 41173 moveto
+27332 41173 lineto
+stroke
+newpath
+27787 41173 moveto
+45245 41173 lineto
+stroke
+newpath
+45700 41173 moveto
+46182 41173 lineto
+stroke
+newpath
+27047 41093 moveto
+27276 41093 lineto
+stroke
+newpath
+27843 41093 moveto
+45189 41093 lineto
+stroke
+newpath
+45756 41093 moveto
+46182 41093 lineto
+stroke
+newpath
+27047 41013 moveto
+27246 41013 lineto
+stroke
+newpath
+27873 41013 moveto
+45159 41013 lineto
+stroke
+newpath
+45786 41013 moveto
+46182 41013 lineto
+stroke
+newpath
+27047 40933 moveto
+27231 40933 lineto
+stroke
+newpath
+27887 40933 moveto
+45144 40933 lineto
+stroke
+newpath
+45800 40933 moveto
+46182 40933 lineto
+stroke
+newpath
+27047 40853 moveto
+27068 40853 lineto
+stroke
+newpath
+28049 40853 moveto
+44984 40853 lineto
+stroke
+newpath
+45962 40853 moveto
+46182 40853 lineto
+stroke
+newpath
+28188 40773 moveto
+44845 40773 lineto
+stroke
+newpath
+46101 40773 moveto
+46182 40773 lineto
+stroke
+newpath
+28241 40693 moveto
+44792 40693 lineto
+stroke
+newpath
+46154 40693 moveto
+46182 40693 lineto
+stroke
+newpath
+28268 40613 moveto
+44765 40613 lineto
+stroke
+newpath
+46181 40613 moveto
+46182 40613 lineto
+stroke
+newpath
+28278 40533 moveto
+44753 40533 lineto
+stroke
+newpath
+28262 40453 moveto
+44769 40453 lineto
+stroke
+newpath
+46175 40453 moveto
+46182 40453 lineto
+stroke
+newpath
+28225 40373 moveto
+44806 40373 lineto
+stroke
+newpath
+46138 40373 moveto
+46182 40373 lineto
+stroke
+newpath
+28156 40293 moveto
+44875 40293 lineto
+stroke
+newpath
+46069 40293 moveto
+46182 40293 lineto
+stroke
+newpath
+27047 40213 moveto
+27202 40213 lineto
+stroke
+newpath
+27915 40213 moveto
+45115 40213 lineto
+stroke
+newpath
+45828 40213 moveto
+46182 40213 lineto
+stroke
+newpath
+27047 40133 moveto
+27234 40133 lineto
+stroke
+newpath
+27883 40133 moveto
+45147 40133 lineto
+stroke
+newpath
+45796 40133 moveto
+46182 40133 lineto
+stroke
+newpath
+27047 40053 moveto
+27250 40053 lineto
+stroke
+newpath
+27867 40053 moveto
+45163 40053 lineto
+stroke
+newpath
+45780 40053 moveto
+46182 40053 lineto
+stroke
+newpath
+27047 39973 moveto
+27290 39973 lineto
+stroke
+newpath
+27827 39973 moveto
+45203 39973 lineto
+stroke
+newpath
+45740 39973 moveto
+46182 39973 lineto
+stroke
+newpath
+27047 39893 moveto
+27364 39893 lineto
+stroke
+newpath
+27753 39893 moveto
+45277 39893 lineto
+stroke
+newpath
+45666 39893 moveto
+46182 39893 lineto
+stroke
+newpath
+27047 39813 moveto
+46182 39813 lineto
+stroke
+newpath
+27047 39733 moveto
+46182 39733 lineto
+stroke
+newpath
+27047 39653 moveto
+46182 39653 lineto
+stroke
+newpath
+42764 47526 moveto
+42764 47526 lineto
+stroke
+newpath
+42764 47446 moveto
+42844 47446 lineto
+stroke
+newpath
+42762 47366 moveto
+42924 47366 lineto
+stroke
+newpath
+42729 47286 moveto
+42961 47286 lineto
+stroke
+newpath
+42696 47206 moveto
+42961 47206 lineto
+stroke
+newpath
+42624 47126 moveto
+42961 47126 lineto
+stroke
+newpath
+42531 47046 moveto
+42961 47046 lineto
+stroke
+newpath
+42170 46966 moveto
+42961 46966 lineto
+stroke
+newpath
+42090 46886 moveto
+42961 46886 lineto
+stroke
+newpath
+42010 46806 moveto
+42961 46806 lineto
+stroke
+newpath
+41930 46726 moveto
+42961 46726 lineto
+stroke
+newpath
+41888 46646 moveto
+42961 46646 lineto
+stroke
+newpath
+41888 46566 moveto
+42961 46566 lineto
+stroke
+newpath
+41888 46486 moveto
+42961 46486 lineto
+stroke
+newpath
+41888 46406 moveto
+42961 46406 lineto
+stroke
+newpath
+41888 46326 moveto
+42961 46326 lineto
+stroke
+newpath
+41888 46246 moveto
+42961 46246 lineto
+stroke
+newpath
+41888 46166 moveto
+42961 46166 lineto
+stroke
+newpath
+41888 46086 moveto
+42961 46086 lineto
+stroke
+newpath
+41888 46006 moveto
+42959 46006 lineto
+stroke
+newpath
+41888 45926 moveto
+42879 45926 lineto
+stroke
+newpath
+41888 45846 moveto
+42799 45846 lineto
+stroke
+newpath
+41888 45766 moveto
+42719 45766 lineto
+stroke
+newpath
+41888 45686 moveto
+42639 45686 lineto
+stroke
+newpath
+41888 45606 moveto
+42559 45606 lineto
+stroke
+newpath
+41888 45526 moveto
+42479 45526 lineto
+stroke
+newpath
+41888 45446 moveto
+42399 45446 lineto
+stroke
+newpath
+41888 45366 moveto
+42319 45366 lineto
+stroke
+newpath
+41888 45286 moveto
+42256 45286 lineto
+stroke
+newpath
+41888 45206 moveto
+42212 45206 lineto
+stroke
+newpath
+41888 45126 moveto
+41999 45126 lineto
+stroke
+newpath
+41888 45046 moveto
+41940 45046 lineto
+stroke
+newpath
+41888 44966 moveto
+41917 44966 lineto
+stroke
+newpath
+41888 44886 moveto
+41917 44886 lineto
+stroke
+newpath
+41888 44806 moveto
+41917 44806 lineto
+stroke
+newpath
+41888 44726 moveto
+41917 44726 lineto
+stroke
+newpath
+33377 50521 moveto
+33377 50521 lineto
+stroke
+newpath
+33315 50441 moveto
+33425 50441 lineto
+stroke
+newpath
+33385 50361 moveto
+33553 50361 lineto
+stroke
+newpath
+33418 50281 moveto
+33636 50281 lineto
+stroke
+newpath
+33451 50201 moveto
+33636 50201 lineto
+stroke
+newpath
+33451 50121 moveto
+33636 50121 lineto
+stroke
+newpath
+33451 50041 moveto
+33636 50041 lineto
+stroke
+newpath
+33432 49961 moveto
+33636 49961 lineto
+stroke
+newpath
+33399 49881 moveto
+33636 49881 lineto
+stroke
+newpath
+33350 49801 moveto
+33636 49801 lineto
+stroke
+newpath
+33270 49721 moveto
+33636 49721 lineto
+stroke
+newpath
+33116 49641 moveto
+33636 49641 lineto
+stroke
+newpath
+33165 49561 moveto
+33648 49561 lineto
+stroke
+newpath
+33245 49481 moveto
+33672 49481 lineto
+stroke
+newpath
+33325 49401 moveto
+33725 49401 lineto
+stroke
+newpath
+33405 49321 moveto
+33802 49321 lineto
+stroke
+newpath
+33485 49241 moveto
+33882 49241 lineto
+stroke
+newpath
+33565 49161 moveto
+33962 49161 lineto
+stroke
+newpath
+33645 49081 moveto
+34042 49081 lineto
+stroke
+newpath
+33725 49001 moveto
+34122 49001 lineto
+stroke
+newpath
+33805 48921 moveto
+34202 48921 lineto
+stroke
+newpath
+33885 48841 moveto
+34282 48841 lineto
+stroke
+newpath
+33965 48761 moveto
+34362 48761 lineto
+stroke
+newpath
+34045 48681 moveto
+34442 48681 lineto
+stroke
+newpath
+34125 48601 moveto
+34522 48601 lineto
+stroke
+newpath
+34205 48521 moveto
+34602 48521 lineto
+stroke
+newpath
+34285 48441 moveto
+34682 48441 lineto
+stroke
+newpath
+34365 48361 moveto
+34762 48361 lineto
+stroke
+newpath
+34445 48281 moveto
+34842 48281 lineto
+stroke
+newpath
+34525 48201 moveto
+34922 48201 lineto
+stroke
+newpath
+34605 48121 moveto
+35002 48121 lineto
+stroke
+newpath
+34685 48041 moveto
+35082 48041 lineto
+stroke
+newpath
+34765 47961 moveto
+35162 47961 lineto
+stroke
+newpath
+34845 47881 moveto
+35242 47881 lineto
+stroke
+newpath
+34925 47801 moveto
+35322 47801 lineto
+stroke
+newpath
+35005 47721 moveto
+35402 47721 lineto
+stroke
+newpath
+35085 47641 moveto
+35482 47641 lineto
+stroke
+newpath
+35165 47561 moveto
+35562 47561 lineto
+stroke
+newpath
+35245 47481 moveto
+35642 47481 lineto
+stroke
+newpath
+35325 47401 moveto
+35722 47401 lineto
+stroke
+newpath
+35405 47321 moveto
+35802 47321 lineto
+stroke
+newpath
+35485 47241 moveto
+35882 47241 lineto
+stroke
+newpath
+35565 47161 moveto
+35962 47161 lineto
+stroke
+newpath
+35645 47081 moveto
+36042 47081 lineto
+stroke
+newpath
+35725 47001 moveto
+36122 47001 lineto
+stroke
+newpath
+35805 46921 moveto
+36202 46921 lineto
+stroke
+newpath
+35885 46841 moveto
+36282 46841 lineto
+stroke
+newpath
+35965 46761 moveto
+36362 46761 lineto
+stroke
+newpath
+36045 46681 moveto
+36442 46681 lineto
+stroke
+newpath
+36125 46601 moveto
+36522 46601 lineto
+stroke
+newpath
+36205 46521 moveto
+36602 46521 lineto
+stroke
+newpath
+36285 46441 moveto
+36682 46441 lineto
+stroke
+newpath
+36365 46361 moveto
+36762 46361 lineto
+stroke
+newpath
+36445 46281 moveto
+36842 46281 lineto
+stroke
+newpath
+36525 46201 moveto
+36922 46201 lineto
+stroke
+newpath
+36605 46121 moveto
+37002 46121 lineto
+stroke
+newpath
+36685 46041 moveto
+37082 46041 lineto
+stroke
+newpath
+36765 45961 moveto
+37162 45961 lineto
+stroke
+newpath
+36845 45881 moveto
+37242 45881 lineto
+stroke
+newpath
+36925 45801 moveto
+37322 45801 lineto
+stroke
+newpath
+37005 45721 moveto
+37402 45721 lineto
+stroke
+newpath
+37085 45641 moveto
+37482 45641 lineto
+stroke
+newpath
+37165 45561 moveto
+37562 45561 lineto
+stroke
+newpath
+37245 45481 moveto
+37642 45481 lineto
+stroke
+newpath
+37325 45401 moveto
+37722 45401 lineto
+stroke
+newpath
+38927 51255 moveto
+38927 51255 lineto
+stroke
+newpath
+38717 51175 moveto
+38927 51175 lineto
+stroke
+newpath
+38637 51095 moveto
+38927 51095 lineto
+stroke
+newpath
+38557 51015 moveto
+38927 51015 lineto
+stroke
+newpath
+38477 50935 moveto
+38926 50935 lineto
+stroke
+newpath
+38397 50855 moveto
+38942 50855 lineto
+stroke
+newpath
+38317 50775 moveto
+38975 50775 lineto
+stroke
+newpath
+38237 50695 moveto
+39032 50695 lineto
+stroke
+newpath
+38157 50615 moveto
+39112 50615 lineto
+stroke
+newpath
+38077 50535 moveto
+39192 50535 lineto
+stroke
+newpath
+37997 50455 moveto
+39272 50455 lineto
+stroke
+newpath
+37917 50375 moveto
+39352 50375 lineto
+stroke
+newpath
+37837 50295 moveto
+39432 50295 lineto
+stroke
+newpath
+37757 50215 moveto
+39512 50215 lineto
+stroke
+newpath
+37677 50135 moveto
+39592 50135 lineto
+stroke
+newpath
+37597 50055 moveto
+39672 50055 lineto
+stroke
+newpath
+37517 49975 moveto
+39752 49975 lineto
+stroke
+newpath
+37437 49895 moveto
+39832 49895 lineto
+stroke
+newpath
+37357 49815 moveto
+39912 49815 lineto
+stroke
+newpath
+37277 49735 moveto
+39992 49735 lineto
+stroke
+newpath
+37197 49655 moveto
+40072 49655 lineto
+stroke
+newpath
+37117 49575 moveto
+40152 49575 lineto
+stroke
+newpath
+37023 49495 moveto
+40232 49495 lineto
+stroke
+newpath
+36152 49415 moveto
+40312 49415 lineto
+stroke
+newpath
+36057 49335 moveto
+40392 49335 lineto
+stroke
+newpath
+35631 49255 moveto
+40472 49255 lineto
+stroke
+newpath
+35561 49175 moveto
+40552 49175 lineto
+stroke
+newpath
+35472 49095 moveto
+40632 49095 lineto
+stroke
+newpath
+35379 49015 moveto
+40712 49015 lineto
+stroke
+newpath
+35459 48935 moveto
+40792 48935 lineto
+stroke
+newpath
+35539 48855 moveto
+40872 48855 lineto
+stroke
+newpath
+35619 48775 moveto
+40952 48775 lineto
+stroke
+newpath
+35699 48695 moveto
+41032 48695 lineto
+stroke
+newpath
+35779 48615 moveto
+41112 48615 lineto
+stroke
+newpath
+35859 48535 moveto
+41192 48535 lineto
+stroke
+newpath
+35939 48455 moveto
+41272 48455 lineto
+stroke
+newpath
+36019 48375 moveto
+41352 48375 lineto
+stroke
+newpath
+36099 48295 moveto
+41432 48295 lineto
+stroke
+newpath
+36179 48215 moveto
+41512 48215 lineto
+stroke
+newpath
+36259 48135 moveto
+41445 48135 lineto
+stroke
+newpath
+36339 48055 moveto
+41380 48055 lineto
+stroke
+newpath
+36419 47975 moveto
+41347 47975 lineto
+stroke
+newpath
+36499 47895 moveto
+41315 47895 lineto
+stroke
+newpath
+36579 47815 moveto
+41315 47815 lineto
+stroke
+newpath
+36659 47735 moveto
+41267 47735 lineto
+stroke
+newpath
+36739 47655 moveto
+41187 47655 lineto
+stroke
+newpath
+36819 47575 moveto
+41107 47575 lineto
+stroke
+newpath
+36899 47495 moveto
+41027 47495 lineto
+stroke
+newpath
+36979 47415 moveto
+40947 47415 lineto
+stroke
+newpath
+37059 47335 moveto
+40867 47335 lineto
+stroke
+newpath
+37139 47255 moveto
+40787 47255 lineto
+stroke
+newpath
+37219 47175 moveto
+40707 47175 lineto
+stroke
+newpath
+37299 47095 moveto
+40627 47095 lineto
+stroke
+newpath
+37379 47015 moveto
+40547 47015 lineto
+stroke
+newpath
+37459 46935 moveto
+40467 46935 lineto
+stroke
+newpath
+37539 46855 moveto
+40387 46855 lineto
+stroke
+newpath
+37619 46775 moveto
+40307 46775 lineto
+stroke
+newpath
+37699 46695 moveto
+40227 46695 lineto
+stroke
+newpath
+37779 46615 moveto
+40147 46615 lineto
+stroke
+newpath
+37859 46535 moveto
+40067 46535 lineto
+stroke
+newpath
+37939 46455 moveto
+39987 46455 lineto
+stroke
+newpath
+38019 46375 moveto
+39907 46375 lineto
+stroke
+newpath
+38099 46295 moveto
+39472 46295 lineto
+stroke
+newpath
+38179 46215 moveto
+39348 46215 lineto
+stroke
+newpath
+34481 52632 moveto
+36951 52632 lineto
+stroke
+newpath
+34408 52552 moveto
+36778 52552 lineto
+stroke
+newpath
+34327 52472 moveto
+36610 52472 lineto
+stroke
+newpath
+34387 52392 moveto
+36530 52392 lineto
+stroke
+newpath
+34467 52312 moveto
+36474 52312 lineto
+stroke
+newpath
+34506 52232 moveto
+36441 52232 lineto
+stroke
+newpath
+34539 52152 moveto
+36417 52152 lineto
+stroke
+newpath
+34568 52072 moveto
+36417 52072 lineto
+stroke
+newpath
+34568 51992 moveto
+36351 51992 lineto
+stroke
+newpath
+34568 51912 moveto
+36271 51912 lineto
+stroke
+newpath
+34564 51832 moveto
+36191 51832 lineto
+stroke
+newpath
+34640 51752 moveto
+36111 51752 lineto
+stroke
+newpath
+34718 51672 moveto
+36031 51672 lineto
+stroke
+newpath
+34771 51592 moveto
+35951 51592 lineto
+stroke
+newpath
+34796 51512 moveto
+35871 51512 lineto
+stroke
+newpath
+34809 51432 moveto
+35791 51432 lineto
+stroke
+newpath
+34809 51352 moveto
+35711 51352 lineto
+stroke
+newpath
+34809 51272 moveto
+35631 51272 lineto
+stroke
+newpath
+34809 51192 moveto
+35551 51192 lineto
+stroke
+newpath
+34809 51112 moveto
+35471 51112 lineto
+stroke
+newpath
+34809 51032 moveto
+35391 51032 lineto
+stroke
+newpath
+34809 50952 moveto
+35311 50952 lineto
+stroke
+newpath
+34809 50872 moveto
+35231 50872 lineto
+stroke
+newpath
+34809 50792 moveto
+35151 50792 lineto
+stroke
+newpath
+34809 50712 moveto
+35071 50712 lineto
+stroke
+newpath
+34809 50632 moveto
+34991 50632 lineto
+stroke
+newpath
+34809 50552 moveto
+34934 50552 lineto
+stroke
+newpath
+34809 50472 moveto
+34900 50472 lineto
+stroke
+newpath
+34809 50392 moveto
+34884 50392 lineto
+stroke
+newpath
+34809 50312 moveto
+34883 50312 lineto
+stroke
+newpath
+34809 50232 moveto
+34883 50232 lineto
+stroke
+newpath
+34809 50152 moveto
+34883 50152 lineto
+stroke
+newpath
+34809 50072 moveto
+34883 50072 lineto
+stroke
+newpath
+34809 49992 moveto
+34883 49992 lineto
+stroke
+newpath
+34809 49912 moveto
+34883 49912 lineto
+stroke
+newpath
+34809 49832 moveto
+34843 49832 lineto
+stroke
+newpath
+35031 54453 moveto
+35031 54453 lineto
+stroke
+newpath
+34951 54373 moveto
+36110 54373 lineto
+stroke
+newpath
+34871 54293 moveto
+36202 54293 lineto
+stroke
+newpath
+34791 54213 moveto
+36382 54213 lineto
+stroke
+newpath
+34711 54133 moveto
+37422 54133 lineto
+stroke
+newpath
+34631 54053 moveto
+37502 54053 lineto
+stroke
+newpath
+34551 53973 moveto
+37582 53973 lineto
+stroke
+newpath
+34471 53893 moveto
+37662 53893 lineto
+stroke
+newpath
+34391 53813 moveto
+37742 53813 lineto
+stroke
+newpath
+34311 53733 moveto
+37822 53733 lineto
+stroke
+newpath
+34231 53653 moveto
+37902 53653 lineto
+stroke
+newpath
+34151 53573 moveto
+37982 53573 lineto
+stroke
+newpath
+34257 53493 moveto
+38062 53493 lineto
+stroke
+newpath
+34366 53413 moveto
+38142 53413 lineto
+stroke
+newpath
+34446 53333 moveto
+38222 53333 lineto
+stroke
+newpath
+37326 53253 moveto
+38302 53253 lineto
+stroke
+newpath
+37578 53173 moveto
+38382 53173 lineto
+stroke
+newpath
+37737 53093 moveto
+38462 53093 lineto
+stroke
+newpath
+37817 53013 moveto
+38542 53013 lineto
+stroke
+newpath
+37869 52933 moveto
+38622 52933 lineto
+stroke
+newpath
+37902 52853 moveto
+38702 52853 lineto
+stroke
+newpath
+37923 52773 moveto
+38782 52773 lineto
+stroke
+newpath
+37923 52693 moveto
+38862 52693 lineto
+stroke
+newpath
+37923 52613 moveto
+38927 52613 lineto
+stroke
+newpath
+37891 52533 moveto
+38927 52533 lineto
+stroke
+newpath
+37858 52453 moveto
+38927 52453 lineto
+stroke
+newpath
+37792 52373 moveto
+38927 52373 lineto
+stroke
+newpath
+37712 52293 moveto
+38927 52293 lineto
+stroke
+newpath
+37373 52213 moveto
+38703 52213 lineto
+stroke
+newpath
+38915 52213 moveto
+38927 52213 lineto
+stroke
+newpath
+37389 52133 moveto
+38523 52133 lineto
+stroke
+newpath
+37389 52053 moveto
+38443 52053 lineto
+stroke
+newpath
+37385 51973 moveto
+38382 51973 lineto
+stroke
+newpath
+37352 51893 moveto
+38349 51893 lineto
+stroke
+newpath
+37319 51813 moveto
+38322 51813 lineto
+stroke
+newpath
+37245 51733 moveto
+38322 51733 lineto
+stroke
+newpath
+37146 51653 moveto
+38264 51653 lineto
+stroke
+newpath
+36863 51573 moveto
+38184 51573 lineto
+stroke
+newpath
+36783 51493 moveto
+38104 51493 lineto
+stroke
+newpath
+36703 51413 moveto
+38024 51413 lineto
+stroke
+newpath
+36623 51333 moveto
+37944 51333 lineto
+stroke
+newpath
+36543 51253 moveto
+37864 51253 lineto
+stroke
+newpath
+36463 51173 moveto
+37784 51173 lineto
+stroke
+newpath
+36383 51093 moveto
+37704 51093 lineto
+stroke
+newpath
+36303 51013 moveto
+37624 51013 lineto
+stroke
+newpath
+36223 50933 moveto
+37544 50933 lineto
+stroke
+newpath
+36143 50853 moveto
+37464 50853 lineto
+stroke
+newpath
+36063 50773 moveto
+37384 50773 lineto
+stroke
+newpath
+35983 50693 moveto
+37304 50693 lineto
+stroke
+newpath
+35903 50613 moveto
+37224 50613 lineto
+stroke
+newpath
+35823 50533 moveto
+37144 50533 lineto
+stroke
+newpath
+35743 50453 moveto
+37064 50453 lineto
+stroke
+newpath
+35663 50373 moveto
+36984 50373 lineto
+stroke
+newpath
+35583 50293 moveto
+36904 50293 lineto
+stroke
+newpath
+35541 50213 moveto
+35639 50213 lineto
+stroke
+newpath
+35977 50213 moveto
+36824 50213 lineto
+stroke
+newpath
+36119 50133 moveto
+36744 50133 lineto
+stroke
+newpath
+33464 51609 moveto
+33464 51609 lineto
+stroke
+newpath
+33384 51529 moveto
+33478 51529 lineto
+stroke
+newpath
+33330 51449 moveto
+33398 51449 lineto
+stroke
+newpath
+33465 52608 moveto
+33465 52608 lineto
+stroke
+newpath
+33385 52528 moveto
+33545 52528 lineto
+stroke
+newpath
+33331 52448 moveto
+33597 52448 lineto
+stroke
+newpath
+33411 52368 moveto
+33517 52368 lineto
+stroke
+newpath
+38780 55389 moveto
+38780 55389 lineto
+stroke
+newpath
+38700 55309 moveto
+38859 55309 lineto
+stroke
+newpath
+38621 55229 moveto
+38940 55229 lineto
+stroke
+newpath
+38533 55149 moveto
+39132 55149 lineto
+stroke
+newpath
+38453 55069 moveto
+39378 55069 lineto
+stroke
+newpath
+38373 54989 moveto
+39378 54989 lineto
+stroke
+newpath
+38293 54909 moveto
+39378 54909 lineto
+stroke
+newpath
+38213 54829 moveto
+39378 54829 lineto
+stroke
+newpath
+38133 54749 moveto
+39378 54749 lineto
+stroke
+newpath
+38053 54669 moveto
+39378 54669 lineto
+stroke
+newpath
+37973 54589 moveto
+39378 54589 lineto
+stroke
+newpath
+37978 54509 moveto
+39378 54509 lineto
+stroke
+newpath
+38058 54429 moveto
+39378 54429 lineto
+stroke
+newpath
+38138 54349 moveto
+39378 54349 lineto
+stroke
+newpath
+38218 54269 moveto
+39378 54269 lineto
+stroke
+newpath
+38298 54189 moveto
+39378 54189 lineto
+stroke
+newpath
+38378 54109 moveto
+39378 54109 lineto
+stroke
+newpath
+38458 54029 moveto
+39378 54029 lineto
+stroke
+newpath
+38538 53949 moveto
+39378 53949 lineto
+stroke
+newpath
+38618 53869 moveto
+39378 53869 lineto
+stroke
+newpath
+38698 53789 moveto
+39378 53789 lineto
+stroke
+newpath
+38778 53709 moveto
+39378 53709 lineto
+stroke
+newpath
+38858 53629 moveto
+39378 53629 lineto
+stroke
+newpath
+38938 53549 moveto
+39378 53549 lineto
+stroke
+newpath
+39018 53469 moveto
+39378 53469 lineto
+stroke
+newpath
+39098 53389 moveto
+39378 53389 lineto
+stroke
+newpath
+39178 53309 moveto
+39378 53309 lineto
+stroke
+newpath
+39258 53229 moveto
+39378 53229 lineto
+stroke
+newpath
+39338 53149 moveto
+39378 53149 lineto
+stroke
+newpath
+28360 56385 moveto
+28688 56385 lineto
+stroke
+newpath
+28360 56305 moveto
+28587 56305 lineto
+stroke
+newpath
+31649 56305 moveto
+33662 56305 lineto
+stroke
+newpath
+28360 56225 moveto
+28544 56225 lineto
+stroke
+newpath
+31693 56225 moveto
+33742 56225 lineto
+stroke
+newpath
+28360 56145 moveto
+28531 56145 lineto
+stroke
+newpath
+31705 56145 moveto
+33822 56145 lineto
+stroke
+newpath
+28360 56065 moveto
+28531 56065 lineto
+stroke
+newpath
+31705 56065 moveto
+33902 56065 lineto
+stroke
+newpath
+28360 55985 moveto
+28531 55985 lineto
+stroke
+newpath
+31705 55985 moveto
+33936 55985 lineto
+stroke
+newpath
+28360 55905 moveto
+28531 55905 lineto
+stroke
+newpath
+31705 55905 moveto
+33936 55905 lineto
+stroke
+newpath
+28360 55825 moveto
+28531 55825 lineto
+stroke
+newpath
+31705 55825 moveto
+33961 55825 lineto
+stroke
+newpath
+28360 55745 moveto
+28531 55745 lineto
+stroke
+newpath
+31705 55745 moveto
+33993 55745 lineto
+stroke
+newpath
+28360 55665 moveto
+28531 55665 lineto
+stroke
+newpath
+31705 55665 moveto
+34026 55665 lineto
+stroke
+newpath
+28360 55585 moveto
+28531 55585 lineto
+stroke
+newpath
+31705 55585 moveto
+34106 55585 lineto
+stroke
+newpath
+34972 55585 moveto
+35080 55585 lineto
+stroke
+newpath
+28360 55505 moveto
+28531 55505 lineto
+stroke
+newpath
+31705 55505 moveto
+34186 55505 lineto
+stroke
+newpath
+34892 55505 moveto
+34979 55505 lineto
+stroke
+newpath
+28360 55425 moveto
+28531 55425 lineto
+stroke
+newpath
+31705 55425 moveto
+34362 55425 lineto
+stroke
+newpath
+34714 55425 moveto
+34943 55425 lineto
+stroke
+newpath
+28360 55345 moveto
+28549 55345 lineto
+stroke
+newpath
+29718 55345 moveto
+30517 55345 lineto
+stroke
+newpath
+31687 55345 moveto
+34799 55345 lineto
+stroke
+newpath
+28360 55265 moveto
+28601 55265 lineto
+stroke
+newpath
+29667 55265 moveto
+30569 55265 lineto
+stroke
+newpath
+31635 55265 moveto
+34693 55265 lineto
+stroke
+newpath
+28360 55185 moveto
+34613 55185 lineto
+stroke
+newpath
+28360 55105 moveto
+34533 55105 lineto
+stroke
+newpath
+28418 55025 moveto
+34453 55025 lineto
+stroke
+newpath
+28498 54945 moveto
+34373 54945 lineto
+stroke
+newpath
+28578 54865 moveto
+34293 54865 lineto
+stroke
+newpath
+28658 54785 moveto
+34213 54785 lineto
+stroke
+newpath
+28738 54705 moveto
+34133 54705 lineto
+stroke
+newpath
+28818 54625 moveto
+34053 54625 lineto
+stroke
+newpath
+28898 54545 moveto
+33973 54545 lineto
+stroke
+newpath
+28978 54465 moveto
+33893 54465 lineto
+stroke
+newpath
+29058 54385 moveto
+33813 54385 lineto
+stroke
+newpath
+29138 54305 moveto
+33733 54305 lineto
+stroke
+newpath
+29218 54225 moveto
+33653 54225 lineto
+stroke
+newpath
+29298 54145 moveto
+33573 54145 lineto
+stroke
+newpath
+29552 54065 moveto
+33493 54065 lineto
+stroke
+newpath
+29654 53985 moveto
+33413 53985 lineto
+stroke
+newpath
+29734 53905 moveto
+33333 53905 lineto
+stroke
+newpath
+29814 53825 moveto
+33253 53825 lineto
+stroke
+newpath
+29894 53745 moveto
+33173 53745 lineto
+stroke
+newpath
+29974 53665 moveto
+33093 53665 lineto
+stroke
+newpath
+30054 53585 moveto
+33013 53585 lineto
+stroke
+newpath
+30134 53505 moveto
+32703 53505 lineto
+stroke
+newpath
+30214 53425 moveto
+32576 53425 lineto
+stroke
+newpath
+36055 55676 moveto
+36444 55676 lineto
+stroke
+newpath
+35982 55596 moveto
+36524 55596 lineto
+stroke
+newpath
+36088 55516 moveto
+36604 55516 lineto
+stroke
+newpath
+36131 55436 moveto
+36684 55436 lineto
+stroke
+newpath
+36248 55356 moveto
+36732 55356 lineto
+stroke
+newpath
+36359 55276 moveto
+36732 55276 lineto
+stroke
+newpath
+36439 55196 moveto
+36763 55196 lineto
+stroke
+newpath
+36519 55116 moveto
+36796 55116 lineto
+stroke
+newpath
+36599 55036 moveto
+36862 55036 lineto
+stroke
+newpath
+32519 53368 moveto
+32624 53473 lineto
+32846 53564 lineto
+32992 53564 lineto
+34719 55291 lineto
+34721 55293 lineto
+34853 55381 lineto
+34936 55398 lineto
+34936 55409 lineto
+34974 55500 lineto
+35044 55570 lineto
+35098 55593 lineto
+35039 55652 lineto
+34880 55493 lineto
+34658 55402 lineto
+34418 55402 lineto
+34197 55494 lineto
+34027 55664 lineto
+33936 55886 lineto
+33936 56032 lineto
+33583 56384 lineto
+31547 56384 lineto
+31542 56380 lineto
+31597 56357 lineto
+31667 56287 lineto
+31705 56195 lineto
+31705 55388 lineto
+31667 55297 lineto
+31597 55227 lineto
+31505 55189 lineto
+30698 55189 lineto
+30607 55227 lineto
+30537 55297 lineto
+30501 55384 lineto
+29735 55384 lineto
+29699 55297 lineto
+29629 55227 lineto
+29537 55189 lineto
+28730 55189 lineto
+28639 55227 lineto
+28569 55297 lineto
+28531 55389 lineto
+28531 56196 lineto
+28569 56287 lineto
+28639 56357 lineto
+28693 56380 lineto
+28688 56385 lineto
+28360 56385 lineto
+28360 55083 lineto
+29303 54140 lineto
+29330 54140 lineto
+29486 54109 lineto
+29618 54021 lineto
+30270 53368 lineto
+32519 53368 lineto
+poly0
+newpath
+27047 58773 moveto
+46182 58773 lineto
+stroke
+newpath
+27047 58693 moveto
+46182 58693 lineto
+stroke
+newpath
+27047 58613 moveto
+46182 58613 lineto
+stroke
+newpath
+27047 58533 moveto
+45302 58533 lineto
+stroke
+newpath
+45643 58533 moveto
+46182 58533 lineto
+stroke
+newpath
+27047 58453 moveto
+45214 58453 lineto
+stroke
+newpath
+45731 58453 moveto
+46182 58453 lineto
+stroke
+newpath
+27047 58373 moveto
+45167 58373 lineto
+stroke
+newpath
+45778 58373 moveto
+46182 58373 lineto
+stroke
+newpath
+27047 58293 moveto
+45151 58293 lineto
+stroke
+newpath
+45794 58293 moveto
+46182 58293 lineto
+stroke
+newpath
+27047 58213 moveto
+45131 58213 lineto
+stroke
+newpath
+45813 58213 moveto
+46182 58213 lineto
+stroke
+newpath
+27047 58133 moveto
+44900 58133 lineto
+stroke
+newpath
+46046 58133 moveto
+46182 58133 lineto
+stroke
+newpath
+27047 58053 moveto
+44817 58053 lineto
+stroke
+newpath
+46129 58053 moveto
+46182 58053 lineto
+stroke
+newpath
+27047 57973 moveto
+44773 57973 lineto
+stroke
+newpath
+46173 57973 moveto
+46182 57973 lineto
+stroke
+newpath
+27047 57893 moveto
+44757 57893 lineto
+stroke
+newpath
+27047 57813 moveto
+44761 57813 lineto
+stroke
+newpath
+27047 57733 moveto
+44780 57733 lineto
+stroke
+newpath
+46164 57733 moveto
+46182 57733 lineto
+stroke
+newpath
+27047 57653 moveto
+44834 57653 lineto
+stroke
+newpath
+46110 57653 moveto
+46182 57653 lineto
+stroke
+newpath
+27047 57573 moveto
+44938 57573 lineto
+stroke
+newpath
+46006 57573 moveto
+46182 57573 lineto
+stroke
+newpath
+27047 57493 moveto
+45144 57493 lineto
+stroke
+newpath
+45800 57493 moveto
+46182 57493 lineto
+stroke
+newpath
+27047 57413 moveto
+45155 57413 lineto
+stroke
+newpath
+45788 57413 moveto
+46182 57413 lineto
+stroke
+newpath
+27047 57333 moveto
+28864 57333 lineto
+stroke
+newpath
+29404 57333 moveto
+30832 57333 lineto
+stroke
+newpath
+31372 57333 moveto
+45177 57333 lineto
+stroke
+newpath
+45766 57333 moveto
+46182 57333 lineto
+stroke
+newpath
+27047 57253 moveto
+28742 57253 lineto
+stroke
+newpath
+29526 57253 moveto
+30710 57253 lineto
+stroke
+newpath
+31494 57253 moveto
+45231 57253 lineto
+stroke
+newpath
+45712 57253 moveto
+46182 57253 lineto
+stroke
+newpath
+27047 57173 moveto
+27928 57173 lineto
+stroke
+newpath
+29606 57173 moveto
+30630 57173 lineto
+stroke
+newpath
+33888 57173 moveto
+45340 57173 lineto
+stroke
+newpath
+45603 57173 moveto
+46182 57173 lineto
+stroke
+newpath
+27047 57093 moveto
+27791 57093 lineto
+stroke
+newpath
+29663 57093 moveto
+30574 57093 lineto
+stroke
+newpath
+34021 57093 moveto
+46182 57093 lineto
+stroke
+newpath
+27047 57013 moveto
+27704 57013 lineto
+stroke
+newpath
+29696 57013 moveto
+30541 57013 lineto
+stroke
+newpath
+34107 57013 moveto
+46182 57013 lineto
+stroke
+newpath
+27047 56933 moveto
+27638 56933 lineto
+stroke
+newpath
+29728 56933 moveto
+30508 56933 lineto
+stroke
+newpath
+34187 56933 moveto
+46182 56933 lineto
+stroke
+newpath
+27047 56853 moveto
+27585 56853 lineto
+stroke
+newpath
+29737 56853 moveto
+30499 56853 lineto
+stroke
+newpath
+34267 56853 moveto
+46182 56853 lineto
+stroke
+newpath
+27047 56773 moveto
+27564 56773 lineto
+stroke
+newpath
+29737 56773 moveto
+30499 56773 lineto
+stroke
+newpath
+34347 56773 moveto
+46182 56773 lineto
+stroke
+newpath
+27047 56693 moveto
+27548 56693 lineto
+stroke
+newpath
+29737 56693 moveto
+30499 56693 lineto
+stroke
+newpath
+34427 56693 moveto
+46182 56693 lineto
+stroke
+newpath
+27047 56613 moveto
+27546 56613 lineto
+stroke
+newpath
+29712 56613 moveto
+30523 56613 lineto
+stroke
+newpath
+34507 56613 moveto
+46182 56613 lineto
+stroke
+newpath
+27047 56533 moveto
+27546 56533 lineto
+stroke
+newpath
+29679 56533 moveto
+30556 56533 lineto
+stroke
+newpath
+34841 56533 moveto
+35238 56533 lineto
+stroke
+newpath
+35841 56533 moveto
+46182 56533 lineto
+stroke
+newpath
+27047 56453 moveto
+27546 56453 lineto
+stroke
+newpath
+29646 56453 moveto
+30589 56453 lineto
+stroke
+newpath
+34945 56453 moveto
+35134 56453 lineto
+stroke
+newpath
+35944 56453 moveto
+46182 56453 lineto
+stroke
+newpath
+27047 56373 moveto
+27546 56373 lineto
+stroke
+newpath
+29591 56373 moveto
+30645 56373 lineto
+stroke
+newpath
+35025 56373 moveto
+35054 56373 lineto
+stroke
+newpath
+36024 56373 moveto
+46182 56373 lineto
+stroke
+newpath
+27047 56293 moveto
+27546 56293 lineto
+stroke
+newpath
+29693 56293 moveto
+30543 56293 lineto
+stroke
+newpath
+36732 56293 moveto
+38037 56293 lineto
+stroke
+newpath
+38524 56293 moveto
+39037 56293 lineto
+stroke
+newpath
+39524 56293 moveto
+46182 56293 lineto
+stroke
+newpath
+27047 56213 moveto
+27546 56213 lineto
+stroke
+newpath
+29729 56213 moveto
+30506 56213 lineto
+stroke
+newpath
+36839 56213 moveto
+37899 56213 lineto
+stroke
+newpath
+38661 56213 moveto
+38899 56213 lineto
+stroke
+newpath
+39661 56213 moveto
+46182 56213 lineto
+stroke
+newpath
+27047 56133 moveto
+27546 56133 lineto
+stroke
+newpath
+36919 56133 moveto
+37819 56133 lineto
+stroke
+newpath
+38741 56133 moveto
+38819 56133 lineto
+stroke
+newpath
+39741 56133 moveto
+46182 56133 lineto
+stroke
+newpath
+27047 56053 moveto
+27546 56053 lineto
+stroke
+newpath
+36999 56053 moveto
+37757 56053 lineto
+stroke
+newpath
+39804 56053 moveto
+46182 56053 lineto
+stroke
+newpath
+27047 55973 moveto
+27546 55973 lineto
+stroke
+newpath
+37079 55973 moveto
+37724 55973 lineto
+stroke
+newpath
+39837 55973 moveto
+46182 55973 lineto
+stroke
+newpath
+27047 55893 moveto
+27546 55893 lineto
+stroke
+newpath
+37159 55893 moveto
+37690 55893 lineto
+stroke
+newpath
+39870 55893 moveto
+46182 55893 lineto
+stroke
+newpath
+27047 55813 moveto
+27546 55813 lineto
+stroke
+newpath
+37415 55813 moveto
+37677 55813 lineto
+stroke
+newpath
+39883 55813 moveto
+46182 55813 lineto
+stroke
+newpath
+27047 55733 moveto
+27546 55733 lineto
+stroke
+newpath
+37541 55733 moveto
+37677 55733 lineto
+stroke
+newpath
+39883 55733 moveto
+46182 55733 lineto
+stroke
+newpath
+27047 55653 moveto
+27546 55653 lineto
+stroke
+newpath
+37621 55653 moveto
+37677 55653 lineto
+stroke
+newpath
+39883 55653 moveto
+46182 55653 lineto
+stroke
+newpath
+27047 55573 moveto
+27546 55573 lineto
+stroke
+newpath
+37659 55573 moveto
+37696 55573 lineto
+stroke
+newpath
+39914 55573 moveto
+46182 55573 lineto
+stroke
+newpath
+27047 55493 moveto
+27546 55493 lineto
+stroke
+newpath
+37692 55493 moveto
+37725 55493 lineto
+stroke
+newpath
+39976 55493 moveto
+46182 55493 lineto
+stroke
+newpath
+27047 55413 moveto
+27546 55413 lineto
+stroke
+newpath
+40017 55413 moveto
+46182 55413 lineto
+stroke
+newpath
+27047 55333 moveto
+27546 55333 lineto
+stroke
+newpath
+40032 55333 moveto
+46182 55333 lineto
+stroke
+newpath
+27047 55253 moveto
+27546 55253 lineto
+stroke
+newpath
+40036 55253 moveto
+46182 55253 lineto
+stroke
+newpath
+27047 55173 moveto
+27546 55173 lineto
+stroke
+newpath
+40036 55173 moveto
+46182 55173 lineto
+stroke
+newpath
+27047 55093 moveto
+27546 55093 lineto
+stroke
+newpath
+40036 55093 moveto
+46182 55093 lineto
+stroke
+newpath
+27047 55013 moveto
+27546 55013 lineto
+stroke
+newpath
+40036 55013 moveto
+46182 55013 lineto
+stroke
+newpath
+27047 54933 moveto
+27546 54933 lineto
+stroke
+newpath
+40036 54933 moveto
+46182 54933 lineto
+stroke
+newpath
+27047 54853 moveto
+27558 54853 lineto
+stroke
+newpath
+40036 54853 moveto
+46182 54853 lineto
+stroke
+newpath
+27047 54773 moveto
+27574 54773 lineto
+stroke
+newpath
+40036 54773 moveto
+46182 54773 lineto
+stroke
+newpath
+27047 54693 moveto
+27620 54693 lineto
+stroke
+newpath
+40036 54693 moveto
+46182 54693 lineto
+stroke
+newpath
+27047 54613 moveto
+27678 54613 lineto
+stroke
+newpath
+40036 54613 moveto
+46182 54613 lineto
+stroke
+newpath
+27047 54533 moveto
+27758 54533 lineto
+stroke
+newpath
+40036 54533 moveto
+46182 54533 lineto
+stroke
+newpath
+27047 54453 moveto
+27838 54453 lineto
+stroke
+newpath
+40036 54453 moveto
+46182 54453 lineto
+stroke
+newpath
+27047 54373 moveto
+27918 54373 lineto
+stroke
+newpath
+40036 54373 moveto
+46182 54373 lineto
+stroke
+newpath
+27047 54293 moveto
+27998 54293 lineto
+stroke
+newpath
+40036 54293 moveto
+46182 54293 lineto
+stroke
+newpath
+27047 54213 moveto
+28078 54213 lineto
+stroke
+newpath
+40036 54213 moveto
+46182 54213 lineto
+stroke
+newpath
+27047 54133 moveto
+28158 54133 lineto
+stroke
+newpath
+40036 54133 moveto
+46182 54133 lineto
+stroke
+newpath
+27047 54053 moveto
+28238 54053 lineto
+stroke
+newpath
+40036 54053 moveto
+46182 54053 lineto
+stroke
+newpath
+27047 53973 moveto
+28318 53973 lineto
+stroke
+newpath
+40036 53973 moveto
+46182 53973 lineto
+stroke
+newpath
+27047 53893 moveto
+28398 53893 lineto
+stroke
+newpath
+40036 53893 moveto
+46182 53893 lineto
+stroke
+newpath
+27047 53813 moveto
+28478 53813 lineto
+stroke
+newpath
+40036 53813 moveto
+46182 53813 lineto
+stroke
+newpath
+27047 53733 moveto
+28558 53733 lineto
+stroke
+newpath
+40036 53733 moveto
+46182 53733 lineto
+stroke
+newpath
+27047 53653 moveto
+28638 53653 lineto
+stroke
+newpath
+40036 53653 moveto
+46182 53653 lineto
+stroke
+newpath
+27047 53573 moveto
+28718 53573 lineto
+stroke
+newpath
+40036 53573 moveto
+46182 53573 lineto
+stroke
+newpath
+27047 53493 moveto
+28798 53493 lineto
+stroke
+newpath
+40036 53493 moveto
+46182 53493 lineto
+stroke
+newpath
+27047 53413 moveto
+28894 53413 lineto
+stroke
+newpath
+40036 53413 moveto
+46182 53413 lineto
+stroke
+newpath
+27047 53333 moveto
+29098 53333 lineto
+stroke
+newpath
+40036 53333 moveto
+46182 53333 lineto
+stroke
+newpath
+27047 53253 moveto
+29234 53253 lineto
+stroke
+newpath
+40036 53253 moveto
+46182 53253 lineto
+stroke
+newpath
+27047 53173 moveto
+29314 53173 lineto
+stroke
+newpath
+40036 53173 moveto
+46182 53173 lineto
+stroke
+newpath
+27047 53093 moveto
+29394 53093 lineto
+stroke
+newpath
+40036 53093 moveto
+46182 53093 lineto
+stroke
+newpath
+27047 53013 moveto
+29474 53013 lineto
+stroke
+newpath
+40036 53013 moveto
+46182 53013 lineto
+stroke
+newpath
+27047 52933 moveto
+29554 52933 lineto
+stroke
+newpath
+40036 52933 moveto
+46182 52933 lineto
+stroke
+newpath
+27047 52853 moveto
+29634 52853 lineto
+stroke
+newpath
+40036 52853 moveto
+46182 52853 lineto
+stroke
+newpath
+27047 52773 moveto
+29714 52773 lineto
+stroke
+newpath
+40036 52773 moveto
+46182 52773 lineto
+stroke
+newpath
+27047 52693 moveto
+29794 52693 lineto
+stroke
+newpath
+40036 52693 moveto
+46182 52693 lineto
+stroke
+newpath
+27047 52613 moveto
+29904 52613 lineto
+stroke
+newpath
+40036 52613 moveto
+46182 52613 lineto
+stroke
+newpath
+27047 52533 moveto
+32540 52533 lineto
+stroke
+newpath
+40036 52533 moveto
+46182 52533 lineto
+stroke
+newpath
+27047 52453 moveto
+32604 52453 lineto
+stroke
+newpath
+40036 52453 moveto
+46182 52453 lineto
+stroke
+newpath
+27047 52373 moveto
+32524 52373 lineto
+stroke
+newpath
+40036 52373 moveto
+46182 52373 lineto
+stroke
+newpath
+27047 52293 moveto
+32450 52293 lineto
+stroke
+newpath
+40036 52293 moveto
+46182 52293 lineto
+stroke
+newpath
+27047 52213 moveto
+32417 52213 lineto
+stroke
+newpath
+40036 52213 moveto
+46182 52213 lineto
+stroke
+newpath
+27047 52133 moveto
+32384 52133 lineto
+stroke
+newpath
+40036 52133 moveto
+46182 52133 lineto
+stroke
+newpath
+27047 52053 moveto
+32362 52053 lineto
+stroke
+newpath
+40036 52053 moveto
+46182 52053 lineto
+stroke
+newpath
+27047 51973 moveto
+32362 51973 lineto
+stroke
+newpath
+40081 51973 moveto
+46182 51973 lineto
+stroke
+newpath
+27047 51893 moveto
+32362 51893 lineto
+stroke
+newpath
+40137 51893 moveto
+46182 51893 lineto
+stroke
+newpath
+27047 51813 moveto
+32351 51813 lineto
+stroke
+newpath
+40170 51813 moveto
+46182 51813 lineto
+stroke
+newpath
+27047 51733 moveto
+32271 51733 lineto
+stroke
+newpath
+40194 51733 moveto
+46182 51733 lineto
+stroke
+newpath
+27047 51653 moveto
+32191 51653 lineto
+stroke
+newpath
+40194 51653 moveto
+46182 51653 lineto
+stroke
+newpath
+27047 51573 moveto
+32136 51573 lineto
+stroke
+newpath
+40194 51573 moveto
+46182 51573 lineto
+stroke
+newpath
+27047 51493 moveto
+32105 51493 lineto
+stroke
+newpath
+40165 51493 moveto
+46182 51493 lineto
+stroke
+newpath
+27047 51413 moveto
+32088 51413 lineto
+stroke
+newpath
+40132 51413 moveto
+46182 51413 lineto
+stroke
+newpath
+27047 51333 moveto
+32089 51333 lineto
+stroke
+newpath
+40070 51333 moveto
+46182 51333 lineto
+stroke
+newpath
+27047 51253 moveto
+32089 51253 lineto
+stroke
+newpath
+39990 51253 moveto
+46182 51253 lineto
+stroke
+newpath
+27047 51173 moveto
+32089 51173 lineto
+stroke
+newpath
+39585 51173 moveto
+39608 51173 lineto
+stroke
+newpath
+39806 51173 moveto
+46182 51173 lineto
+stroke
+newpath
+27047 51093 moveto
+32089 51093 lineto
+stroke
+newpath
+39585 51093 moveto
+46182 51093 lineto
+stroke
+newpath
+27047 51013 moveto
+32089 51013 lineto
+stroke
+newpath
+39646 51013 moveto
+46182 51013 lineto
+stroke
+newpath
+27047 50933 moveto
+32089 50933 lineto
+stroke
+newpath
+39726 50933 moveto
+46182 50933 lineto
+stroke
+newpath
+27047 50853 moveto
+32089 50853 lineto
+stroke
+newpath
+39806 50853 moveto
+46182 50853 lineto
+stroke
+newpath
+27047 50773 moveto
+32089 50773 lineto
+stroke
+newpath
+39886 50773 moveto
+46182 50773 lineto
+stroke
+newpath
+27047 50693 moveto
+32089 50693 lineto
+stroke
+newpath
+39966 50693 moveto
+46182 50693 lineto
+stroke
+newpath
+27047 50613 moveto
+32089 50613 lineto
+stroke
+newpath
+40046 50613 moveto
+46182 50613 lineto
+stroke
+newpath
+27047 50533 moveto
+32089 50533 lineto
+stroke
+newpath
+40126 50533 moveto
+46182 50533 lineto
+stroke
+newpath
+27047 50453 moveto
+32089 50453 lineto
+stroke
+newpath
+40206 50453 moveto
+46182 50453 lineto
+stroke
+newpath
+27047 50373 moveto
+32089 50373 lineto
+stroke
+newpath
+40286 50373 moveto
+46182 50373 lineto
+stroke
+newpath
+27047 50293 moveto
+32089 50293 lineto
+stroke
+newpath
+40366 50293 moveto
+46182 50293 lineto
+stroke
+newpath
+27047 50213 moveto
+32089 50213 lineto
+stroke
+newpath
+40446 50213 moveto
+46182 50213 lineto
+stroke
+newpath
+27047 50133 moveto
+32089 50133 lineto
+stroke
+newpath
+40526 50133 moveto
+46182 50133 lineto
+stroke
+newpath
+27047 50053 moveto
+32089 50053 lineto
+stroke
+newpath
+40606 50053 moveto
+46182 50053 lineto
+stroke
+newpath
+27047 49973 moveto
+32089 49973 lineto
+stroke
+newpath
+40686 49973 moveto
+46182 49973 lineto
+stroke
+newpath
+27047 49893 moveto
+32089 49893 lineto
+stroke
+newpath
+40766 49893 moveto
+46182 49893 lineto
+stroke
+newpath
+27047 49813 moveto
+32093 49813 lineto
+stroke
+newpath
+40846 49813 moveto
+46182 49813 lineto
+stroke
+newpath
+27047 49733 moveto
+32110 49733 lineto
+stroke
+newpath
+40926 49733 moveto
+46182 49733 lineto
+stroke
+newpath
+27047 49653 moveto
+32155 49653 lineto
+stroke
+newpath
+41006 49653 moveto
+46182 49653 lineto
+stroke
+newpath
+27047 49573 moveto
+32221 49573 lineto
+stroke
+newpath
+41086 49573 moveto
+46182 49573 lineto
+stroke
+newpath
+27047 49493 moveto
+32301 49493 lineto
+stroke
+newpath
+41166 49493 moveto
+46182 49493 lineto
+stroke
+newpath
+27047 49413 moveto
+32381 49413 lineto
+stroke
+newpath
+41246 49413 moveto
+46182 49413 lineto
+stroke
+newpath
+27047 49333 moveto
+32461 49333 lineto
+stroke
+newpath
+41326 49333 moveto
+46182 49333 lineto
+stroke
+newpath
+27047 49253 moveto
+32541 49253 lineto
+stroke
+newpath
+41406 49253 moveto
+46182 49253 lineto
+stroke
+newpath
+27047 49173 moveto
+32621 49173 lineto
+stroke
+newpath
+41486 49173 moveto
+46182 49173 lineto
+stroke
+newpath
+27047 49093 moveto
+32701 49093 lineto
+stroke
+newpath
+41566 49093 moveto
+46182 49093 lineto
+stroke
+newpath
+27047 49013 moveto
+32781 49013 lineto
+stroke
+newpath
+41646 49013 moveto
+46182 49013 lineto
+stroke
+newpath
+27047 48933 moveto
+32861 48933 lineto
+stroke
+newpath
+41726 48933 moveto
+46182 48933 lineto
+stroke
+newpath
+27047 48853 moveto
+32941 48853 lineto
+stroke
+newpath
+41806 48853 moveto
+46182 48853 lineto
+stroke
+newpath
+27047 48773 moveto
+33021 48773 lineto
+stroke
+newpath
+41886 48773 moveto
+42111 48773 lineto
+stroke
+newpath
+42670 48773 moveto
+46182 48773 lineto
+stroke
+newpath
+27047 48693 moveto
+33101 48693 lineto
+stroke
+newpath
+41966 48693 moveto
+42030 48693 lineto
+stroke
+newpath
+42750 48693 moveto
+46182 48693 lineto
+stroke
+newpath
+27047 48613 moveto
+33181 48613 lineto
+stroke
+newpath
+42814 48613 moveto
+46182 48613 lineto
+stroke
+newpath
+27047 48533 moveto
+33261 48533 lineto
+stroke
+newpath
+42847 48533 moveto
+46182 48533 lineto
+stroke
+newpath
+27047 48453 moveto
+33341 48453 lineto
+stroke
+newpath
+42876 48453 moveto
+46182 48453 lineto
+stroke
+newpath
+27047 48373 moveto
+33421 48373 lineto
+stroke
+newpath
+42876 48373 moveto
+46182 48373 lineto
+stroke
+newpath
+27047 48293 moveto
+33501 48293 lineto
+stroke
+newpath
+42928 48293 moveto
+46182 48293 lineto
+stroke
+newpath
+27047 48213 moveto
+33581 48213 lineto
+stroke
+newpath
+43008 48213 moveto
+46182 48213 lineto
+stroke
+newpath
+27047 48133 moveto
+33661 48133 lineto
+stroke
+newpath
+43088 48133 moveto
+46182 48133 lineto
+stroke
+newpath
+27047 48053 moveto
+33741 48053 lineto
+stroke
+newpath
+43168 48053 moveto
+46182 48053 lineto
+stroke
+newpath
+27047 47973 moveto
+33821 47973 lineto
+stroke
+newpath
+43248 47973 moveto
+46182 47973 lineto
+stroke
+newpath
+27047 47893 moveto
+33901 47893 lineto
+stroke
+newpath
+43328 47893 moveto
+46182 47893 lineto
+stroke
+newpath
+27047 47813 moveto
+33981 47813 lineto
+stroke
+newpath
+43408 47813 moveto
+46182 47813 lineto
+stroke
+newpath
+27047 47733 moveto
+34061 47733 lineto
+stroke
+newpath
+43488 47733 moveto
+46182 47733 lineto
+stroke
+newpath
+27047 47653 moveto
+34141 47653 lineto
+stroke
+newpath
+43553 47653 moveto
+46182 47653 lineto
+stroke
+newpath
+27047 47573 moveto
+34221 47573 lineto
+stroke
+newpath
+43598 47573 moveto
+46182 47573 lineto
+stroke
+newpath
+27047 47493 moveto
+34301 47493 lineto
+stroke
+newpath
+43613 47493 moveto
+46182 47493 lineto
+stroke
+newpath
+27047 47413 moveto
+34381 47413 lineto
+stroke
+newpath
+43619 47413 moveto
+46182 47413 lineto
+stroke
+newpath
+27047 47333 moveto
+34461 47333 lineto
+stroke
+newpath
+43619 47333 moveto
+46182 47333 lineto
+stroke
+newpath
+27047 47253 moveto
+34541 47253 lineto
+stroke
+newpath
+43619 47253 moveto
+46182 47253 lineto
+stroke
+newpath
+27047 47173 moveto
+34621 47173 lineto
+stroke
+newpath
+43619 47173 moveto
+46182 47173 lineto
+stroke
+newpath
+27047 47093 moveto
+34701 47093 lineto
+stroke
+newpath
+43619 47093 moveto
+46182 47093 lineto
+stroke
+newpath
+27047 47013 moveto
+34781 47013 lineto
+stroke
+newpath
+43619 47013 moveto
+46182 47013 lineto
+stroke
+newpath
+27047 46933 moveto
+32994 46933 lineto
+stroke
+newpath
+33308 46933 moveto
+34861 46933 lineto
+stroke
+newpath
+43619 46933 moveto
+46182 46933 lineto
+stroke
+newpath
+27047 46853 moveto
+32844 46853 lineto
+stroke
+newpath
+33457 46853 moveto
+34941 46853 lineto
+stroke
+newpath
+43619 46853 moveto
+46182 46853 lineto
+stroke
+newpath
+27047 46773 moveto
+32764 46773 lineto
+stroke
+newpath
+33537 46773 moveto
+35021 46773 lineto
+stroke
+newpath
+43619 46773 moveto
+46182 46773 lineto
+stroke
+newpath
+27047 46693 moveto
+32716 46693 lineto
+stroke
+newpath
+33585 46693 moveto
+35101 46693 lineto
+stroke
+newpath
+41156 46693 moveto
+41230 46693 lineto
+stroke
+newpath
+43619 46693 moveto
+46182 46693 lineto
+stroke
+newpath
+27047 46613 moveto
+32683 46613 lineto
+stroke
+newpath
+33618 46613 moveto
+35181 46613 lineto
+stroke
+newpath
+41076 46613 moveto
+41230 46613 lineto
+stroke
+newpath
+43619 46613 moveto
+46182 46613 lineto
+stroke
+newpath
+27047 46533 moveto
+32664 46533 lineto
+stroke
+newpath
+33636 46533 moveto
+35261 46533 lineto
+stroke
+newpath
+40996 46533 moveto
+41230 46533 lineto
+stroke
+newpath
+43619 46533 moveto
+46182 46533 lineto
+stroke
+newpath
+27047 46453 moveto
+32664 46453 lineto
+stroke
+newpath
+33636 46453 moveto
+35341 46453 lineto
+stroke
+newpath
+40916 46453 moveto
+41230 46453 lineto
+stroke
+newpath
+43619 46453 moveto
+46182 46453 lineto
+stroke
+newpath
+27047 46373 moveto
+32665 46373 lineto
+stroke
+newpath
+33635 46373 moveto
+35421 46373 lineto
+stroke
+newpath
+40836 46373 moveto
+41230 46373 lineto
+stroke
+newpath
+43619 46373 moveto
+46182 46373 lineto
+stroke
+newpath
+27047 46293 moveto
+32698 46293 lineto
+stroke
+newpath
+33602 46293 moveto
+35501 46293 lineto
+stroke
+newpath
+40756 46293 moveto
+41230 46293 lineto
+stroke
+newpath
+43619 46293 moveto
+46182 46293 lineto
+stroke
+newpath
+27047 46213 moveto
+32731 46213 lineto
+stroke
+newpath
+33569 46213 moveto
+35581 46213 lineto
+stroke
+newpath
+40676 46213 moveto
+41230 46213 lineto
+stroke
+newpath
+43619 46213 moveto
+46182 46213 lineto
+stroke
+newpath
+27047 46133 moveto
+32802 46133 lineto
+stroke
+newpath
+33498 46133 moveto
+35661 46133 lineto
+stroke
+newpath
+40596 46133 moveto
+41230 46133 lineto
+stroke
+newpath
+43619 46133 moveto
+46182 46133 lineto
+stroke
+newpath
+27047 46053 moveto
+32821 46053 lineto
+stroke
+newpath
+33479 46053 moveto
+35741 46053 lineto
+stroke
+newpath
+40516 46053 moveto
+41230 46053 lineto
+stroke
+newpath
+43619 46053 moveto
+46182 46053 lineto
+stroke
+newpath
+27047 45973 moveto
+32821 45973 lineto
+stroke
+newpath
+33479 45973 moveto
+35821 45973 lineto
+stroke
+newpath
+40453 45973 moveto
+41230 45973 lineto
+stroke
+newpath
+43619 45973 moveto
+46182 45973 lineto
+stroke
+newpath
+27047 45893 moveto
+32821 45893 lineto
+stroke
+newpath
+33479 45893 moveto
+35901 45893 lineto
+stroke
+newpath
+40453 45893 moveto
+41230 45893 lineto
+stroke
+newpath
+43619 45893 moveto
+46182 45893 lineto
+stroke
+newpath
+27047 45813 moveto
+32821 45813 lineto
+stroke
+newpath
+33479 45813 moveto
+35981 45813 lineto
+stroke
+newpath
+40453 45813 moveto
+41230 45813 lineto
+stroke
+newpath
+43606 45813 moveto
+46182 45813 lineto
+stroke
+newpath
+27047 45733 moveto
+32821 45733 lineto
+stroke
+newpath
+33479 45733 moveto
+36061 45733 lineto
+stroke
+newpath
+40453 45733 moveto
+41230 45733 lineto
+stroke
+newpath
+43586 45733 moveto
+46182 45733 lineto
+stroke
+newpath
+27047 45653 moveto
+32821 45653 lineto
+stroke
+newpath
+33479 45653 moveto
+36141 45653 lineto
+stroke
+newpath
+40451 45653 moveto
+41230 45653 lineto
+stroke
+newpath
+43532 45653 moveto
+46182 45653 lineto
+stroke
+newpath
+27047 45573 moveto
+32821 45573 lineto
+stroke
+newpath
+33479 45573 moveto
+36221 45573 lineto
+stroke
+newpath
+40435 45573 moveto
+41230 45573 lineto
+stroke
+newpath
+43456 45573 moveto
+46182 45573 lineto
+stroke
+newpath
+27047 45493 moveto
+32821 45493 lineto
+stroke
+newpath
+33479 45493 moveto
+36301 45493 lineto
+stroke
+newpath
+40401 45493 moveto
+41230 45493 lineto
+stroke
+newpath
+43376 45493 moveto
+46182 45493 lineto
+stroke
+newpath
+27047 45413 moveto
+32821 45413 lineto
+stroke
+newpath
+33479 45413 moveto
+36381 45413 lineto
+stroke
+newpath
+40342 45413 moveto
+41230 45413 lineto
+stroke
+newpath
+43296 45413 moveto
+46182 45413 lineto
+stroke
+newpath
+27047 45333 moveto
+32821 45333 lineto
+stroke
+newpath
+33479 45333 moveto
+36461 45333 lineto
+stroke
+newpath
+40262 45333 moveto
+41230 45333 lineto
+stroke
+newpath
+43216 45333 moveto
+46182 45333 lineto
+stroke
+newpath
+27047 45253 moveto
+32821 45253 lineto
+stroke
+newpath
+33479 45253 moveto
+36541 45253 lineto
+stroke
+newpath
+40258 45253 moveto
+41230 45253 lineto
+stroke
+newpath
+43136 45253 moveto
+46182 45253 lineto
+stroke
+newpath
+27047 45173 moveto
+32821 45173 lineto
+stroke
+newpath
+33479 45173 moveto
+36621 45173 lineto
+stroke
+newpath
+40291 45173 moveto
+41230 45173 lineto
+stroke
+newpath
+43056 45173 moveto
+46182 45173 lineto
+stroke
+newpath
+27047 45093 moveto
+32821 45093 lineto
+stroke
+newpath
+33479 45093 moveto
+36701 45093 lineto
+stroke
+newpath
+40310 45093 moveto
+41230 45093 lineto
+stroke
+newpath
+43074 45093 moveto
+46182 45093 lineto
+stroke
+newpath
+27047 45013 moveto
+32821 45013 lineto
+stroke
+newpath
+33479 45013 moveto
+36781 45013 lineto
+stroke
+newpath
+40310 45013 moveto
+41230 45013 lineto
+stroke
+newpath
+43114 45013 moveto
+46182 45013 lineto
+stroke
+newpath
+27047 44933 moveto
+32821 44933 lineto
+stroke
+newpath
+33479 44933 moveto
+36861 44933 lineto
+stroke
+newpath
+40309 44933 moveto
+41230 44933 lineto
+stroke
+newpath
+43123 44933 moveto
+46182 44933 lineto
+stroke
+newpath
+27047 44853 moveto
+32821 44853 lineto
+stroke
+newpath
+33479 44853 moveto
+36941 44853 lineto
+stroke
+newpath
+40276 44853 moveto
+41230 44853 lineto
+stroke
+newpath
+43123 44853 moveto
+46182 44853 lineto
+stroke
+newpath
+27047 44773 moveto
+32821 44773 lineto
+stroke
+newpath
+33479 44773 moveto
+37033 44773 lineto
+stroke
+newpath
+40243 44773 moveto
+41230 44773 lineto
+stroke
+newpath
+43123 44773 moveto
+46182 44773 lineto
+stroke
+newpath
+27047 44693 moveto
+32821 44693 lineto
+stroke
+newpath
+33479 44693 moveto
+33990 44693 lineto
+stroke
+newpath
+34241 44693 moveto
+34990 44693 lineto
+stroke
+newpath
+35241 44693 moveto
+35990 44693 lineto
+stroke
+newpath
+36241 44693 moveto
+36990 44693 lineto
+stroke
+newpath
+37241 44693 moveto
+37990 44693 lineto
+stroke
+newpath
+38241 44693 moveto
+39474 44693 lineto
+stroke
+newpath
+40173 44693 moveto
+41230 44693 lineto
+stroke
+newpath
+43123 44693 moveto
+46182 44693 lineto
+stroke
+newpath
+27047 44613 moveto
+32821 44613 lineto
+stroke
+newpath
+33479 44613 moveto
+33795 44613 lineto
+stroke
+newpath
+34433 44613 moveto
+34795 44613 lineto
+stroke
+newpath
+35433 44613 moveto
+35795 44613 lineto
+stroke
+newpath
+36433 44613 moveto
+36795 44613 lineto
+stroke
+newpath
+37433 44613 moveto
+37795 44613 lineto
+stroke
+newpath
+38433 44613 moveto
+38580 44613 lineto
+stroke
+newpath
+40084 44613 moveto
+41230 44613 lineto
+stroke
+newpath
+43123 44613 moveto
+46182 44613 lineto
+stroke
+newpath
+27047 44533 moveto
+32821 44533 lineto
+stroke
+newpath
+33479 44533 moveto
+33700 44533 lineto
+stroke
+newpath
+34528 44533 moveto
+34700 44533 lineto
+stroke
+newpath
+35528 44533 moveto
+35700 44533 lineto
+stroke
+newpath
+36528 44533 moveto
+36700 44533 lineto
+stroke
+newpath
+37528 44533 moveto
+37700 44533 lineto
+stroke
+newpath
+39700 44533 moveto
+41232 44533 lineto
+stroke
+newpath
+43123 44533 moveto
+46182 44533 lineto
+stroke
+newpath
+27047 44453 moveto
+32821 44453 lineto
+stroke
+newpath
+33479 44453 moveto
+33620 44453 lineto
+stroke
+newpath
+34608 44453 moveto
+34620 44453 lineto
+stroke
+newpath
+35608 44453 moveto
+35620 44453 lineto
+stroke
+newpath
+36608 44453 moveto
+36620 44453 lineto
+stroke
+newpath
+37608 44453 moveto
+37619 44453 lineto
+stroke
+newpath
+39717 44453 moveto
+41248 44453 lineto
+stroke
+newpath
+43123 44453 moveto
+46182 44453 lineto
+stroke
+newpath
+27047 44373 moveto
+32821 44373 lineto
+stroke
+newpath
+33517 44373 moveto
+33574 44373 lineto
+stroke
+newpath
+39717 44373 moveto
+41287 44373 lineto
+stroke
+newpath
+43123 44373 moveto
+46182 44373 lineto
+stroke
+newpath
+27047 44293 moveto
+32821 44293 lineto
+stroke
+newpath
+39717 44293 moveto
+41348 44293 lineto
+stroke
+newpath
+43123 44293 moveto
+46182 44293 lineto
+stroke
+newpath
+27047 44213 moveto
+32832 44213 lineto
+stroke
+newpath
+39717 44213 moveto
+41428 44213 lineto
+stroke
+newpath
+43123 44213 moveto
+46182 44213 lineto
+stroke
+newpath
+27047 44133 moveto
+32855 44133 lineto
+stroke
+newpath
+39717 44133 moveto
+41508 44133 lineto
+stroke
+newpath
+43102 44133 moveto
+46182 44133 lineto
+stroke
+newpath
+27047 44053 moveto
+32909 44053 lineto
+stroke
+newpath
+39717 44053 moveto
+41588 44053 lineto
+stroke
+newpath
+43046 44053 moveto
+46182 44053 lineto
+stroke
+newpath
+27047 43973 moveto
+32985 43973 lineto
+stroke
+newpath
+39717 43973 moveto
+41668 43973 lineto
+stroke
+newpath
+42987 43973 moveto
+46182 43973 lineto
+stroke
+newpath
+27047 43893 moveto
+33065 43893 lineto
+stroke
+newpath
+39717 43893 moveto
+41748 43893 lineto
+stroke
+newpath
+43047 43893 moveto
+46182 43893 lineto
+stroke
+newpath
+27047 43813 moveto
+33145 43813 lineto
+stroke
+newpath
+39717 43813 moveto
+41828 43813 lineto
+stroke
+newpath
+43080 43813 moveto
+46182 43813 lineto
+stroke
+newpath
+27047 43733 moveto
+33225 43733 lineto
+stroke
+newpath
+39717 43733 moveto
+41908 43733 lineto
+stroke
+newpath
+43112 43733 moveto
+46182 43733 lineto
+stroke
+newpath
+27047 43653 moveto
+33305 43653 lineto
+stroke
+newpath
+34540 43653 moveto
+34688 43653 lineto
+stroke
+newpath
+35540 43653 moveto
+35688 43653 lineto
+stroke
+newpath
+36539 43653 moveto
+36687 43653 lineto
+stroke
+newpath
+37540 43653 moveto
+37688 43653 lineto
+stroke
+newpath
+39704 43653 moveto
+41917 43653 lineto
+stroke
+newpath
+43123 43653 moveto
+46182 43653 lineto
+stroke
+newpath
+27047 43573 moveto
+33385 43573 lineto
+stroke
+newpath
+34460 43573 moveto
+34768 43573 lineto
+stroke
+newpath
+35460 43573 moveto
+35768 43573 lineto
+stroke
+newpath
+36459 43573 moveto
+36767 43573 lineto
+stroke
+newpath
+37460 43573 moveto
+37768 43573 lineto
+stroke
+newpath
+38459 43573 moveto
+38568 43573 lineto
+stroke
+newpath
+39660 43573 moveto
+41917 43573 lineto
+stroke
+newpath
+43123 43573 moveto
+46182 43573 lineto
+stroke
+newpath
+27047 43493 moveto
+33465 43493 lineto
+stroke
+newpath
+34537 43493 moveto
+34958 43493 lineto
+stroke
+newpath
+35268 43493 moveto
+35958 43493 lineto
+stroke
+newpath
+36268 43493 moveto
+36958 43493 lineto
+stroke
+newpath
+37268 43493 moveto
+37958 43493 lineto
+stroke
+newpath
+38268 43493 moveto
+38688 43493 lineto
+stroke
+newpath
+39538 43493 moveto
+41917 43493 lineto
+stroke
+newpath
+43123 43493 moveto
+46182 43493 lineto
+stroke
+newpath
+27047 43413 moveto
+33545 43413 lineto
+stroke
+newpath
+34699 43413 moveto
+41939 43413 lineto
+stroke
+newpath
+43100 43413 moveto
+46182 43413 lineto
+stroke
+newpath
+27047 43333 moveto
+33625 43333 lineto
+stroke
+newpath
+34779 43333 moveto
+41972 43333 lineto
+stroke
+newpath
+43067 43333 moveto
+46182 43333 lineto
+stroke
+newpath
+27047 43253 moveto
+33705 43253 lineto
+stroke
+newpath
+34832 43253 moveto
+42005 43253 lineto
+stroke
+newpath
+43034 43253 moveto
+46182 43253 lineto
+stroke
+newpath
+27047 43173 moveto
+33785 43173 lineto
+stroke
+newpath
+34865 43173 moveto
+42081 43173 lineto
+stroke
+newpath
+42959 43173 moveto
+46182 43173 lineto
+stroke
+newpath
+27047 43093 moveto
+33865 43093 lineto
+stroke
+newpath
+34887 43093 moveto
+42161 43093 lineto
+stroke
+newpath
+42879 43093 moveto
+46182 43093 lineto
+stroke
+newpath
+27047 43013 moveto
+33915 43013 lineto
+stroke
+newpath
+34887 43013 moveto
+42329 43013 lineto
+stroke
+newpath
+42709 43013 moveto
+46182 43013 lineto
+stroke
+newpath
+27047 42933 moveto
+33915 42933 lineto
+stroke
+newpath
+34887 42933 moveto
+46182 42933 lineto
+stroke
+newpath
+27047 42853 moveto
+33945 42853 lineto
+stroke
+newpath
+34856 42853 moveto
+46182 42853 lineto
+stroke
+newpath
+27047 42773 moveto
+33978 42773 lineto
+stroke
+newpath
+34823 42773 moveto
+46182 42773 lineto
+stroke
+newpath
+27047 42693 moveto
+34043 42693 lineto
+stroke
+newpath
+34758 42693 moveto
+46182 42693 lineto
+stroke
+newpath
+27047 42613 moveto
+34123 42613 lineto
+stroke
+newpath
+34678 42613 moveto
+46182 42613 lineto
+stroke
+newpath
+27047 42533 moveto
+46182 42533 lineto
+stroke
+newpath
+27047 42453 moveto
+46182 42453 lineto
+stroke
+newpath
+27047 42373 moveto
+46182 42373 lineto
+stroke
+newpath
+27047 42293 moveto
+46182 42293 lineto
+stroke
+newpath
+27047 42213 moveto
+46182 42213 lineto
+stroke
+newpath
+27047 42133 moveto
+46182 42133 lineto
+stroke
+newpath
+27047 42053 moveto
+46182 42053 lineto
+stroke
+newpath
+27047 41973 moveto
+46182 41973 lineto
+stroke
+newpath
+27047 41893 moveto
+46182 41893 lineto
+stroke
+newpath
+27047 41813 moveto
+46182 41813 lineto
+stroke
+newpath
+27047 41733 moveto
+46182 41733 lineto
+stroke
+newpath
+27047 41653 moveto
+46182 41653 lineto
+stroke
+newpath
+27047 41573 moveto
+46182 41573 lineto
+stroke
+newpath
+27047 41493 moveto
+46182 41493 lineto
+stroke
+newpath
+27047 41413 moveto
+46182 41413 lineto
+stroke
+newpath
+27047 41333 moveto
+46182 41333 lineto
+stroke
+newpath
+27047 41253 moveto
+27494 41253 lineto
+stroke
+newpath
+27625 41253 moveto
+45407 41253 lineto
+stroke
+newpath
+45538 41253 moveto
+46182 41253 lineto
+stroke
+newpath
+27047 41173 moveto
+27332 41173 lineto
+stroke
+newpath
+27787 41173 moveto
+45245 41173 lineto
+stroke
+newpath
+45700 41173 moveto
+46182 41173 lineto
+stroke
+newpath
+27047 41093 moveto
+27276 41093 lineto
+stroke
+newpath
+27843 41093 moveto
+45189 41093 lineto
+stroke
+newpath
+45756 41093 moveto
+46182 41093 lineto
+stroke
+newpath
+27047 41013 moveto
+27246 41013 lineto
+stroke
+newpath
+27873 41013 moveto
+45159 41013 lineto
+stroke
+newpath
+45786 41013 moveto
+46182 41013 lineto
+stroke
+newpath
+27047 40933 moveto
+27231 40933 lineto
+stroke
+newpath
+27887 40933 moveto
+45144 40933 lineto
+stroke
+newpath
+45800 40933 moveto
+46182 40933 lineto
+stroke
+newpath
+27047 40853 moveto
+27068 40853 lineto
+stroke
+newpath
+28049 40853 moveto
+44984 40853 lineto
+stroke
+newpath
+45962 40853 moveto
+46182 40853 lineto
+stroke
+newpath
+28188 40773 moveto
+44845 40773 lineto
+stroke
+newpath
+46101 40773 moveto
+46182 40773 lineto
+stroke
+newpath
+28241 40693 moveto
+44792 40693 lineto
+stroke
+newpath
+46154 40693 moveto
+46182 40693 lineto
+stroke
+newpath
+28268 40613 moveto
+44765 40613 lineto
+stroke
+newpath
+46181 40613 moveto
+46182 40613 lineto
+stroke
+newpath
+28278 40533 moveto
+44753 40533 lineto
+stroke
+newpath
+28262 40453 moveto
+44769 40453 lineto
+stroke
+newpath
+46175 40453 moveto
+46182 40453 lineto
+stroke
+newpath
+28225 40373 moveto
+44806 40373 lineto
+stroke
+newpath
+46138 40373 moveto
+46182 40373 lineto
+stroke
+newpath
+28156 40293 moveto
+44875 40293 lineto
+stroke
+newpath
+46069 40293 moveto
+46182 40293 lineto
+stroke
+newpath
+27047 40213 moveto
+27202 40213 lineto
+stroke
+newpath
+27915 40213 moveto
+45115 40213 lineto
+stroke
+newpath
+45828 40213 moveto
+46182 40213 lineto
+stroke
+newpath
+27047 40133 moveto
+27234 40133 lineto
+stroke
+newpath
+27883 40133 moveto
+45147 40133 lineto
+stroke
+newpath
+45796 40133 moveto
+46182 40133 lineto
+stroke
+newpath
+27047 40053 moveto
+27250 40053 lineto
+stroke
+newpath
+27867 40053 moveto
+45163 40053 lineto
+stroke
+newpath
+45780 40053 moveto
+46182 40053 lineto
+stroke
+newpath
+27047 39973 moveto
+27290 39973 lineto
+stroke
+newpath
+27827 39973 moveto
+45203 39973 lineto
+stroke
+newpath
+45740 39973 moveto
+46182 39973 lineto
+stroke
+newpath
+27047 39893 moveto
+27364 39893 lineto
+stroke
+newpath
+27753 39893 moveto
+45277 39893 lineto
+stroke
+newpath
+45666 39893 moveto
+46182 39893 lineto
+stroke
+newpath
+27047 39813 moveto
+46182 39813 lineto
+stroke
+newpath
+27047 39733 moveto
+46182 39733 lineto
+stroke
+newpath
+27047 39653 moveto
+46182 39653 lineto
+stroke
+newpath
+42764 47526 moveto
+42764 47526 lineto
+stroke
+newpath
+42764 47446 moveto
+42844 47446 lineto
+stroke
+newpath
+42762 47366 moveto
+42924 47366 lineto
+stroke
+newpath
+42729 47286 moveto
+42961 47286 lineto
+stroke
+newpath
+42696 47206 moveto
+42961 47206 lineto
+stroke
+newpath
+42624 47126 moveto
+42961 47126 lineto
+stroke
+newpath
+42531 47046 moveto
+42961 47046 lineto
+stroke
+newpath
+42170 46966 moveto
+42961 46966 lineto
+stroke
+newpath
+42090 46886 moveto
+42961 46886 lineto
+stroke
+newpath
+42010 46806 moveto
+42961 46806 lineto
+stroke
+newpath
+41930 46726 moveto
+42961 46726 lineto
+stroke
+newpath
+41888 46646 moveto
+42961 46646 lineto
+stroke
+newpath
+41888 46566 moveto
+42961 46566 lineto
+stroke
+newpath
+41888 46486 moveto
+42961 46486 lineto
+stroke
+newpath
+41888 46406 moveto
+42961 46406 lineto
+stroke
+newpath
+41888 46326 moveto
+42961 46326 lineto
+stroke
+newpath
+41888 46246 moveto
+42961 46246 lineto
+stroke
+newpath
+41888 46166 moveto
+42961 46166 lineto
+stroke
+newpath
+41888 46086 moveto
+42961 46086 lineto
+stroke
+newpath
+41888 46006 moveto
+42959 46006 lineto
+stroke
+newpath
+41888 45926 moveto
+42879 45926 lineto
+stroke
+newpath
+41888 45846 moveto
+42799 45846 lineto
+stroke
+newpath
+41888 45766 moveto
+42719 45766 lineto
+stroke
+newpath
+41888 45686 moveto
+42639 45686 lineto
+stroke
+newpath
+41888 45606 moveto
+42559 45606 lineto
+stroke
+newpath
+41888 45526 moveto
+42479 45526 lineto
+stroke
+newpath
+41888 45446 moveto
+42399 45446 lineto
+stroke
+newpath
+41888 45366 moveto
+42319 45366 lineto
+stroke
+newpath
+41888 45286 moveto
+42256 45286 lineto
+stroke
+newpath
+41888 45206 moveto
+42212 45206 lineto
+stroke
+newpath
+41888 45126 moveto
+41999 45126 lineto
+stroke
+newpath
+41888 45046 moveto
+41940 45046 lineto
+stroke
+newpath
+41888 44966 moveto
+41917 44966 lineto
+stroke
+newpath
+41888 44886 moveto
+41917 44886 lineto
+stroke
+newpath
+41888 44806 moveto
+41917 44806 lineto
+stroke
+newpath
+41888 44726 moveto
+41917 44726 lineto
+stroke
+newpath
+33377 50521 moveto
+33377 50521 lineto
+stroke
+newpath
+33315 50441 moveto
+33425 50441 lineto
+stroke
+newpath
+33385 50361 moveto
+33553 50361 lineto
+stroke
+newpath
+33418 50281 moveto
+33636 50281 lineto
+stroke
+newpath
+33451 50201 moveto
+33636 50201 lineto
+stroke
+newpath
+33451 50121 moveto
+33636 50121 lineto
+stroke
+newpath
+33451 50041 moveto
+33636 50041 lineto
+stroke
+newpath
+33432 49961 moveto
+33636 49961 lineto
+stroke
+newpath
+33399 49881 moveto
+33636 49881 lineto
+stroke
+newpath
+33350 49801 moveto
+33636 49801 lineto
+stroke
+newpath
+33270 49721 moveto
+33636 49721 lineto
+stroke
+newpath
+33116 49641 moveto
+33636 49641 lineto
+stroke
+newpath
+33165 49561 moveto
+33648 49561 lineto
+stroke
+newpath
+33245 49481 moveto
+33672 49481 lineto
+stroke
+newpath
+33325 49401 moveto
+33725 49401 lineto
+stroke
+newpath
+33405 49321 moveto
+33802 49321 lineto
+stroke
+newpath
+33485 49241 moveto
+33882 49241 lineto
+stroke
+newpath
+33565 49161 moveto
+33962 49161 lineto
+stroke
+newpath
+33645 49081 moveto
+34042 49081 lineto
+stroke
+newpath
+33725 49001 moveto
+34122 49001 lineto
+stroke
+newpath
+33805 48921 moveto
+34202 48921 lineto
+stroke
+newpath
+33885 48841 moveto
+34282 48841 lineto
+stroke
+newpath
+33965 48761 moveto
+34362 48761 lineto
+stroke
+newpath
+34045 48681 moveto
+34442 48681 lineto
+stroke
+newpath
+34125 48601 moveto
+34522 48601 lineto
+stroke
+newpath
+34205 48521 moveto
+34602 48521 lineto
+stroke
+newpath
+34285 48441 moveto
+34682 48441 lineto
+stroke
+newpath
+34365 48361 moveto
+34762 48361 lineto
+stroke
+newpath
+34445 48281 moveto
+34842 48281 lineto
+stroke
+newpath
+34525 48201 moveto
+34922 48201 lineto
+stroke
+newpath
+34605 48121 moveto
+35002 48121 lineto
+stroke
+newpath
+34685 48041 moveto
+35082 48041 lineto
+stroke
+newpath
+34765 47961 moveto
+35162 47961 lineto
+stroke
+newpath
+34845 47881 moveto
+35242 47881 lineto
+stroke
+newpath
+34925 47801 moveto
+35322 47801 lineto
+stroke
+newpath
+35005 47721 moveto
+35402 47721 lineto
+stroke
+newpath
+35085 47641 moveto
+35482 47641 lineto
+stroke
+newpath
+35165 47561 moveto
+35562 47561 lineto
+stroke
+newpath
+35245 47481 moveto
+35642 47481 lineto
+stroke
+newpath
+35325 47401 moveto
+35722 47401 lineto
+stroke
+newpath
+35405 47321 moveto
+35802 47321 lineto
+stroke
+newpath
+35485 47241 moveto
+35882 47241 lineto
+stroke
+newpath
+35565 47161 moveto
+35962 47161 lineto
+stroke
+newpath
+35645 47081 moveto
+36042 47081 lineto
+stroke
+newpath
+35725 47001 moveto
+36122 47001 lineto
+stroke
+newpath
+35805 46921 moveto
+36202 46921 lineto
+stroke
+newpath
+35885 46841 moveto
+36282 46841 lineto
+stroke
+newpath
+35965 46761 moveto
+36362 46761 lineto
+stroke
+newpath
+36045 46681 moveto
+36442 46681 lineto
+stroke
+newpath
+36125 46601 moveto
+36522 46601 lineto
+stroke
+newpath
+36205 46521 moveto
+36602 46521 lineto
+stroke
+newpath
+36285 46441 moveto
+36682 46441 lineto
+stroke
+newpath
+36365 46361 moveto
+36762 46361 lineto
+stroke
+newpath
+36445 46281 moveto
+36842 46281 lineto
+stroke
+newpath
+36525 46201 moveto
+36922 46201 lineto
+stroke
+newpath
+36605 46121 moveto
+37002 46121 lineto
+stroke
+newpath
+36685 46041 moveto
+37082 46041 lineto
+stroke
+newpath
+36765 45961 moveto
+37162 45961 lineto
+stroke
+newpath
+36845 45881 moveto
+37242 45881 lineto
+stroke
+newpath
+36925 45801 moveto
+37322 45801 lineto
+stroke
+newpath
+37005 45721 moveto
+37402 45721 lineto
+stroke
+newpath
+37085 45641 moveto
+37482 45641 lineto
+stroke
+newpath
+37165 45561 moveto
+37562 45561 lineto
+stroke
+newpath
+37245 45481 moveto
+37642 45481 lineto
+stroke
+newpath
+37325 45401 moveto
+37722 45401 lineto
+stroke
+newpath
+38927 51255 moveto
+38927 51255 lineto
+stroke
+newpath
+38717 51175 moveto
+38927 51175 lineto
+stroke
+newpath
+38637 51095 moveto
+38927 51095 lineto
+stroke
+newpath
+38557 51015 moveto
+38927 51015 lineto
+stroke
+newpath
+38477 50935 moveto
+38926 50935 lineto
+stroke
+newpath
+38397 50855 moveto
+38942 50855 lineto
+stroke
+newpath
+38317 50775 moveto
+38975 50775 lineto
+stroke
+newpath
+38237 50695 moveto
+39032 50695 lineto
+stroke
+newpath
+38157 50615 moveto
+39112 50615 lineto
+stroke
+newpath
+38077 50535 moveto
+39192 50535 lineto
+stroke
+newpath
+37997 50455 moveto
+39272 50455 lineto
+stroke
+newpath
+37917 50375 moveto
+39352 50375 lineto
+stroke
+newpath
+37837 50295 moveto
+39432 50295 lineto
+stroke
+newpath
+37757 50215 moveto
+39512 50215 lineto
+stroke
+newpath
+37677 50135 moveto
+39592 50135 lineto
+stroke
+newpath
+37597 50055 moveto
+39672 50055 lineto
+stroke
+newpath
+37517 49975 moveto
+39752 49975 lineto
+stroke
+newpath
+37437 49895 moveto
+39832 49895 lineto
+stroke
+newpath
+37357 49815 moveto
+39912 49815 lineto
+stroke
+newpath
+37277 49735 moveto
+39992 49735 lineto
+stroke
+newpath
+37197 49655 moveto
+40072 49655 lineto
+stroke
+newpath
+37117 49575 moveto
+40152 49575 lineto
+stroke
+newpath
+37023 49495 moveto
+40232 49495 lineto
+stroke
+newpath
+36152 49415 moveto
+40312 49415 lineto
+stroke
+newpath
+36057 49335 moveto
+40392 49335 lineto
+stroke
+newpath
+35631 49255 moveto
+40472 49255 lineto
+stroke
+newpath
+35561 49175 moveto
+40552 49175 lineto
+stroke
+newpath
+35472 49095 moveto
+40632 49095 lineto
+stroke
+newpath
+35379 49015 moveto
+40712 49015 lineto
+stroke
+newpath
+35459 48935 moveto
+40792 48935 lineto
+stroke
+newpath
+35539 48855 moveto
+40872 48855 lineto
+stroke
+newpath
+35619 48775 moveto
+40952 48775 lineto
+stroke
+newpath
+35699 48695 moveto
+41032 48695 lineto
+stroke
+newpath
+35779 48615 moveto
+41112 48615 lineto
+stroke
+newpath
+35859 48535 moveto
+41192 48535 lineto
+stroke
+newpath
+35939 48455 moveto
+41272 48455 lineto
+stroke
+newpath
+36019 48375 moveto
+41352 48375 lineto
+stroke
+newpath
+36099 48295 moveto
+41432 48295 lineto
+stroke
+newpath
+36179 48215 moveto
+41512 48215 lineto
+stroke
+newpath
+36259 48135 moveto
+41445 48135 lineto
+stroke
+newpath
+36339 48055 moveto
+41380 48055 lineto
+stroke
+newpath
+36419 47975 moveto
+41347 47975 lineto
+stroke
+newpath
+36499 47895 moveto
+41315 47895 lineto
+stroke
+newpath
+36579 47815 moveto
+41315 47815 lineto
+stroke
+newpath
+36659 47735 moveto
+41267 47735 lineto
+stroke
+newpath
+36739 47655 moveto
+41187 47655 lineto
+stroke
+newpath
+36819 47575 moveto
+41107 47575 lineto
+stroke
+newpath
+36899 47495 moveto
+41027 47495 lineto
+stroke
+newpath
+36979 47415 moveto
+40947 47415 lineto
+stroke
+newpath
+37059 47335 moveto
+40867 47335 lineto
+stroke
+newpath
+37139 47255 moveto
+40787 47255 lineto
+stroke
+newpath
+37219 47175 moveto
+40707 47175 lineto
+stroke
+newpath
+37299 47095 moveto
+40627 47095 lineto
+stroke
+newpath
+37379 47015 moveto
+40547 47015 lineto
+stroke
+newpath
+37459 46935 moveto
+40467 46935 lineto
+stroke
+newpath
+37539 46855 moveto
+40387 46855 lineto
+stroke
+newpath
+37619 46775 moveto
+40307 46775 lineto
+stroke
+newpath
+37699 46695 moveto
+40227 46695 lineto
+stroke
+newpath
+37779 46615 moveto
+40147 46615 lineto
+stroke
+newpath
+37859 46535 moveto
+40067 46535 lineto
+stroke
+newpath
+37939 46455 moveto
+39987 46455 lineto
+stroke
+newpath
+38019 46375 moveto
+39907 46375 lineto
+stroke
+newpath
+38099 46295 moveto
+39472 46295 lineto
+stroke
+newpath
+38179 46215 moveto
+39348 46215 lineto
+stroke
+newpath
+34481 52632 moveto
+36951 52632 lineto
+stroke
+newpath
+34408 52552 moveto
+36778 52552 lineto
+stroke
+newpath
+34327 52472 moveto
+36610 52472 lineto
+stroke
+newpath
+34387 52392 moveto
+36530 52392 lineto
+stroke
+newpath
+34467 52312 moveto
+36474 52312 lineto
+stroke
+newpath
+34506 52232 moveto
+36441 52232 lineto
+stroke
+newpath
+34539 52152 moveto
+36417 52152 lineto
+stroke
+newpath
+34568 52072 moveto
+36417 52072 lineto
+stroke
+newpath
+34568 51992 moveto
+36351 51992 lineto
+stroke
+newpath
+34568 51912 moveto
+36271 51912 lineto
+stroke
+newpath
+34564 51832 moveto
+36191 51832 lineto
+stroke
+newpath
+34640 51752 moveto
+36111 51752 lineto
+stroke
+newpath
+34718 51672 moveto
+36031 51672 lineto
+stroke
+newpath
+34771 51592 moveto
+35951 51592 lineto
+stroke
+newpath
+34796 51512 moveto
+35871 51512 lineto
+stroke
+newpath
+34809 51432 moveto
+35791 51432 lineto
+stroke
+newpath
+34809 51352 moveto
+35711 51352 lineto
+stroke
+newpath
+34809 51272 moveto
+35631 51272 lineto
+stroke
+newpath
+34809 51192 moveto
+35551 51192 lineto
+stroke
+newpath
+34809 51112 moveto
+35471 51112 lineto
+stroke
+newpath
+34809 51032 moveto
+35391 51032 lineto
+stroke
+newpath
+34809 50952 moveto
+35311 50952 lineto
+stroke
+newpath
+34809 50872 moveto
+35231 50872 lineto
+stroke
+newpath
+34809 50792 moveto
+35151 50792 lineto
+stroke
+newpath
+34809 50712 moveto
+35071 50712 lineto
+stroke
+newpath
+34809 50632 moveto
+34991 50632 lineto
+stroke
+newpath
+34809 50552 moveto
+34934 50552 lineto
+stroke
+newpath
+34809 50472 moveto
+34900 50472 lineto
+stroke
+newpath
+34809 50392 moveto
+34884 50392 lineto
+stroke
+newpath
+34809 50312 moveto
+34883 50312 lineto
+stroke
+newpath
+34809 50232 moveto
+34883 50232 lineto
+stroke
+newpath
+34809 50152 moveto
+34883 50152 lineto
+stroke
+newpath
+34809 50072 moveto
+34883 50072 lineto
+stroke
+newpath
+34809 49992 moveto
+34883 49992 lineto
+stroke
+newpath
+34809 49912 moveto
+34883 49912 lineto
+stroke
+newpath
+34809 49832 moveto
+34843 49832 lineto
+stroke
+newpath
+35031 54453 moveto
+35031 54453 lineto
+stroke
+newpath
+34951 54373 moveto
+36110 54373 lineto
+stroke
+newpath
+34871 54293 moveto
+36202 54293 lineto
+stroke
+newpath
+34791 54213 moveto
+36382 54213 lineto
+stroke
+newpath
+34711 54133 moveto
+37422 54133 lineto
+stroke
+newpath
+34631 54053 moveto
+37502 54053 lineto
+stroke
+newpath
+34551 53973 moveto
+37582 53973 lineto
+stroke
+newpath
+34471 53893 moveto
+37662 53893 lineto
+stroke
+newpath
+34391 53813 moveto
+37742 53813 lineto
+stroke
+newpath
+34311 53733 moveto
+37822 53733 lineto
+stroke
+newpath
+34231 53653 moveto
+37902 53653 lineto
+stroke
+newpath
+34151 53573 moveto
+37982 53573 lineto
+stroke
+newpath
+34257 53493 moveto
+38062 53493 lineto
+stroke
+newpath
+34366 53413 moveto
+38142 53413 lineto
+stroke
+newpath
+34446 53333 moveto
+38222 53333 lineto
+stroke
+newpath
+37326 53253 moveto
+38302 53253 lineto
+stroke
+newpath
+37578 53173 moveto
+38382 53173 lineto
+stroke
+newpath
+37737 53093 moveto
+38462 53093 lineto
+stroke
+newpath
+37817 53013 moveto
+38542 53013 lineto
+stroke
+newpath
+37869 52933 moveto
+38622 52933 lineto
+stroke
+newpath
+37902 52853 moveto
+38702 52853 lineto
+stroke
+newpath
+37923 52773 moveto
+38782 52773 lineto
+stroke
+newpath
+37923 52693 moveto
+38862 52693 lineto
+stroke
+newpath
+37923 52613 moveto
+38927 52613 lineto
+stroke
+newpath
+37891 52533 moveto
+38927 52533 lineto
+stroke
+newpath
+37858 52453 moveto
+38927 52453 lineto
+stroke
+newpath
+37792 52373 moveto
+38927 52373 lineto
+stroke
+newpath
+37712 52293 moveto
+38927 52293 lineto
+stroke
+newpath
+37373 52213 moveto
+38703 52213 lineto
+stroke
+newpath
+38915 52213 moveto
+38927 52213 lineto
+stroke
+newpath
+37389 52133 moveto
+38523 52133 lineto
+stroke
+newpath
+37389 52053 moveto
+38443 52053 lineto
+stroke
+newpath
+37385 51973 moveto
+38382 51973 lineto
+stroke
+newpath
+37352 51893 moveto
+38349 51893 lineto
+stroke
+newpath
+37319 51813 moveto
+38322 51813 lineto
+stroke
+newpath
+37245 51733 moveto
+38322 51733 lineto
+stroke
+newpath
+37146 51653 moveto
+38264 51653 lineto
+stroke
+newpath
+36863 51573 moveto
+38184 51573 lineto
+stroke
+newpath
+36783 51493 moveto
+38104 51493 lineto
+stroke
+newpath
+36703 51413 moveto
+38024 51413 lineto
+stroke
+newpath
+36623 51333 moveto
+37944 51333 lineto
+stroke
+newpath
+36543 51253 moveto
+37864 51253 lineto
+stroke
+newpath
+36463 51173 moveto
+37784 51173 lineto
+stroke
+newpath
+36383 51093 moveto
+37704 51093 lineto
+stroke
+newpath
+36303 51013 moveto
+37624 51013 lineto
+stroke
+newpath
+36223 50933 moveto
+37544 50933 lineto
+stroke
+newpath
+36143 50853 moveto
+37464 50853 lineto
+stroke
+newpath
+36063 50773 moveto
+37384 50773 lineto
+stroke
+newpath
+35983 50693 moveto
+37304 50693 lineto
+stroke
+newpath
+35903 50613 moveto
+37224 50613 lineto
+stroke
+newpath
+35823 50533 moveto
+37144 50533 lineto
+stroke
+newpath
+35743 50453 moveto
+37064 50453 lineto
+stroke
+newpath
+35663 50373 moveto
+36984 50373 lineto
+stroke
+newpath
+35583 50293 moveto
+36904 50293 lineto
+stroke
+newpath
+35541 50213 moveto
+35639 50213 lineto
+stroke
+newpath
+35977 50213 moveto
+36824 50213 lineto
+stroke
+newpath
+36119 50133 moveto
+36744 50133 lineto
+stroke
+newpath
+33464 51609 moveto
+33464 51609 lineto
+stroke
+newpath
+33384 51529 moveto
+33478 51529 lineto
+stroke
+newpath
+33330 51449 moveto
+33398 51449 lineto
+stroke
+newpath
+33465 52608 moveto
+33465 52608 lineto
+stroke
+newpath
+33385 52528 moveto
+33545 52528 lineto
+stroke
+newpath
+33331 52448 moveto
+33597 52448 lineto
+stroke
+newpath
+33411 52368 moveto
+33517 52368 lineto
+stroke
+newpath
+38780 55389 moveto
+38780 55389 lineto
+stroke
+newpath
+38700 55309 moveto
+38859 55309 lineto
+stroke
+newpath
+38621 55229 moveto
+38940 55229 lineto
+stroke
+newpath
+38533 55149 moveto
+39132 55149 lineto
+stroke
+newpath
+38453 55069 moveto
+39378 55069 lineto
+stroke
+newpath
+38373 54989 moveto
+39378 54989 lineto
+stroke
+newpath
+38293 54909 moveto
+39378 54909 lineto
+stroke
+newpath
+38213 54829 moveto
+39378 54829 lineto
+stroke
+newpath
+38133 54749 moveto
+39378 54749 lineto
+stroke
+newpath
+38053 54669 moveto
+39378 54669 lineto
+stroke
+newpath
+37973 54589 moveto
+39378 54589 lineto
+stroke
+newpath
+37978 54509 moveto
+39378 54509 lineto
+stroke
+newpath
+38058 54429 moveto
+39378 54429 lineto
+stroke
+newpath
+38138 54349 moveto
+39378 54349 lineto
+stroke
+newpath
+38218 54269 moveto
+39378 54269 lineto
+stroke
+newpath
+38298 54189 moveto
+39378 54189 lineto
+stroke
+newpath
+38378 54109 moveto
+39378 54109 lineto
+stroke
+newpath
+38458 54029 moveto
+39378 54029 lineto
+stroke
+newpath
+38538 53949 moveto
+39378 53949 lineto
+stroke
+newpath
+38618 53869 moveto
+39378 53869 lineto
+stroke
+newpath
+38698 53789 moveto
+39378 53789 lineto
+stroke
+newpath
+38778 53709 moveto
+39378 53709 lineto
+stroke
+newpath
+38858 53629 moveto
+39378 53629 lineto
+stroke
+newpath
+38938 53549 moveto
+39378 53549 lineto
+stroke
+newpath
+39018 53469 moveto
+39378 53469 lineto
+stroke
+newpath
+39098 53389 moveto
+39378 53389 lineto
+stroke
+newpath
+39178 53309 moveto
+39378 53309 lineto
+stroke
+newpath
+39258 53229 moveto
+39378 53229 lineto
+stroke
+newpath
+39338 53149 moveto
+39378 53149 lineto
+stroke
+newpath
+28360 56385 moveto
+28688 56385 lineto
+stroke
+newpath
+28360 56305 moveto
+28587 56305 lineto
+stroke
+newpath
+31649 56305 moveto
+33662 56305 lineto
+stroke
+newpath
+28360 56225 moveto
+28544 56225 lineto
+stroke
+newpath
+31693 56225 moveto
+33742 56225 lineto
+stroke
+newpath
+28360 56145 moveto
+28531 56145 lineto
+stroke
+newpath
+31705 56145 moveto
+33822 56145 lineto
+stroke
+newpath
+28360 56065 moveto
+28531 56065 lineto
+stroke
+newpath
+31705 56065 moveto
+33902 56065 lineto
+stroke
+newpath
+28360 55985 moveto
+28531 55985 lineto
+stroke
+newpath
+31705 55985 moveto
+33936 55985 lineto
+stroke
+newpath
+28360 55905 moveto
+28531 55905 lineto
+stroke
+newpath
+31705 55905 moveto
+33936 55905 lineto
+stroke
+newpath
+28360 55825 moveto
+28531 55825 lineto
+stroke
+newpath
+31705 55825 moveto
+33961 55825 lineto
+stroke
+newpath
+28360 55745 moveto
+28531 55745 lineto
+stroke
+newpath
+31705 55745 moveto
+33993 55745 lineto
+stroke
+newpath
+28360 55665 moveto
+28531 55665 lineto
+stroke
+newpath
+31705 55665 moveto
+34026 55665 lineto
+stroke
+newpath
+28360 55585 moveto
+28531 55585 lineto
+stroke
+newpath
+31705 55585 moveto
+34106 55585 lineto
+stroke
+newpath
+34972 55585 moveto
+35080 55585 lineto
+stroke
+newpath
+28360 55505 moveto
+28531 55505 lineto
+stroke
+newpath
+31705 55505 moveto
+34186 55505 lineto
+stroke
+newpath
+34892 55505 moveto
+34979 55505 lineto
+stroke
+newpath
+28360 55425 moveto
+28531 55425 lineto
+stroke
+newpath
+31705 55425 moveto
+34362 55425 lineto
+stroke
+newpath
+34714 55425 moveto
+34943 55425 lineto
+stroke
+newpath
+28360 55345 moveto
+28549 55345 lineto
+stroke
+newpath
+29718 55345 moveto
+30517 55345 lineto
+stroke
+newpath
+31687 55345 moveto
+34799 55345 lineto
+stroke
+newpath
+28360 55265 moveto
+28601 55265 lineto
+stroke
+newpath
+29667 55265 moveto
+30569 55265 lineto
+stroke
+newpath
+31635 55265 moveto
+34693 55265 lineto
+stroke
+newpath
+28360 55185 moveto
+34613 55185 lineto
+stroke
+newpath
+28360 55105 moveto
+34533 55105 lineto
+stroke
+newpath
+28418 55025 moveto
+34453 55025 lineto
+stroke
+newpath
+28498 54945 moveto
+34373 54945 lineto
+stroke
+newpath
+28578 54865 moveto
+34293 54865 lineto
+stroke
+newpath
+28658 54785 moveto
+34213 54785 lineto
+stroke
+newpath
+28738 54705 moveto
+34133 54705 lineto
+stroke
+newpath
+28818 54625 moveto
+34053 54625 lineto
+stroke
+newpath
+28898 54545 moveto
+33973 54545 lineto
+stroke
+newpath
+28978 54465 moveto
+33893 54465 lineto
+stroke
+newpath
+29058 54385 moveto
+33813 54385 lineto
+stroke
+newpath
+29138 54305 moveto
+33733 54305 lineto
+stroke
+newpath
+29218 54225 moveto
+33653 54225 lineto
+stroke
+newpath
+29298 54145 moveto
+33573 54145 lineto
+stroke
+newpath
+29552 54065 moveto
+33493 54065 lineto
+stroke
+newpath
+29654 53985 moveto
+33413 53985 lineto
+stroke
+newpath
+29734 53905 moveto
+33333 53905 lineto
+stroke
+newpath
+29814 53825 moveto
+33253 53825 lineto
+stroke
+newpath
+29894 53745 moveto
+33173 53745 lineto
+stroke
+newpath
+29974 53665 moveto
+33093 53665 lineto
+stroke
+newpath
+30054 53585 moveto
+33013 53585 lineto
+stroke
+newpath
+30134 53505 moveto
+32703 53505 lineto
+stroke
+newpath
+30214 53425 moveto
+32576 53425 lineto
+stroke
+newpath
+36055 55676 moveto
+36444 55676 lineto
+stroke
+newpath
+35982 55596 moveto
+36524 55596 lineto
+stroke
+newpath
+36088 55516 moveto
+36604 55516 lineto
+stroke
+newpath
+36131 55436 moveto
+36684 55436 lineto
+stroke
+newpath
+36248 55356 moveto
+36732 55356 lineto
+stroke
+newpath
+36359 55276 moveto
+36732 55276 lineto
+stroke
+newpath
+36439 55196 moveto
+36763 55196 lineto
+stroke
+newpath
+36519 55116 moveto
+36796 55116 lineto
+stroke
+newpath
+36599 55036 moveto
+36862 55036 lineto
+stroke
+newpath
+36885 55013 moveto
+36806 55093 lineto
+36732 55272 lineto
+36732 55389 lineto
+36444 55676 lineto
+36055 55676 lineto
+36050 55663 lineto
+35979 55593 lineto
+36034 55570 lineto
+36104 55500 lineto
+36142 55408 lineto
+36142 55395 lineto
+36210 55381 lineto
+36342 55293 lineto
+36622 55013 lineto
+36885 55013 lineto
+poly0
+1 1 1 setrgbcolor
+0 setlinewidth
+50 setlinewidth
+27559 40544 75 cir1
+0 setlinewidth
+50 setlinewidth
+45472 57866 75 cir1
+0 setlinewidth
+50 setlinewidth
+45472 40544 75 cir1
+0 setlinewidth
+50 setlinewidth
+42278 47467 75 cir1
+0 setlinewidth
+50 setlinewidth
+36903 52078 75 cir1
+0 setlinewidth
+50 setlinewidth
+35212 49513 75 cir1
+0 setlinewidth
+50 setlinewidth
+37437 52705 75 cir1
+0 setlinewidth
+50 setlinewidth
+37218 55368 75 cir1
+0 setlinewidth
+50 setlinewidth
+38808 51731 75 cir1
+0 setlinewidth
+50 setlinewidth
+35807 49757 75 cir1
+0 setlinewidth
+50 setlinewidth
+39708 51658 75 cir1
+0 setlinewidth
+50 setlinewidth
+41801 47803 75 cir1
+0 setlinewidth
+50 setlinewidth
+39824 45031 75 cir1
+0 setlinewidth
+50 setlinewidth
+39672 45852 75 cir1
+0 setlinewidth
+50 setlinewidth
+33150 46472 75 cir1
+0 setlinewidth
+50 setlinewidth
+34401 43023 75 cir1
+0 setlinewidth
+50 setlinewidth
+42390 48365 75 cir1
+0 setlinewidth
+50 setlinewidth
+32965 50103 75 cir1
+0 setlinewidth
+50 setlinewidth
+39280 55741 75 cir1
+0 setlinewidth
+50 setlinewidth
+38280 55741 75 cir1
+0 setlinewidth
+50 setlinewidth
+39114 44087 75 cir1
+0 setlinewidth
+50 setlinewidth
+38114 44087 75 cir1
+0 setlinewidth
+50 setlinewidth
+37114 44087 75 cir1
+0 setlinewidth
+50 setlinewidth
+36114 44087 75 cir1
+0 setlinewidth
+50 setlinewidth
+35114 44087 75 cir1
+0 setlinewidth
+50 setlinewidth
+34114 44087 75 cir1
+0 setlinewidth
+50 setlinewidth
+29134 55792 75 cir1
+0 setlinewidth
+50 setlinewidth
+29134 56792 75 cir1
+0 setlinewidth
+50 setlinewidth
+31102 55792 75 cir1
+0 setlinewidth
+50 setlinewidth
+31102 56792 75 cir1
+0 setlinewidth
+50 setlinewidth
+42520 44587 75 cir1
+0 setlinewidth
+50 setlinewidth
+42520 43587 75 cir1
+0 setlinewidth
+50 setlinewidth
+33965 50961 75 cir1
+0 setlinewidth
+50 setlinewidth
+32965 50961 75 cir1
+0 setlinewidth
+50 setlinewidth
+33965 51961 75 cir1
+0 setlinewidth
+50 setlinewidth
+32965 51961 75 cir1
+0 setlinewidth
+50 setlinewidth
+33965 52961 75 cir1
+0 setlinewidth
+50 setlinewidth
+32965 52961 75 cir1
+0 setlinewidth
+50 setlinewidth
+35539 55005 75 cir1
+0 setlinewidth
+50 setlinewidth
+35539 56005 75 cir1
+0 setlinewidth
+50 setlinewidth
+34539 56005 75 cir1
+0 0 0 setrgbcolor
+showpage
+grestore
+%%EOF
diff --git a/circuit/fridge-lock-Front.pdf b/circuit/fridge-lock-Front.pdf
new file mode 100644
index 0000000..4074c10
--- /dev/null
+++ b/circuit/fridge-lock-Front.pdf
Binary files differ
diff --git a/circuit/fridge-lock-Front.ps b/circuit/fridge-lock-Front.ps
new file mode 100644
index 0000000..527e823
--- /dev/null
+++ b/circuit/fridge-lock-Front.ps
@@ -0,0 +1,327837 @@
+%!PS-Adobe-3.0
+%%Creator: PCBNEW-PS
+%%CreationDate: Sat Mar 24 23:04:16 2012
+%%Title: /home/trygvis/dev/no.bitraf/fridge-lock/circuit/fridge-lock-Front.ps
+%%Pages: 1
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 596 843
+%%DocumentMedia: A4 595 842 0 () ()
+%%Orientation: Landscape
+%%EndComments
+%%Page: 1 1
+/line {
+ newpath
+ moveto
+ lineto
+ stroke
+} bind def
+/cir0 { newpath 0 360 arc stroke } bind def
+/cir1 { newpath 0 360 arc gsave fill grestore stroke } bind def
+/cir2 { newpath 0 360 arc gsave fill grestore stroke } bind def
+/arc0 { newpath arc stroke } bind def
+/arc1 { newpath 4 index 4 index moveto arc closepath gsave fill grestore stroke } bind def
+/arc2 { newpath 4 index 4 index moveto arc closepath gsave fill grestore stroke } bind def
+/poly0 { stroke } bind def
+/poly1 { closepath gsave fill grestore stroke } bind def
+/poly2 { closepath gsave fill grestore stroke } bind def
+/rect0 { rectstroke } bind def
+/rect1 { rectfill } bind def
+/rect2 { rectfill } bind def
+/linemode0 { 0 setlinecap 0 setlinejoin 0 setlinewidth } bind def
+/linemode1 { 1 setlinecap 1 setlinejoin } bind def
+/dashedline { [50 50] 0 setdash } bind def
+/solidline { [] 0 setdash } bind def
+gsave
+0.0072 0.0072 scale
+linemode1
+82670 0 translate 90 rotate
+60 setlinewidth
+150 setlinewidth
+newpath
+19000 30800 moveto
+19000 12500 lineto
+stroke
+newpath
+42500 30800 moveto
+19000 30800 lineto
+stroke
+newpath
+42500 12500 moveto
+42500 30800 lineto
+stroke
+100 setlinewidth
+0 0 0 setrgbcolor
+newpath
+41824 21385 moveto
+41443 21585 lineto
+stroke
+newpath
+41824 21728 moveto
+41024 21728 lineto
+41024 21500 lineto
+41062 21442 lineto
+41100 21414 lineto
+41176 21385 lineto
+41290 21385 lineto
+41367 21414 lineto
+41405 21442 lineto
+41443 21500 lineto
+41443 21728 lineto
+stroke
+newpath
+41786 20900 moveto
+41824 20957 lineto
+41824 21071 lineto
+41786 21128 lineto
+41710 21157 lineto
+41405 21157 lineto
+41329 21128 lineto
+41290 21071 lineto
+41290 20957 lineto
+41329 20900 lineto
+41405 20871 lineto
+41481 20871 lineto
+41557 21157 lineto
+stroke
+newpath
+41290 20671 moveto
+41824 20528 lineto
+41290 20386 lineto
+stroke
+newpath
+41595 19729 moveto
+41595 19443 lineto
+stroke
+newpath
+41824 19786 moveto
+41024 19586 lineto
+41824 19386 lineto
+stroke
+67 setlinewidth
+0 0 0 setrgbcolor
+newpath
+19586 29805 moveto
+19643 29843 lineto
+19662 29881 lineto
+19681 29957 lineto
+19681 30071 lineto
+19662 30148 lineto
+19643 30186 lineto
+19605 30224 lineto
+19452 30224 lineto
+19452 29424 lineto
+19586 29424 lineto
+19624 29462 lineto
+19643 29500 lineto
+19662 29576 lineto
+19662 29652 lineto
+19643 29729 lineto
+19624 29767 lineto
+19586 29805 lineto
+19452 29805 lineto
+stroke
+newpath
+19852 30224 moveto
+19852 29690 lineto
+stroke
+newpath
+19852 29424 moveto
+19833 29462 lineto
+19852 29500 lineto
+19871 29462 lineto
+19852 29424 lineto
+19852 29500 lineto
+stroke
+newpath
+19985 29690 moveto
+20137 29690 lineto
+stroke
+newpath
+20042 29424 moveto
+20042 30110 lineto
+20061 30186 lineto
+20099 30224 lineto
+20137 30224 lineto
+stroke
+newpath
+20271 30224 moveto
+20271 29690 lineto
+stroke
+newpath
+20271 29843 moveto
+20290 29767 lineto
+20309 29729 lineto
+20347 29690 lineto
+20386 29690 lineto
+stroke
+newpath
+20691 30224 moveto
+20691 29805 lineto
+20672 29729 lineto
+20634 29690 lineto
+20557 29690 lineto
+20519 29729 lineto
+stroke
+newpath
+20691 30186 moveto
+20653 30224 lineto
+20557 30224 lineto
+20519 30186 lineto
+20500 30110 lineto
+20500 30033 lineto
+20519 29957 lineto
+20557 29919 lineto
+20653 29919 lineto
+20691 29881 lineto
+stroke
+newpath
+20824 29690 moveto
+20976 29690 lineto
+stroke
+newpath
+20881 30224 moveto
+20881 29538 lineto
+20900 29462 lineto
+20938 29424 lineto
+20976 29424 lineto
+stroke
+newpath
+21396 29500 moveto
+21415 29462 lineto
+21453 29424 lineto
+21549 29424 lineto
+21587 29462 lineto
+21606 29500 lineto
+21625 29576 lineto
+21625 29652 lineto
+21606 29767 lineto
+21377 30224 lineto
+21625 30224 lineto
+stroke
+newpath
+21872 29424 moveto
+21911 29424 lineto
+21949 29462 lineto
+21968 29500 lineto
+21987 29576 lineto
+22006 29729 lineto
+22006 29919 lineto
+21987 30071 lineto
+21968 30148 lineto
+21949 30186 lineto
+21911 30224 lineto
+21872 30224 lineto
+21834 30186 lineto
+21815 30148 lineto
+21796 30071 lineto
+21777 29919 lineto
+21777 29729 lineto
+21796 29576 lineto
+21815 29500 lineto
+21834 29462 lineto
+21872 29424 lineto
+stroke
+newpath
+22387 30224 moveto
+22158 30224 lineto
+stroke
+newpath
+22272 30224 moveto
+22272 29424 lineto
+22234 29538 lineto
+22196 29614 lineto
+22158 29652 lineto
+stroke
+newpath
+22539 29500 moveto
+22558 29462 lineto
+22596 29424 lineto
+22692 29424 lineto
+22730 29462 lineto
+22749 29500 lineto
+22768 29576 lineto
+22768 29652 lineto
+22749 29767 lineto
+22520 30224 lineto
+22768 30224 lineto
+stroke
+150 setlinewidth
+newpath
+42500 30800 moveto
+19000 30800 lineto
+stroke
+newpath
+19000 12500 moveto
+42500 12500 lineto
+stroke
+0 setlinewidth
+60 setlinewidth
+40400 13800 450 cir1
+0 setlinewidth
+60 setlinewidth
+40400 15800 450 cir1
+newpath
+35480 29150 moveto
+35480 28450 lineto
+37520 28450 lineto
+37520 29150 lineto
+35480 29150 lineto
+poly1
+newpath
+39280 29150 moveto
+39280 28450 lineto
+41320 28450 lineto
+41320 29150 lineto
+39280 29150 lineto
+poly1
+newpath
+37120 22370 moveto
+37120 21530 lineto
+37680 21530 lineto
+37680 22370 lineto
+37120 22370 lineto
+poly1
+620 setlinewidth
+newpath
+38400 21810 moveto
+38400 22090 lineto
+stroke
+newpath
+39400 21810 moveto
+39400 22090 lineto
+stroke
+newpath
+39400 18810 moveto
+39400 19090 lineto
+stroke
+newpath
+38400 18810 moveto
+38400 19090 lineto
+stroke
+newpath
+37400 18810 moveto
+37400 19090 lineto
+stroke
+60 setlinewidth
+newpath
+21162 14005 moveto
+21258 14005 lineto
+21258 14487 lineto
+21162 14487 lineto
+21162 14005 lineto
+poly1
+newpath
+21418 14005 moveto
+21514 14005 lineto
+21514 14487 lineto
+21418 14487 lineto
+21418 14005 lineto
+poly1
+newpath
+22230 13720 moveto
+22642 13720 lineto
+22642 14486 lineto
+22230 14486 lineto
+22230 13720 lineto
+poly1
+newpath
+21930 14004 moveto
+22026 14004 lineto
+22026 14486 lineto
+21930 14486 lineto
+21930 14004 lineto
+poly1
+newpath
+20292 13720 moveto
+20704 13720 lineto
+20704 14486 lineto
+20292 14486 lineto
+20292 13720 lineto
+poly1
+newpath
+19885 12855 moveto
+20757 12855 lineto
+20757 13543 lineto
+19885 13543 lineto
+19885 12855 lineto
+poly1
+newpath
+22177 12855 moveto
+23049 12855 lineto
+23049 13543 lineto
+22177 13543 lineto
+22177 12855 lineto
+poly1
+newpath
+21597 12855 moveto
+21999 12855 lineto
+21999 13543 lineto
+21597 13543 lineto
+21597 12855 lineto
+poly1
+newpath
+20935 12855 moveto
+21337 12855 lineto
+21337 13543 lineto
+20935 13543 lineto
+20935 12855 lineto
+poly1
+newpath
+21674 14005 moveto
+21770 14005 lineto
+21770 14487 lineto
+21674 14487 lineto
+21674 14005 lineto
+poly1
+newpath
+20906 14005 moveto
+21002 14005 lineto
+21002 14487 lineto
+20906 14487 lineto
+20906 14005 lineto
+poly1
+newpath
+29670 17830 moveto
+29670 18370 lineto
+29130 18370 lineto
+29130 17830 lineto
+29670 17830 lineto
+poly1
+0 setlinewidth
+60 setlinewidth
+29400 19100 300 cir1
+0 setlinewidth
+60 setlinewidth
+28400 18100 300 cir1
+0 setlinewidth
+60 setlinewidth
+28400 19100 300 cir1
+0 setlinewidth
+60 setlinewidth
+27400 18100 300 cir1
+0 setlinewidth
+60 setlinewidth
+27400 19100 300 cir1
+newpath
+33280 17970 moveto
+33280 17230 lineto
+33820 17230 lineto
+33820 17970 lineto
+33280 17970 lineto
+poly1
+newpath
+34580 17970 moveto
+34580 17230 lineto
+35120 17230 lineto
+35120 17970 lineto
+34580 17970 lineto
+poly1
+newpath
+33280 19170 moveto
+33280 18430 lineto
+33820 18430 lineto
+33820 19170 lineto
+33280 19170 lineto
+poly1
+newpath
+34580 19170 moveto
+34580 18430 lineto
+35120 18430 lineto
+35120 19170 lineto
+34580 19170 lineto
+poly1
+newpath
+35380 21450 moveto
+34640 21450 lineto
+34640 20910 lineto
+35380 20910 lineto
+35380 21450 lineto
+poly1
+newpath
+35380 20150 moveto
+34640 20150 lineto
+34640 19610 lineto
+35380 19610 lineto
+35380 20150 lineto
+poly1
+newpath
+21480 26570 moveto
+21480 25830 lineto
+22020 25830 lineto
+22020 26570 lineto
+21480 26570 lineto
+poly1
+newpath
+22780 26570 moveto
+22780 25830 lineto
+23320 25830 lineto
+23320 26570 lineto
+22780 26570 lineto
+poly1
+newpath
+22770 17920 moveto
+22030 17920 lineto
+22030 17380 lineto
+22770 17380 lineto
+22770 17920 lineto
+poly1
+newpath
+22770 16620 moveto
+22030 16620 lineto
+22030 16080 lineto
+22770 16080 lineto
+22770 16620 lineto
+poly1
+newpath
+21570 17920 moveto
+20830 17920 lineto
+20830 17380 lineto
+21570 17380 lineto
+21570 17920 lineto
+poly1
+newpath
+21570 16620 moveto
+20830 16620 lineto
+20830 16080 lineto
+21570 16080 lineto
+21570 16620 lineto
+poly1
+newpath
+35680 17970 moveto
+35680 17230 lineto
+36220 17230 lineto
+36220 17970 lineto
+35680 17970 lineto
+poly1
+newpath
+36980 17970 moveto
+36980 17230 lineto
+37520 17230 lineto
+37520 17970 lineto
+36980 17970 lineto
+poly1
+newpath
+41120 24430 moveto
+41120 25170 lineto
+40580 25170 lineto
+40580 24430 lineto
+41120 24430 lineto
+poly1
+newpath
+39820 24430 moveto
+39820 25170 lineto
+39280 25170 lineto
+39280 24430 lineto
+39820 24430 lineto
+poly1
+newpath
+41120 26030 moveto
+41120 26770 lineto
+40580 26770 lineto
+40580 26030 lineto
+41120 26030 lineto
+poly1
+newpath
+39820 26030 moveto
+39820 26770 lineto
+39280 26770 lineto
+39280 26030 lineto
+39820 26030 lineto
+poly1
+newpath
+35880 26770 moveto
+35880 26030 lineto
+36420 26030 lineto
+36420 26770 lineto
+35880 26770 lineto
+poly1
+newpath
+37180 26770 moveto
+37180 26030 lineto
+37720 26030 lineto
+37720 26770 lineto
+37180 26770 lineto
+poly1
+newpath
+37720 24430 moveto
+37720 25170 lineto
+37180 25170 lineto
+37180 24430 lineto
+37720 24430 lineto
+poly1
+newpath
+36420 24430 moveto
+36420 25170 lineto
+35880 25170 lineto
+35880 24430 lineto
+36420 24430 lineto
+poly1
+newpath
+32255 26180 moveto
+32645 26180 lineto
+32645 26320 lineto
+32255 26320 lineto
+32255 26180 lineto
+poly1
+newpath
+30155 26180 moveto
+30545 26180 lineto
+30545 26320 lineto
+30155 26320 lineto
+30155 26180 lineto
+poly1
+newpath
+32255 26680 moveto
+32645 26680 lineto
+32645 26820 lineto
+32255 26820 lineto
+32255 26680 lineto
+poly1
+newpath
+32255 27180 moveto
+32645 27180 lineto
+32645 27320 lineto
+32255 27320 lineto
+32255 27180 lineto
+poly1
+newpath
+32255 27680 moveto
+32645 27680 lineto
+32645 27820 lineto
+32255 27820 lineto
+32255 27680 lineto
+poly1
+newpath
+30155 26680 moveto
+30545 26680 lineto
+30545 26820 lineto
+30155 26820 lineto
+30155 26680 lineto
+poly1
+newpath
+30155 27180 moveto
+30545 27180 lineto
+30545 27320 lineto
+30155 27320 lineto
+30155 27180 lineto
+poly1
+newpath
+30155 27680 moveto
+30545 27680 lineto
+30545 27820 lineto
+30155 27820 lineto
+30155 27680 lineto
+poly1
+newpath
+25951 24459 moveto
+25835 24459 lineto
+25835 23733 lineto
+25951 23733 lineto
+25951 24459 lineto
+poly1
+newpath
+25636 24459 moveto
+25520 24459 lineto
+25520 23733 lineto
+25636 23733 lineto
+25636 24459 lineto
+poly1
+newpath
+25321 24459 moveto
+25205 24459 lineto
+25205 23733 lineto
+25321 23733 lineto
+25321 24459 lineto
+poly1
+newpath
+25006 24459 moveto
+24890 24459 lineto
+24890 23733 lineto
+25006 23733 lineto
+25006 24459 lineto
+poly1
+newpath
+24691 24459 moveto
+24575 24459 lineto
+24575 23733 lineto
+24691 23733 lineto
+24691 24459 lineto
+poly1
+newpath
+24376 24459 moveto
+24260 24459 lineto
+24260 23733 lineto
+24376 23733 lineto
+24376 24459 lineto
+poly1
+newpath
+24061 24459 moveto
+23945 24459 lineto
+23945 23733 lineto
+24061 23733 lineto
+24061 24459 lineto
+poly1
+newpath
+23746 24459 moveto
+23630 24459 lineto
+23630 23733 lineto
+23746 23733 lineto
+23746 24459 lineto
+poly1
+newpath
+23748 20693 moveto
+23632 20693 lineto
+23632 19967 lineto
+23748 19967 lineto
+23748 20693 lineto
+poly1
+newpath
+25958 20693 moveto
+25842 20693 lineto
+25842 19967 lineto
+25958 19967 lineto
+25958 20693 lineto
+poly1
+newpath
+25638 20693 moveto
+25522 20693 lineto
+25522 19967 lineto
+25638 19967 lineto
+25638 20693 lineto
+poly1
+newpath
+25318 20693 moveto
+25202 20693 lineto
+25202 19967 lineto
+25318 19967 lineto
+25318 20693 lineto
+poly1
+newpath
+25008 20693 moveto
+24892 20693 lineto
+24892 19967 lineto
+25008 19967 lineto
+25008 20693 lineto
+poly1
+newpath
+24688 20693 moveto
+24572 20693 lineto
+24572 19967 lineto
+24688 19967 lineto
+24688 20693 lineto
+poly1
+newpath
+24378 20693 moveto
+24262 20693 lineto
+24262 19967 lineto
+24378 19967 lineto
+24378 20693 lineto
+poly1
+newpath
+24058 20693 moveto
+23942 20693 lineto
+23942 19967 lineto
+24058 19967 lineto
+24058 20693 lineto
+poly1
+newpath
+23263 23370 moveto
+22537 23370 lineto
+22537 23254 lineto
+23263 23254 lineto
+23263 23370 lineto
+poly1
+newpath
+23263 23056 moveto
+22537 23056 lineto
+22537 22940 lineto
+23263 22940 lineto
+23263 23056 lineto
+poly1
+newpath
+23263 22740 moveto
+22537 22740 lineto
+22537 22624 lineto
+23263 22624 lineto
+23263 22740 lineto
+poly1
+newpath
+23263 22426 moveto
+22537 22426 lineto
+22537 22310 lineto
+23263 22310 lineto
+23263 22426 lineto
+poly1
+newpath
+23263 22110 moveto
+22537 22110 lineto
+22537 21994 lineto
+23263 21994 lineto
+23263 22110 lineto
+poly1
+newpath
+23263 21796 moveto
+22537 21796 lineto
+22537 21680 lineto
+23263 21680 lineto
+23263 21796 lineto
+poly1
+newpath
+23263 21480 moveto
+22537 21480 lineto
+22537 21364 lineto
+23263 21364 lineto
+23263 21480 lineto
+poly1
+newpath
+23263 21166 moveto
+22537 21166 lineto
+22537 21050 lineto
+23263 21050 lineto
+23263 21166 lineto
+poly1
+newpath
+27043 23368 moveto
+26317 23368 lineto
+26317 23252 lineto
+27043 23252 lineto
+27043 23368 lineto
+poly1
+newpath
+27043 23058 moveto
+26317 23058 lineto
+26317 22942 lineto
+27043 22942 lineto
+27043 23058 lineto
+poly1
+newpath
+27043 22738 moveto
+26317 22738 lineto
+26317 22622 lineto
+27043 22622 lineto
+27043 22738 lineto
+poly1
+newpath
+27043 22428 moveto
+26317 22428 lineto
+26317 22312 lineto
+27043 22312 lineto
+27043 22428 lineto
+poly1
+newpath
+27043 22118 moveto
+26317 22118 lineto
+26317 22002 lineto
+27043 22002 lineto
+27043 22118 lineto
+poly1
+newpath
+27043 21798 moveto
+26317 21798 lineto
+26317 21682 lineto
+27043 21682 lineto
+27043 21798 lineto
+poly1
+newpath
+27043 21478 moveto
+26317 21478 lineto
+26317 21362 lineto
+27043 21362 lineto
+27043 21478 lineto
+poly1
+newpath
+27043 21158 moveto
+26317 21158 lineto
+26317 21042 lineto
+27043 21042 lineto
+27043 21158 lineto
+poly1
+newpath
+31030 20630 moveto
+31570 20630 lineto
+31570 21170 lineto
+31030 21170 lineto
+31030 20630 lineto
+poly1
+0 setlinewidth
+60 setlinewidth
+32300 20900 300 cir1
+0 setlinewidth
+60 setlinewidth
+31300 21900 300 cir1
+0 setlinewidth
+60 setlinewidth
+32300 21900 300 cir1
+0 setlinewidth
+60 setlinewidth
+31300 22900 300 cir1
+0 setlinewidth
+60 setlinewidth
+32300 22900 300 cir1
+0 setlinewidth
+60 setlinewidth
+31300 23900 300 cir1
+0 setlinewidth
+60 setlinewidth
+32300 23900 300 cir1
+newpath
+21480 28170 moveto
+21480 27430 lineto
+22020 27430 lineto
+22020 28170 lineto
+21480 28170 lineto
+poly1
+newpath
+22780 28170 moveto
+22780 27430 lineto
+23320 27430 lineto
+23320 28170 lineto
+22780 28170 lineto
+poly1
+newpath
+33220 13780 moveto
+33220 14620 lineto
+32380 14620 lineto
+32380 13780 lineto
+33220 13780 lineto
+poly1
+0 setlinewidth
+60 setlinewidth
+32800 16200 450 cir1
+0 setlinewidth
+60 setlinewidth
+32800 15200 450 cir1
+newpath
+28020 13480 moveto
+28020 16920 lineto
+24580 16920 lineto
+24580 13480 lineto
+28020 13480 lineto
+poly1
+0 setlinewidth
+60 setlinewidth
+19600 22100 350 cir1
+0 setlinewidth
+60 setlinewidth
+21700 22100 350 cir1
+0 setlinewidth
+60 setlinewidth
+30500 18000 350 cir1
+0 setlinewidth
+60 setlinewidth
+26400 19800 350 cir1
+0 setlinewidth
+60 setlinewidth
+25600 19000 350 cir1
+0 setlinewidth
+60 setlinewidth
+33700 19800 350 cir1
+0 setlinewidth
+60 setlinewidth
+28400 20900 350 cir1
+0 setlinewidth
+60 setlinewidth
+31500 18000 350 cir1
+158 setlinewidth
+newpath
+33550 17600 moveto
+33550 18800 lineto
+stroke
+newpath
+32200 17600 moveto
+33550 17600 lineto
+stroke
+newpath
+31800 17200 moveto
+32200 17600 lineto
+stroke
+newpath
+31800 15800 moveto
+31800 17200 lineto
+stroke
+newpath
+32400 15200 moveto
+31800 15800 lineto
+stroke
+newpath
+32800 15200 moveto
+32400 15200 lineto
+stroke
+800 setlinewidth
+newpath
+39000 15200 moveto
+40400 13800 lineto
+stroke
+newpath
+32800 15200 moveto
+39000 15200 lineto
+stroke
+158 setlinewidth
+newpath
+38600 17600 moveto
+40000 16200 lineto
+stroke
+newpath
+37250 17600 moveto
+38600 17600 lineto
+stroke
+newpath
+40000 16200 moveto
+40400 15800 lineto
+stroke
+800 setlinewidth
+newpath
+32800 16200 moveto
+40000 16200 lineto
+stroke
+newpath
+40000 16200 moveto
+40400 15800 lineto
+stroke
+157 setlinewidth
+newpath
+20128 22100 moveto
+20100 22100 lineto
+stroke
+newpath
+20100 22100 moveto
+20128 22100 lineto
+stroke
+158 setlinewidth
+newpath
+20128 27886 moveto
+20128 27928 lineto
+stroke
+newpath
+20128 22100 moveto
+20128 27886 lineto
+stroke
+157 setlinewidth
+newpath
+22900 29100 moveto
+24345 30545 lineto
+stroke
+newpath
+21300 29100 moveto
+22900 29100 lineto
+stroke
+newpath
+20128 27928 moveto
+21300 29100 lineto
+stroke
+newpath
+22900 22052 moveto
+21748 22052 lineto
+stroke
+newpath
+19600 22100 moveto
+20128 22100 lineto
+stroke
+newpath
+21748 22052 moveto
+21700 22100 lineto
+stroke
+158 setlinewidth
+newpath
+30350 27750 moveto
+30735 27750 lineto
+stroke
+newpath
+32835 27250 moveto
+32835 26750 lineto
+stroke
+newpath
+32450 26750 moveto
+32583 26750 lineto
+stroke
+newpath
+32583 26750 moveto
+32835 26750 lineto
+stroke
+newpath
+32450 27250 moveto
+32775 27250 lineto
+stroke
+newpath
+32775 27250 moveto
+32835 27250 lineto
+stroke
+newpath
+32835 27250 moveto
+32993 27408 lineto
+stroke
+newpath
+36150 24800 moveto
+35920 24800 lineto
+stroke
+newpath
+35920 24800 moveto
+35690 24800 lineto
+stroke
+newpath
+38400 21950 moveto
+38400 22560 lineto
+stroke
+newpath
+36581 25461 moveto
+35920 24800 lineto
+stroke
+newpath
+38151 25461 moveto
+36581 25461 lineto
+stroke
+newpath
+39090 26400 moveto
+38151 25461 lineto
+stroke
+newpath
+32993 27986 moveto
+32993 27408 lineto
+stroke
+newpath
+32948 28031 moveto
+32993 27986 lineto
+stroke
+newpath
+31016 28031 moveto
+32948 28031 lineto
+stroke
+newpath
+30735 27750 moveto
+31016 28031 lineto
+stroke
+newpath
+32545 26250 moveto
+32771 26250 lineto
+stroke
+newpath
+39543 26400 moveto
+39090 26400 lineto
+stroke
+newpath
+39543 26400 moveto
+39550 26400 lineto
+stroke
+newpath
+39550 26400 moveto
+40010 26400 lineto
+stroke
+newpath
+33082 27408 moveto
+32993 27408 lineto
+stroke
+newpath
+35690 24800 moveto
+33082 27408 lineto
+stroke
+newpath
+38400 22560 moveto
+38400 23571 lineto
+stroke
+newpath
+39090 24261 moveto
+38400 23571 lineto
+stroke
+newpath
+39090 24800 moveto
+39090 24261 lineto
+stroke
+newpath
+35450 23571 moveto
+38400 23571 lineto
+stroke
+newpath
+32771 26250 moveto
+35450 23571 lineto
+stroke
+newpath
+39550 24800 moveto
+39090 24800 lineto
+stroke
+newpath
+32771 26562 moveto
+32771 26250 lineto
+stroke
+newpath
+32583 26750 moveto
+32771 26562 lineto
+stroke
+newpath
+39134 29341 moveto
+39074 29281 lineto
+stroke
+newpath
+41466 29341 moveto
+39134 29341 lineto
+stroke
+newpath
+41511 29296 moveto
+41466 29341 lineto
+stroke
+newpath
+41511 26084 moveto
+41511 29296 lineto
+stroke
+newpath
+41266 25839 moveto
+41511 26084 lineto
+stroke
+newpath
+40111 25839 moveto
+41266 25839 lineto
+stroke
+newpath
+40010 25940 moveto
+40111 25839 lineto
+stroke
+newpath
+40010 26400 moveto
+40010 25940 lineto
+stroke
+newpath
+25051 29341 moveto
+23510 27800 lineto
+stroke
+newpath
+39014 29341 moveto
+25051 29341 lineto
+stroke
+newpath
+39074 29281 moveto
+39014 29341 lineto
+stroke
+newpath
+39074 27564 moveto
+37910 26400 lineto
+stroke
+newpath
+39074 29281 moveto
+39074 27564 lineto
+stroke
+newpath
+23050 27800 moveto
+23510 27800 lineto
+stroke
+newpath
+37450 26400 moveto
+37910 26400 lineto
+stroke
+newpath
+24318 24599 moveto
+24318 24096 lineto
+stroke
+newpath
+27469 27750 moveto
+24318 24599 lineto
+stroke
+newpath
+30350 27750 moveto
+27469 27750 lineto
+stroke
+newpath
+24318 24096 moveto
+24318 22052 lineto
+stroke
+newpath
+27400 19641 moveto
+27400 19100 lineto
+stroke
+newpath
+24989 22052 moveto
+27400 19641 lineto
+stroke
+newpath
+24318 22052 moveto
+24989 22052 lineto
+stroke
+newpath
+32450 26250 moveto
+32485 26250 lineto
+stroke
+newpath
+32485 26250 moveto
+32545 26250 lineto
+stroke
+newpath
+28879 19658 moveto
+28879 18917 lineto
+stroke
+newpath
+30121 20900 moveto
+28879 19658 lineto
+stroke
+newpath
+31300 20900 moveto
+30121 20900 lineto
+stroke
+newpath
+27640 19100 moveto
+27400 19100 lineto
+stroke
+newpath
+28179 18561 moveto
+27640 19100 lineto
+stroke
+newpath
+28523 18561 moveto
+28179 18561 lineto
+stroke
+newpath
+28879 18917 moveto
+28523 18561 lineto
+stroke
+newpath
+20954 15224 moveto
+20954 14246 lineto
+stroke
+newpath
+20128 16050 moveto
+20954 15224 lineto
+stroke
+newpath
+20128 22100 moveto
+20128 16050 lineto
+stroke
+newpath
+41081 30545 moveto
+24345 30545 lineto
+stroke
+newpath
+42200 29426 moveto
+41081 30545 lineto
+stroke
+newpath
+42200 23586 moveto
+42200 29426 lineto
+stroke
+newpath
+38970 20356 moveto
+42200 23586 lineto
+stroke
+newpath
+33136 20356 moveto
+38970 20356 lineto
+stroke
+newpath
+31341 18561 moveto
+33136 20356 lineto
+stroke
+newpath
+29235 18561 moveto
+31341 18561 lineto
+stroke
+newpath
+28879 18917 moveto
+29235 18561 lineto
+stroke
+newpath
+37250 18800 moveto
+37400 18950 lineto
+stroke
+newpath
+34850 18800 moveto
+37250 18800 lineto
+stroke
+157 setlinewidth
+newpath
+37400 21950 moveto
+35780 21950 lineto
+stroke
+newpath
+35780 21950 moveto
+35010 21180 lineto
+stroke
+158 setlinewidth
+newpath
+40850 18950 moveto
+39400 18950 lineto
+stroke
+newpath
+41600 18200 moveto
+40850 18950 lineto
+stroke
+newpath
+41600 13600 moveto
+41600 18200 lineto
+stroke
+newpath
+40800 12800 moveto
+41600 13600 lineto
+stroke
+newpath
+34200 12800 moveto
+40800 12800 lineto
+stroke
+newpath
+32800 14200 moveto
+34200 12800 lineto
+stroke
+newpath
+27203 26250 moveto
+30350 26250 lineto
+stroke
+newpath
+25578 24625 moveto
+27203 26250 lineto
+stroke
+newpath
+25578 24096 moveto
+25578 24625 lineto
+stroke
+newpath
+28994 23000 moveto
+26680 23000 lineto
+stroke
+newpath
+29433 23439 moveto
+28994 23000 lineto
+stroke
+newpath
+31761 23439 moveto
+29433 23439 lineto
+stroke
+newpath
+32300 22900 moveto
+31761 23439 lineto
+stroke
+newpath
+27364 26750 moveto
+30350 26750 lineto
+stroke
+newpath
+25263 24649 moveto
+27364 26750 lineto
+stroke
+newpath
+25263 24096 moveto
+25263 24649 lineto
+stroke
+newpath
+36150 26400 moveto
+35920 26400 lineto
+stroke
+newpath
+35920 26400 moveto
+35690 26400 lineto
+stroke
+newpath
+35920 27680 moveto
+36500 28260 lineto
+stroke
+newpath
+35920 26400 moveto
+35920 27680 lineto
+stroke
+newpath
+36500 28800 moveto
+36500 28260 lineto
+stroke
+newpath
+23688 24666 moveto
+23688 24096 lineto
+stroke
+newpath
+27787 28765 moveto
+23688 24666 lineto
+stroke
+newpath
+33325 28765 moveto
+27787 28765 lineto
+stroke
+newpath
+35690 26400 moveto
+33325 28765 lineto
+stroke
+newpath
+20929 23155 moveto
+20929 22071 lineto
+stroke
+newpath
+21290 27800 moveto
+20929 27439 lineto
+stroke
+newpath
+20929 27439 moveto
+20929 23155 lineto
+stroke
+newpath
+21750 27800 moveto
+21290 27800 lineto
+stroke
+157 setlinewidth
+newpath
+22200 21500 moveto
+22438 21738 lineto
+stroke
+newpath
+21500 21500 moveto
+22200 21500 lineto
+stroke
+newpath
+20929 22071 moveto
+21500 21500 lineto
+stroke
+158 setlinewidth
+newpath
+22900 21738 moveto
+22438 21738 lineto
+stroke
+newpath
+21466 15624 moveto
+21466 14246 lineto
+stroke
+newpath
+21200 15890 moveto
+21466 15624 lineto
+stroke
+newpath
+21200 16350 moveto
+21200 15890 lineto
+stroke
+newpath
+21722 15212 moveto
+21722 14246 lineto
+stroke
+newpath
+22400 15890 moveto
+21722 15212 lineto
+stroke
+newpath
+22400 16350 moveto
+22400 15890 lineto
+stroke
+newpath
+22900 22368 moveto
+22346 22368 lineto
+stroke
+newpath
+21200 17650 moveto
+21200 18110 lineto
+stroke
+newpath
+20690 18620 moveto
+21200 18110 lineto
+stroke
+newpath
+20690 27719 moveto
+20690 18620 lineto
+stroke
+newpath
+21342 28371 moveto
+20690 27719 lineto
+stroke
+newpath
+22190 28371 moveto
+21342 28371 lineto
+stroke
+newpath
+22210 28351 moveto
+22190 28371 lineto
+stroke
+newpath
+22210 27270 moveto
+22210 28351 lineto
+stroke
+newpath
+21707 26767 moveto
+22210 27270 lineto
+stroke
+newpath
+21321 26767 moveto
+21707 26767 lineto
+stroke
+newpath
+21276 26722 moveto
+21321 26767 lineto
+stroke
+newpath
+21276 23438 moveto
+21276 26722 lineto
+stroke
+newpath
+22346 22368 moveto
+21276 23438 lineto
+stroke
+157 setlinewidth
+newpath
+22400 19800 moveto
+22400 19900 lineto
+stroke
+newpath
+22400 17650 moveto
+22400 19800 lineto
+stroke
+newpath
+23318 22682 moveto
+22900 22682 lineto
+stroke
+newpath
+23500 22500 moveto
+23500 21000 lineto
+stroke
+newpath
+23318 22682 moveto
+23500 22500 lineto
+stroke
+newpath
+23000 20500 moveto
+23500 21000 lineto
+stroke
+newpath
+22400 19900 moveto
+23000 20500 lineto
+stroke
+newpath
+25900 20330 moveto
+25900 20300 lineto
+stroke
+newpath
+30400 18100 moveto
+29400 18100 lineto
+stroke
+newpath
+30500 18000 moveto
+30400 18100 lineto
+stroke
+newpath
+25900 20300 moveto
+26400 19800 lineto
+stroke
+newpath
+35010 19880 moveto
+33780 19880 lineto
+stroke
+newpath
+25580 19020 moveto
+25600 19000 lineto
+stroke
+newpath
+25580 19020 moveto
+25580 20330 lineto
+stroke
+newpath
+33780 19880 moveto
+33700 19800 lineto
+stroke
+158 setlinewidth
+newpath
+31830 22370 moveto
+26680 22370 lineto
+stroke
+newpath
+32300 21900 moveto
+31830 22370 lineto
+stroke
+newpath
+31761 21439 moveto
+32300 20900 lineto
+stroke
+newpath
+29018 21439 moveto
+31761 21439 lineto
+stroke
+newpath
+28717 21740 moveto
+29018 21439 lineto
+stroke
+newpath
+26680 21740 moveto
+28717 21740 lineto
+stroke
+157 setlinewidth
+newpath
+23690 20330 moveto
+23690 20790 lineto
+stroke
+newpath
+23050 23950 moveto
+23050 26200 lineto
+stroke
+newpath
+23800 23200 moveto
+23050 23950 lineto
+stroke
+newpath
+23800 20900 moveto
+23800 23200 lineto
+stroke
+newpath
+23690 20790 moveto
+23800 20900 lineto
+stroke
+158 setlinewidth
+newpath
+23690 20330 moveto
+23690 20053 lineto
+stroke
+newpath
+27400 18100 moveto
+23690 18100 lineto
+stroke
+newpath
+23690 20053 moveto
+23690 18100 lineto
+stroke
+newpath
+27233 20267 moveto
+28400 19100 lineto
+stroke
+newpath
+27233 21100 moveto
+27233 20267 lineto
+stroke
+newpath
+26680 21100 moveto
+27233 21100 lineto
+stroke
+157 setlinewidth
+newpath
+28400 18100 moveto
+28400 17900 lineto
+stroke
+newpath
+27880 21420 moveto
+26680 21420 lineto
+stroke
+newpath
+28400 20900 moveto
+27880 21420 lineto
+stroke
+newpath
+30900 17400 moveto
+31500 18000 lineto
+stroke
+newpath
+28900 17400 moveto
+30900 17400 lineto
+stroke
+newpath
+28400 17900 moveto
+28900 17400 lineto
+stroke
+158 setlinewidth
+newpath
+31140 22060 moveto
+26680 22060 lineto
+stroke
+newpath
+31300 21900 moveto
+31140 22060 lineto
+stroke
+newpath
+31080 22680 moveto
+26680 22680 lineto
+stroke
+newpath
+31300 22900 moveto
+31080 22680 lineto
+stroke
+newpath
+26680 23310 moveto
+27233 23310 lineto
+stroke
+newpath
+27823 23900 moveto
+27233 23310 lineto
+stroke
+newpath
+31300 23900 moveto
+27823 23900 lineto
+stroke
+newpath
+35950 17600 moveto
+34850 17600 lineto
+stroke
+newpath
+40300 28800 moveto
+40300 28530 lineto
+stroke
+newpath
+40850 26400 moveto
+40390 26400 lineto
+stroke
+newpath
+40300 28530 moveto
+40300 27359 lineto
+stroke
+newpath
+40300 26490 moveto
+40390 26400 lineto
+stroke
+newpath
+40300 27359 moveto
+40300 26490 lineto
+stroke
+newpath
+24003 24623 moveto
+24003 24096 lineto
+stroke
+newpath
+27901 28521 moveto
+24003 24623 lineto
+stroke
+newpath
+33030 28521 moveto
+27901 28521 lineto
+stroke
+newpath
+35712 25839 moveto
+33030 28521 lineto
+stroke
+newpath
+37879 25839 moveto
+35712 25839 lineto
+stroke
+newpath
+39399 27359 moveto
+37879 25839 lineto
+stroke
+newpath
+40300 27359 moveto
+39399 27359 lineto
+stroke
+newpath
+37450 24800 moveto
+37910 24800 lineto
+stroke
+newpath
+40623 24800 moveto
+40390 24800 lineto
+stroke
+newpath
+32450 27750 moveto
+32065 27750 lineto
+stroke
+newpath
+22900 22998 moveto
+22346 22998 lineto
+stroke
+newpath
+21750 26200 moveto
+22210 26200 lineto
+stroke
+newpath
+24633 24096 moveto
+24633 23542 lineto
+stroke
+newpath
+27645 25062 moveto
+32065 25062 lineto
+stroke
+newpath
+26125 23542 moveto
+27645 25062 lineto
+stroke
+newpath
+24633 23542 moveto
+26125 23542 lineto
+stroke
+newpath
+32065 25062 moveto
+32065 27750 lineto
+stroke
+newpath
+32065 24135 moveto
+32300 23900 lineto
+stroke
+newpath
+32065 25062 moveto
+32065 24135 lineto
+stroke
+newpath
+22346 26064 moveto
+22210 26200 lineto
+stroke
+newpath
+22346 22998 moveto
+22346 26064 lineto
+stroke
+newpath
+40390 24937 moveto
+40390 24800 lineto
+stroke
+newpath
+39966 25361 moveto
+40390 24937 lineto
+stroke
+newpath
+38471 25361 moveto
+39966 25361 lineto
+stroke
+newpath
+37910 24800 moveto
+38471 25361 lineto
+stroke
+newpath
+40623 24800 moveto
+40850 24800 lineto
+stroke
+newpath
+40850 24800 moveto
+41310 24800 lineto
+stroke
+newpath
+22590 26580 moveto
+22590 28350 lineto
+stroke
+newpath
+22210 26200 moveto
+22590 26580 lineto
+stroke
+newpath
+24497 30257 moveto
+22590 28350 lineto
+stroke
+newpath
+41030 30257 moveto
+24497 30257 lineto
+stroke
+newpath
+41751 29536 moveto
+41030 30257 lineto
+stroke
+newpath
+41751 25241 moveto
+41751 29536 lineto
+stroke
+newpath
+41310 24800 moveto
+41751 25241 lineto
+stroke
+newpath
+21978 14958 moveto
+21978 14245 lineto
+stroke
+newpath
+22961 15941 moveto
+21978 14958 lineto
+stroke
+newpath
+22961 16769 moveto
+22961 15941 lineto
+stroke
+newpath
+22556 17174 moveto
+22961 16769 lineto
+stroke
+newpath
+20568 17174 moveto
+22556 17174 lineto
+stroke
+newpath
+20382 17360 moveto
+20568 17174 lineto
+stroke
+newpath
+20382 27801 moveto
+20382 17360 lineto
+stroke
+newpath
+21400 28819 moveto
+20382 27801 lineto
+stroke
+newpath
+22121 28819 moveto
+21400 28819 lineto
+stroke
+newpath
+22590 28350 moveto
+22121 28819 lineto
+stroke
+newpath
+40390 23780 moveto
+40390 24800 lineto
+stroke
+newpath
+38900 22290 moveto
+40390 23780 lineto
+stroke
+newpath
+38900 21384 moveto
+38900 22290 lineto
+stroke
+newpath
+38229 20713 moveto
+38900 21384 lineto
+stroke
+newpath
+32771 20713 moveto
+38229 20713 lineto
+stroke
+newpath
+32771 23429 moveto
+32771 20713 lineto
+stroke
+newpath
+32300 23900 moveto
+32771 23429 lineto
+stroke
+newpath
+31158 19100 moveto
+29400 19100 lineto
+stroke
+newpath
+32771 20713 moveto
+31158 19100 lineto
+stroke
+100 setlinewidth
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+42225 30525 moveto
+42225 29866 lineto
+41566 30525 lineto
+42225 30525 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+23081 30525 moveto
+23861 30525 lineto
+23081 29745 lineto
+23081 30525 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+40893 29928 moveto
+41151 29670 lineto
+39134 29670 lineto
+39133 29669 lineto
+39133 29670 lineto
+39112 29665 lineto
+39075 29658 lineto
+39014 29671 lineto
+39009 29670 lineto
+25051 29670 lineto
+24925 29645 lineto
+24818 29574 lineto
+24816 29571 lineto
+23568 28323 lineto
+23561 28341 lineto
+23491 28411 lineto
+23399 28449 lineto
+23154 28449 lineto
+24633 29928 lineto
+40893 29928 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+20765 29029 moveto
+19900 28164 lineto
+19895 28161 lineto
+19824 28054 lineto
+19799 27928 lineto
+19799 27886 lineto
+19799 22665 lineto
+19719 22699 lineto
+19481 22699 lineto
+19275 22613 lineto
+19275 29029 lineto
+20765 29029 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+38745 29012 moveto
+38745 27701 lineto
+37968 26924 lineto
+37961 26941 lineto
+37891 27011 lineto
+37799 27049 lineto
+37100 27049 lineto
+37009 27011 lineto
+36939 26941 lineto
+36901 26849 lineto
+36901 26168 lineto
+36699 26168 lineto
+36699 26850 lineto
+36661 26941 lineto
+36591 27011 lineto
+36499 27049 lineto
+36249 27049 lineto
+36249 27543 lineto
+36730 28025 lineto
+36733 28027 lineto
+36804 28134 lineto
+36811 28171 lineto
+37600 28171 lineto
+37691 28209 lineto
+37761 28279 lineto
+37799 28371 lineto
+37799 29012 lineto
+38745 29012 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+35201 29012 moveto
+35201 28370 lineto
+35239 28279 lineto
+35309 28209 lineto
+35401 28171 lineto
+35945 28171 lineto
+35687 27913 lineto
+35616 27806 lineto
+35590 27680 lineto
+35591 27675 lineto
+35591 26964 lineto
+33558 28998 lineto
+33536 29012 lineto
+35201 29012 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+27575 29012 moveto
+27554 28998 lineto
+27552 28995 lineto
+23455 24899 lineto
+23384 24792 lineto
+23378 24762 lineto
+23378 25551 lineto
+23400 25551 lineto
+23491 25589 lineto
+23561 25659 lineto
+23599 25751 lineto
+23599 26650 lineto
+23561 26741 lineto
+23491 26811 lineto
+23399 26849 lineto
+22919 26849 lineto
+22919 27151 lineto
+23400 27151 lineto
+23491 27189 lineto
+23561 27259 lineto
+23599 27351 lineto
+23599 27488 lineto
+23636 27496 lineto
+23743 27567 lineto
+25187 29012 lineto
+27575 29012 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+30711 28192 moveto
+30618 28099 lineto
+30075 28099 lineto
+30027 28079 lineto
+27924 28079 lineto
+28037 28192 lineto
+30711 28192 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+41182 28171 moveto
+41182 27049 lineto
+40629 27049 lineto
+40629 27359 lineto
+40629 28171 lineto
+41182 28171 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+39971 28171 moveto
+39971 27688 lineto
+39403 27688 lineto
+39403 28171 lineto
+39971 28171 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+33322 27763 moveto
+35477 25608 lineto
+35479 25606 lineto
+35586 25535 lineto
+35685 25515 lineto
+35711 25510 lineto
+35711 25510 lineto
+35712 25510 lineto
+36164 25510 lineto
+36103 25449 lineto
+35800 25449 lineto
+35709 25411 lineto
+35639 25341 lineto
+35631 25323 lineto
+33322 27633 lineto
+33322 27763 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+31736 27702 moveto
+31736 25391 lineto
+27645 25391 lineto
+27519 25366 lineto
+27412 25295 lineto
+27410 25292 lineto
+26230 24112 lineto
+26230 24539 lineto
+26192 24630 lineto
+26122 24700 lineto
+26119 24700 lineto
+27340 25921 lineto
+30027 25921 lineto
+30076 25901 lineto
+30625 25901 lineto
+30716 25939 lineto
+30786 26009 lineto
+30824 26101 lineto
+30824 26400 lineto
+30786 26491 lineto
+30776 26499 lineto
+30786 26509 lineto
+30824 26601 lineto
+30824 26900 lineto
+30786 26991 lineto
+30777 27000 lineto
+30786 27009 lineto
+30824 27101 lineto
+30824 27400 lineto
+30809 27435 lineto
+30861 27446 lineto
+30968 27517 lineto
+31152 27702 lineto
+31736 27702 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+29885 27421 moveto
+29876 27399 lineto
+29876 27100 lineto
+29884 27079 lineto
+27364 27079 lineto
+27239 27054 lineto
+27606 27421 lineto
+29885 27421 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+21258 27240 moveto
+21309 27189 lineto
+21401 27151 lineto
+21625 27151 lineto
+21570 27096 lineto
+21321 27096 lineto
+21258 27083 lineto
+21258 27240 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+39971 27030 moveto
+39971 27019 lineto
+39945 27030 lineto
+39971 27030 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+33164 26860 moveto
+35455 24569 lineto
+35457 24567 lineto
+35564 24496 lineto
+35601 24488 lineto
+35601 24350 lineto
+35639 24259 lineto
+35709 24189 lineto
+35801 24151 lineto
+36500 24151 lineto
+36591 24189 lineto
+36661 24259 lineto
+36699 24351 lineto
+36699 25113 lineto
+36717 25132 lineto
+36901 25132 lineto
+36901 24350 lineto
+36939 24259 lineto
+37009 24189 lineto
+37101 24151 lineto
+37800 24151 lineto
+37891 24189 lineto
+37961 24259 lineto
+37999 24351 lineto
+37999 24488 lineto
+38036 24496 lineto
+38143 24567 lineto
+38607 25032 lineto
+38856 25032 lineto
+38786 24926 lineto
+38761 24800 lineto
+38761 24397 lineto
+38263 23900 lineto
+35586 23900 lineto
+33100 26386 lineto
+33100 26562 lineto
+33099 26562 lineto
+33100 26563 lineto
+33099 26564 lineto
+33139 26624 lineto
+33164 26750 lineto
+33164 26860 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+22261 26855 moveto
+22261 26741 lineto
+22203 26798 lineto
+22261 26855 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+32654 25901 moveto
+35215 23340 lineto
+35217 23338 lineto
+35324 23267 lineto
+35450 23242 lineto
+38071 23242 lineto
+38071 22560 lineto
+38071 22550 lineto
+37959 22438 lineto
+37959 22450 lineto
+37921 22541 lineto
+37851 22611 lineto
+37759 22649 lineto
+37040 22649 lineto
+36949 22611 lineto
+36879 22541 lineto
+36841 22449 lineto
+36841 22278 lineto
+35780 22278 lineto
+35654 22253 lineto
+35548 22182 lineto
+35547 22181 lineto
+35547 22181 lineto
+35095 21729 lineto
+34560 21729 lineto
+34469 21691 lineto
+34399 21621 lineto
+34361 21529 lineto
+34361 21042 lineto
+33100 21042 lineto
+33100 23429 lineto
+33075 23555 lineto
+33004 23662 lineto
+32849 23817 lineto
+32849 24009 lineto
+32765 24211 lineto
+32611 24365 lineto
+32409 24449 lineto
+32394 24449 lineto
+32394 25062 lineto
+32394 25901 lineto
+32654 25901 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+39031 25876 moveto
+39039 25859 lineto
+39109 25789 lineto
+39201 25751 lineto
+39747 25750 lineto
+39777 25707 lineto
+39794 25690 lineto
+38845 25690 lineto
+39031 25876 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+22675 25561 moveto
+22701 25551 lineto
+22722 25551 lineto
+22722 23950 lineto
+22747 23824 lineto
+22818 23718 lineto
+22887 23649 lineto
+22675 23649 lineto
+22675 25561 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+41422 25554 moveto
+41422 25377 lineto
+41368 25323 lineto
+41361 25341 lineto
+41291 25411 lineto
+41199 25449 lineto
+40500 25449 lineto
+40409 25411 lineto
+40395 25397 lineto
+40282 25510 lineto
+41261 25510 lineto
+41266 25509 lineto
+41392 25535 lineto
+41422 25554 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+22017 25551 moveto
+22017 23162 lineto
+21605 23574 lineto
+21605 25551 lineto
+22017 25551 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+41871 24895 moveto
+41871 23722 lineto
+39949 21800 lineto
+39949 22212 lineto
+39865 22414 lineto
+39711 22568 lineto
+39663 22587 lineto
+40623 23547 lineto
+40694 23654 lineto
+40719 23780 lineto
+40719 24151 lineto
+41200 24151 lineto
+41291 24189 lineto
+41361 24259 lineto
+41399 24351 lineto
+41399 24488 lineto
+41436 24496 lineto
+41543 24567 lineto
+41871 24895 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+24958 24773 moveto
+24951 24738 lineto
+24923 24738 lineto
+24958 24773 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+31736 24733 moveto
+31736 24240 lineto
+31611 24365 lineto
+31409 24449 lineto
+31191 24449 lineto
+30989 24365 lineto
+30853 24229 lineto
+27823 24229 lineto
+27697 24204 lineto
+27590 24133 lineto
+27588 24130 lineto
+27104 23647 lineto
+26695 23647 lineto
+27781 24733 lineto
+31736 24733 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+40061 24259 moveto
+40061 23917 lineto
+38729 22585 lineto
+38729 23434 lineto
+39320 24026 lineto
+39323 24028 lineto
+39394 24135 lineto
+39397 24151 lineto
+39900 24151 lineto
+39991 24189 lineto
+40061 24259 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+29099 23571 moveto
+28857 23329 lineto
+27717 23329 lineto
+27959 23571 lineto
+29099 23571 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+26038 23213 moveto
+26038 23172 lineto
+26045 23154 lineto
+26038 23137 lineto
+26038 22862 lineto
+26047 22839 lineto
+26038 22817 lineto
+26038 22542 lineto
+26045 22524 lineto
+26038 22507 lineto
+26038 22232 lineto
+26045 22214 lineto
+26038 22197 lineto
+26038 21922 lineto
+26047 21899 lineto
+26038 21877 lineto
+26038 21602 lineto
+26047 21579 lineto
+26038 21557 lineto
+26038 21468 lineto
+25222 22285 lineto
+25115 22356 lineto
+24989 22382 lineto
+24984 22381 lineto
+24647 22381 lineto
+24647 23213 lineto
+26038 23213 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+42225 23145 moveto
+42225 22251 lineto
+41330 22250 lineto
+42225 23145 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+30793 23110 moveto
+30751 23009 lineto
+29468 23008 lineto
+29569 23109 lineto
+30793 23110 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+21258 22990 moveto
+21558 22689 lineto
+21361 22608 lineto
+21258 22505 lineto
+21258 22990 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+24128 21790 moveto
+24192 21748 lineto
+24318 21723 lineto
+24852 21723 lineto
+25603 20972 lineto
+25442 20972 lineto
+25419 20962 lineto
+25397 20972 lineto
+25122 20972 lineto
+25104 20964 lineto
+25087 20972 lineto
+24812 20972 lineto
+24789 20962 lineto
+24767 20972 lineto
+24492 20972 lineto
+24474 20964 lineto
+24457 20972 lineto
+24182 20972 lineto
+24159 20962 lineto
+24137 20972 lineto
+24128 20972 lineto
+24128 21790 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+36841 21622 moveto
+36841 21450 lineto
+36879 21359 lineto
+36949 21289 lineto
+37041 21251 lineto
+37760 21251 lineto
+37851 21289 lineto
+37921 21359 lineto
+37959 21451 lineto
+37959 21462 lineto
+38089 21332 lineto
+38291 21248 lineto
+38298 21248 lineto
+38092 21042 lineto
+35659 21042 lineto
+35659 21365 lineto
+35916 21622 lineto
+36841 21622 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+19275 21586 moveto
+19481 21501 lineto
+19719 21501 lineto
+19799 21534 lineto
+19799 16054 lineto
+19798 16050 lineto
+19824 15924 lineto
+19895 15817 lineto
+20625 15087 lineto
+20625 14765 lineto
+20212 14765 lineto
+20121 14727 lineto
+20051 14657 lineto
+20013 14565 lineto
+20013 13822 lineto
+19805 13822 lineto
+19714 13784 lineto
+19644 13714 lineto
+19606 13622 lineto
+19606 12775 lineto
+19275 12775 lineto
+19275 21586 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+21019 21517 moveto
+21268 21268 lineto
+21374 21197 lineto
+21500 21172 lineto
+22200 21172 lineto
+22258 21183 lineto
+22258 20970 lineto
+22296 20879 lineto
+22366 20809 lineto
+22458 20771 lineto
+22807 20771 lineto
+22767 20731 lineto
+22168 20132 lineto
+22097 20026 lineto
+22072 19900 lineto
+22072 19800 lineto
+22072 18199 lineto
+21950 18199 lineto
+21859 18161 lineto
+21799 18102 lineto
+21741 18161 lineto
+21649 18199 lineto
+21511 18199 lineto
+21504 18236 lineto
+21433 18343 lineto
+21430 18344 lineto
+21019 18756 lineto
+21019 21517 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+40560 21480 moveto
+40560 19279 lineto
+39921 19279 lineto
+39865 19414 lineto
+39711 19568 lineto
+39509 19652 lineto
+39291 19652 lineto
+39089 19568 lineto
+38935 19414 lineto
+38900 19329 lineto
+38865 19414 lineto
+38711 19568 lineto
+38509 19652 lineto
+38291 19652 lineto
+38089 19568 lineto
+37935 19414 lineto
+37900 19329 lineto
+37865 19414 lineto
+37711 19568 lineto
+37509 19652 lineto
+37291 19652 lineto
+37089 19568 lineto
+36935 19414 lineto
+36851 19212 lineto
+36851 19129 lineto
+35399 19129 lineto
+35399 19250 lineto
+35365 19331 lineto
+35460 19331 lineto
+35551 19369 lineto
+35621 19439 lineto
+35659 19531 lineto
+35659 20027 lineto
+38965 20027 lineto
+38970 20026 lineto
+39096 20052 lineto
+39203 20123 lineto
+40560 21480 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+39208 21282 moveto
+39291 21248 lineto
+39396 21248 lineto
+38833 20684 lineto
+38666 20685 lineto
+39130 21149 lineto
+39133 21151 lineto
+39204 21258 lineto
+39208 21282 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+28956 21122 moveto
+29018 21110 lineto
+29865 21110 lineto
+28646 19891 lineto
+28575 19784 lineto
+28549 19658 lineto
+28550 19653 lineto
+28550 19631 lineto
+28509 19649 lineto
+28316 19649 lineto
+27562 20403 lineto
+27562 21092 lineto
+27743 21092 lineto
+27805 21030 lineto
+27801 21019 lineto
+27801 20781 lineto
+27892 20561 lineto
+28061 20392 lineto
+28281 20301 lineto
+28519 20301 lineto
+28739 20392 lineto
+28908 20561 lineto
+28999 20781 lineto
+28999 21019 lineto
+28956 21122 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+26904 20763 moveto
+26904 20602 lineto
+26743 20763 lineto
+26904 20763 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+31849 20575 moveto
+31989 20435 lineto
+32015 20423 lineto
+31021 19429 lineto
+29847 19429 lineto
+29711 19565 lineto
+29509 19649 lineto
+29335 19649 lineto
+30257 20571 lineto
+30751 20571 lineto
+30751 20550 lineto
+30789 20459 lineto
+30859 20389 lineto
+30951 20351 lineto
+31650 20351 lineto
+31741 20389 lineto
+31811 20459 lineto
+31849 20551 lineto
+31849 20575 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+23353 20389 moveto
+23353 19887 lineto
+23361 19867 lineto
+23361 18100 lineto
+23386 17974 lineto
+23457 17867 lineto
+23564 17796 lineto
+23690 17771 lineto
+24500 17771 lineto
+24500 17199 lineto
+24409 17161 lineto
+24339 17091 lineto
+24301 16999 lineto
+24301 13400 lineto
+24339 13309 lineto
+24409 13239 lineto
+24501 13201 lineto
+28100 13201 lineto
+28191 13239 lineto
+28261 13309 lineto
+28299 13401 lineto
+28299 17000 lineto
+28261 17091 lineto
+28191 17161 lineto
+28099 17199 lineto
+24500 17199 lineto
+24500 17771 lineto
+26952 17771 lineto
+27089 17635 lineto
+27291 17551 lineto
+27509 17551 lineto
+27711 17635 lineto
+27865 17789 lineto
+27900 17873 lineto
+27935 17789 lineto
+28089 17635 lineto
+28280 17555 lineto
+28668 17168 lineto
+28774 17097 lineto
+28900 17072 lineto
+30900 17072 lineto
+31026 17097 lineto
+31132 17168 lineto
+31369 17405 lineto
+31381 17401 lineto
+31545 17401 lineto
+31496 17326 lineto
+31470 17200 lineto
+31471 17195 lineto
+31471 15804 lineto
+31470 15800 lineto
+31496 15674 lineto
+31567 15567 lineto
+32119 15015 lineto
+32191 14843 lineto
+32139 14791 lineto
+32101 14699 lineto
+32101 13700 lineto
+32139 13609 lineto
+32209 13539 lineto
+32301 13501 lineto
+33033 13501 lineto
+33759 12775 lineto
+23327 12775 lineto
+23328 12776 lineto
+23328 13623 lineto
+23290 13714 lineto
+23220 13784 lineto
+23128 13822 lineto
+22921 13822 lineto
+22921 14566 lineto
+22883 14657 lineto
+22813 14727 lineto
+22721 14765 lineto
+22307 14765 lineto
+22307 14821 lineto
+23194 15708 lineto
+23265 15815 lineto
+23290 15941 lineto
+23290 16769 lineto
+23289 16769 lineto
+23290 16770 lineto
+23265 16895 lineto
+23194 17002 lineto
+23191 17003 lineto
+22998 17196 lineto
+23011 17209 lineto
+23049 17301 lineto
+23049 18000 lineto
+23011 18091 lineto
+22941 18161 lineto
+22849 18199 lineto
+22728 18199 lineto
+22728 19764 lineto
+23232 20268 lineto
+23353 20389 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+33101 19855 moveto
+33101 19681 lineto
+33192 19461 lineto
+33204 19448 lineto
+33200 19449 lineto
+33109 19411 lineto
+33039 19341 lineto
+33001 19249 lineto
+33001 18350 lineto
+33039 18259 lineto
+33097 18199 lineto
+33039 18141 lineto
+33001 18049 lineto
+33001 17929 lineto
+32200 17929 lineto
+32099 17908 lineto
+32099 18119 lineto
+32008 18339 lineto
+31839 18508 lineto
+31778 18532 lineto
+33101 19855 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+24790 19697 moveto
+24813 19688 lineto
+25088 19688 lineto
+25105 19695 lineto
+25123 19688 lineto
+25252 19688 lineto
+25252 19499 lineto
+25092 19339 lineto
+25001 19119 lineto
+25001 18881 lineto
+25092 18661 lineto
+25261 18492 lineto
+25413 18429 lineto
+24019 18429 lineto
+24019 19688 lineto
+24138 19688 lineto
+24160 19697 lineto
+24183 19688 lineto
+24458 19688 lineto
+24475 19695 lineto
+24493 19688 lineto
+24768 19688 lineto
+24790 19697 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+26968 19607 moveto
+27049 19525 lineto
+26935 19411 lineto
+26851 19209 lineto
+26851 18991 lineto
+26935 18789 lineto
+27089 18635 lineto
+27173 18600 lineto
+27089 18565 lineto
+26953 18429 lineto
+25786 18429 lineto
+25939 18492 lineto
+26108 18661 lineto
+26199 18881 lineto
+26199 19119 lineto
+26141 19258 lineto
+26281 19201 lineto
+26519 19201 lineto
+26739 19292 lineto
+26908 19461 lineto
+26968 19607 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+34361 19552 moveto
+34361 19530 lineto
+34399 19439 lineto
+34421 19416 lineto
+34409 19411 lineto
+34339 19341 lineto
+34301 19249 lineto
+34301 18350 lineto
+34339 18259 lineto
+34398 18200 lineto
+34339 18141 lineto
+34301 18049 lineto
+34301 17150 lineto
+34339 17059 lineto
+34409 16989 lineto
+34501 16951 lineto
+35200 16951 lineto
+35291 16989 lineto
+35361 17059 lineto
+35399 17151 lineto
+35399 17271 lineto
+35401 17271 lineto
+35401 17150 lineto
+35439 17059 lineto
+35509 16989 lineto
+35601 16951 lineto
+36300 16951 lineto
+36391 16989 lineto
+36461 17059 lineto
+36499 17151 lineto
+36499 18050 lineto
+36461 18141 lineto
+36391 18211 lineto
+36299 18249 lineto
+35600 18249 lineto
+35509 18211 lineto
+35439 18141 lineto
+35401 18049 lineto
+35401 17929 lineto
+35399 17929 lineto
+35399 18050 lineto
+35361 18141 lineto
+35302 18200 lineto
+35361 18259 lineto
+35399 18351 lineto
+35399 18471 lineto
+36950 18471 lineto
+37089 18332 lineto
+37288 18249 lineto
+36900 18249 lineto
+36809 18211 lineto
+36739 18141 lineto
+36701 18049 lineto
+36701 17150 lineto
+36739 17059 lineto
+36809 16989 lineto
+36901 16951 lineto
+37600 16951 lineto
+37691 16989 lineto
+37761 17059 lineto
+37799 17151 lineto
+37799 17271 lineto
+38463 17271 lineto
+38884 16850 lineto
+33056 16850 lineto
+32938 16899 lineto
+32660 16899 lineto
+32403 16792 lineto
+32207 16595 lineto
+32129 16405 lineto
+32129 17063 lineto
+32336 17271 lineto
+33001 17271 lineto
+33001 17150 lineto
+33039 17059 lineto
+33109 16989 lineto
+33201 16951 lineto
+33900 16951 lineto
+33991 16989 lineto
+34061 17059 lineto
+34099 17151 lineto
+34099 18050 lineto
+34061 18141 lineto
+34002 18199 lineto
+34061 18259 lineto
+34099 18351 lineto
+34099 19250 lineto
+34068 19321 lineto
+34208 19461 lineto
+34245 19552 lineto
+34361 19552 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+42225 19069 moveto
+42225 12775 lineto
+41240 12775 lineto
+41830 13365 lineto
+41833 13367 lineto
+41904 13474 lineto
+41929 13600 lineto
+41929 18200 lineto
+41904 18326 lineto
+41833 18433 lineto
+41830 18434 lineto
+41196 19068 lineto
+42225 19069 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+40713 18621 moveto
+41271 18063 lineto
+41271 13736 lineto
+41030 13495 lineto
+41099 13662 lineto
+41099 13940 lineto
+40992 14197 lineto
+40795 14393 lineto
+40677 14441 lineto
+39569 15550 lineto
+39730 15550 lineto
+39758 15522 lineto
+39808 15403 lineto
+40005 15207 lineto
+40262 15101 lineto
+40540 15101 lineto
+40797 15208 lineto
+40993 15405 lineto
+41099 15662 lineto
+41099 15940 lineto
+40992 16197 lineto
+40795 16393 lineto
+40678 16441 lineto
+40460 16660 lineto
+40249 16801 lineto
+40000 16851 lineto
+39995 16850 lineto
+39815 16850 lineto
+38833 17833 lineto
+38726 17904 lineto
+38600 17930 lineto
+38595 17929 lineto
+37799 17929 lineto
+37799 18050 lineto
+37761 18141 lineto
+37691 18211 lineto
+37599 18249 lineto
+37511 18249 lineto
+37711 18332 lineto
+37865 18486 lineto
+37900 18570 lineto
+37935 18486 lineto
+38089 18332 lineto
+38291 18248 lineto
+38509 18248 lineto
+38711 18332 lineto
+38865 18486 lineto
+38900 18570 lineto
+38935 18486 lineto
+39089 18332 lineto
+39291 18248 lineto
+39509 18248 lineto
+39711 18332 lineto
+39865 18486 lineto
+39921 18621 lineto
+40713 18621 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+27660 18613 moveto
+27708 18566 lineto
+27626 18600 lineto
+27660 18613 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+27865 18409 moveto
+27914 18360 lineto
+27900 18326 lineto
+27865 18409 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+29949 17764 moveto
+29964 17728 lineto
+29939 17728 lineto
+29949 17751 lineto
+29949 17764 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+20457 16867 moveto
+20568 16845 lineto
+20643 16845 lineto
+20589 16791 lineto
+20551 16699 lineto
+20551 16093 lineto
+20457 16187 lineto
+20457 16867 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+21843 16845 moveto
+21799 16801 lineto
+21756 16845 lineto
+21843 16845 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+32129 15992 moveto
+32168 15896 lineto
+32129 15936 lineto
+32129 15992 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+21799 15898 moveto
+21859 15839 lineto
+21876 15831 lineto
+21774 15729 lineto
+21770 15750 lineto
+21717 15829 lineto
+21741 15839 lineto
+21799 15898 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+20888 15801 moveto
+20896 15764 lineto
+20927 15716 lineto
+20843 15801 lineto
+20888 15801 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+38730 14550 moveto
+39758 13522 lineto
+39808 13403 lineto
+40005 13207 lineto
+40194 13129 lineto
+34336 13129 lineto
+33499 13966 lineto
+33499 14550 lineto
+38730 14550 lineto
+poly0
+newpath
+42225 29866 moveto
+42225 29866 lineto
+stroke
+newpath
+42145 29946 moveto
+42225 29946 lineto
+stroke
+newpath
+42065 30026 moveto
+42225 30026 lineto
+stroke
+newpath
+41985 30106 moveto
+42225 30106 lineto
+stroke
+newpath
+41905 30186 moveto
+42225 30186 lineto
+stroke
+newpath
+41825 30266 moveto
+42225 30266 lineto
+stroke
+newpath
+41745 30346 moveto
+42225 30346 lineto
+stroke
+newpath
+41665 30426 moveto
+42225 30426 lineto
+stroke
+newpath
+41585 30506 moveto
+42225 30506 lineto
+stroke
+newpath
+23081 29745 moveto
+23081 29745 lineto
+stroke
+newpath
+23081 29825 moveto
+23161 29825 lineto
+stroke
+newpath
+23081 29905 moveto
+23241 29905 lineto
+stroke
+newpath
+23081 29985 moveto
+23321 29985 lineto
+stroke
+newpath
+23081 30065 moveto
+23401 30065 lineto
+stroke
+newpath
+23081 30145 moveto
+23481 30145 lineto
+stroke
+newpath
+23081 30225 moveto
+23561 30225 lineto
+stroke
+newpath
+23081 30305 moveto
+23641 30305 lineto
+stroke
+newpath
+23081 30385 moveto
+23721 30385 lineto
+stroke
+newpath
+23081 30465 moveto
+23801 30465 lineto
+stroke
+newpath
+23568 28323 moveto
+23568 28323 lineto
+stroke
+newpath
+23499 28403 moveto
+23648 28403 lineto
+stroke
+newpath
+23188 28483 moveto
+23728 28483 lineto
+stroke
+newpath
+23268 28563 moveto
+23808 28563 lineto
+stroke
+newpath
+23348 28643 moveto
+23888 28643 lineto
+stroke
+newpath
+23428 28723 moveto
+23968 28723 lineto
+stroke
+newpath
+23508 28803 moveto
+24048 28803 lineto
+stroke
+newpath
+23588 28883 moveto
+24128 28883 lineto
+stroke
+newpath
+23668 28963 moveto
+24208 28963 lineto
+stroke
+newpath
+23748 29043 moveto
+24288 29043 lineto
+stroke
+newpath
+23828 29123 moveto
+24368 29123 lineto
+stroke
+newpath
+23908 29203 moveto
+24448 29203 lineto
+stroke
+newpath
+23988 29283 moveto
+24528 29283 lineto
+stroke
+newpath
+24068 29363 moveto
+24608 29363 lineto
+stroke
+newpath
+24148 29443 moveto
+24688 29443 lineto
+stroke
+newpath
+24228 29523 moveto
+24768 29523 lineto
+stroke
+newpath
+24308 29603 moveto
+24861 29603 lineto
+stroke
+newpath
+24388 29683 moveto
+41138 29683 lineto
+stroke
+newpath
+24468 29763 moveto
+41058 29763 lineto
+stroke
+newpath
+24548 29843 moveto
+40978 29843 lineto
+stroke
+newpath
+24628 29923 moveto
+40898 29923 lineto
+stroke
+newpath
+19275 22613 moveto
+19275 22613 lineto
+stroke
+newpath
+19275 22693 moveto
+19466 22693 lineto
+stroke
+newpath
+19733 22693 moveto
+19799 22693 lineto
+stroke
+newpath
+19275 22773 moveto
+19799 22773 lineto
+stroke
+newpath
+19275 22853 moveto
+19799 22853 lineto
+stroke
+newpath
+19275 22933 moveto
+19799 22933 lineto
+stroke
+newpath
+19275 23013 moveto
+19799 23013 lineto
+stroke
+newpath
+19275 23093 moveto
+19799 23093 lineto
+stroke
+newpath
+19275 23173 moveto
+19799 23173 lineto
+stroke
+newpath
+19275 23253 moveto
+19799 23253 lineto
+stroke
+newpath
+19275 23333 moveto
+19799 23333 lineto
+stroke
+newpath
+19275 23413 moveto
+19799 23413 lineto
+stroke
+newpath
+19275 23493 moveto
+19799 23493 lineto
+stroke
+newpath
+19275 23573 moveto
+19799 23573 lineto
+stroke
+newpath
+19275 23653 moveto
+19799 23653 lineto
+stroke
+newpath
+19275 23733 moveto
+19799 23733 lineto
+stroke
+newpath
+19275 23813 moveto
+19799 23813 lineto
+stroke
+newpath
+19275 23893 moveto
+19799 23893 lineto
+stroke
+newpath
+19275 23973 moveto
+19799 23973 lineto
+stroke
+newpath
+19275 24053 moveto
+19799 24053 lineto
+stroke
+newpath
+19275 24133 moveto
+19799 24133 lineto
+stroke
+newpath
+19275 24213 moveto
+19799 24213 lineto
+stroke
+newpath
+19275 24293 moveto
+19799 24293 lineto
+stroke
+newpath
+19275 24373 moveto
+19799 24373 lineto
+stroke
+newpath
+19275 24453 moveto
+19799 24453 lineto
+stroke
+newpath
+19275 24533 moveto
+19799 24533 lineto
+stroke
+newpath
+19275 24613 moveto
+19799 24613 lineto
+stroke
+newpath
+19275 24693 moveto
+19799 24693 lineto
+stroke
+newpath
+19275 24773 moveto
+19799 24773 lineto
+stroke
+newpath
+19275 24853 moveto
+19799 24853 lineto
+stroke
+newpath
+19275 24933 moveto
+19799 24933 lineto
+stroke
+newpath
+19275 25013 moveto
+19799 25013 lineto
+stroke
+newpath
+19275 25093 moveto
+19799 25093 lineto
+stroke
+newpath
+19275 25173 moveto
+19799 25173 lineto
+stroke
+newpath
+19275 25253 moveto
+19799 25253 lineto
+stroke
+newpath
+19275 25333 moveto
+19799 25333 lineto
+stroke
+newpath
+19275 25413 moveto
+19799 25413 lineto
+stroke
+newpath
+19275 25493 moveto
+19799 25493 lineto
+stroke
+newpath
+19275 25573 moveto
+19799 25573 lineto
+stroke
+newpath
+19275 25653 moveto
+19799 25653 lineto
+stroke
+newpath
+19275 25733 moveto
+19799 25733 lineto
+stroke
+newpath
+19275 25813 moveto
+19799 25813 lineto
+stroke
+newpath
+19275 25893 moveto
+19799 25893 lineto
+stroke
+newpath
+19275 25973 moveto
+19799 25973 lineto
+stroke
+newpath
+19275 26053 moveto
+19799 26053 lineto
+stroke
+newpath
+19275 26133 moveto
+19799 26133 lineto
+stroke
+newpath
+19275 26213 moveto
+19799 26213 lineto
+stroke
+newpath
+19275 26293 moveto
+19799 26293 lineto
+stroke
+newpath
+19275 26373 moveto
+19799 26373 lineto
+stroke
+newpath
+19275 26453 moveto
+19799 26453 lineto
+stroke
+newpath
+19275 26533 moveto
+19799 26533 lineto
+stroke
+newpath
+19275 26613 moveto
+19799 26613 lineto
+stroke
+newpath
+19275 26693 moveto
+19799 26693 lineto
+stroke
+newpath
+19275 26773 moveto
+19799 26773 lineto
+stroke
+newpath
+19275 26853 moveto
+19799 26853 lineto
+stroke
+newpath
+19275 26933 moveto
+19799 26933 lineto
+stroke
+newpath
+19275 27013 moveto
+19799 27013 lineto
+stroke
+newpath
+19275 27093 moveto
+19799 27093 lineto
+stroke
+newpath
+19275 27173 moveto
+19799 27173 lineto
+stroke
+newpath
+19275 27253 moveto
+19799 27253 lineto
+stroke
+newpath
+19275 27333 moveto
+19799 27333 lineto
+stroke
+newpath
+19275 27413 moveto
+19799 27413 lineto
+stroke
+newpath
+19275 27493 moveto
+19799 27493 lineto
+stroke
+newpath
+19275 27573 moveto
+19799 27573 lineto
+stroke
+newpath
+19275 27653 moveto
+19799 27653 lineto
+stroke
+newpath
+19275 27733 moveto
+19799 27733 lineto
+stroke
+newpath
+19275 27813 moveto
+19799 27813 lineto
+stroke
+newpath
+19275 27893 moveto
+19799 27893 lineto
+stroke
+newpath
+19275 27973 moveto
+19807 27973 lineto
+stroke
+newpath
+19275 28053 moveto
+19823 28053 lineto
+stroke
+newpath
+19275 28133 moveto
+19876 28133 lineto
+stroke
+newpath
+19275 28213 moveto
+19949 28213 lineto
+stroke
+newpath
+19275 28293 moveto
+20029 28293 lineto
+stroke
+newpath
+19275 28373 moveto
+20109 28373 lineto
+stroke
+newpath
+19275 28453 moveto
+20189 28453 lineto
+stroke
+newpath
+19275 28533 moveto
+20269 28533 lineto
+stroke
+newpath
+19275 28613 moveto
+20349 28613 lineto
+stroke
+newpath
+19275 28693 moveto
+20429 28693 lineto
+stroke
+newpath
+19275 28773 moveto
+20509 28773 lineto
+stroke
+newpath
+19275 28853 moveto
+20589 28853 lineto
+stroke
+newpath
+19275 28933 moveto
+20669 28933 lineto
+stroke
+newpath
+19275 29013 moveto
+20749 29013 lineto
+stroke
+newpath
+36699 26168 moveto
+36901 26168 lineto
+stroke
+newpath
+36699 26248 moveto
+36901 26248 lineto
+stroke
+newpath
+36699 26328 moveto
+36901 26328 lineto
+stroke
+newpath
+36699 26408 moveto
+36901 26408 lineto
+stroke
+newpath
+36699 26488 moveto
+36901 26488 lineto
+stroke
+newpath
+36699 26568 moveto
+36901 26568 lineto
+stroke
+newpath
+36699 26648 moveto
+36901 26648 lineto
+stroke
+newpath
+36699 26728 moveto
+36901 26728 lineto
+stroke
+newpath
+36699 26808 moveto
+36901 26808 lineto
+stroke
+newpath
+36683 26888 moveto
+36917 26888 lineto
+stroke
+newpath
+36634 26968 moveto
+36966 26968 lineto
+stroke
+newpath
+37934 26968 moveto
+38012 26968 lineto
+stroke
+newpath
+36501 27048 moveto
+37097 27048 lineto
+stroke
+newpath
+37801 27048 moveto
+38092 27048 lineto
+stroke
+newpath
+36249 27128 moveto
+38172 27128 lineto
+stroke
+newpath
+36249 27208 moveto
+38252 27208 lineto
+stroke
+newpath
+36249 27288 moveto
+38332 27288 lineto
+stroke
+newpath
+36249 27368 moveto
+38412 27368 lineto
+stroke
+newpath
+36249 27448 moveto
+38492 27448 lineto
+stroke
+newpath
+36249 27528 moveto
+38572 27528 lineto
+stroke
+newpath
+36314 27608 moveto
+38652 27608 lineto
+stroke
+newpath
+36394 27688 moveto
+38732 27688 lineto
+stroke
+newpath
+36474 27768 moveto
+38745 27768 lineto
+stroke
+newpath
+36554 27848 moveto
+38745 27848 lineto
+stroke
+newpath
+36634 27928 moveto
+38745 27928 lineto
+stroke
+newpath
+36714 28008 moveto
+38745 28008 lineto
+stroke
+newpath
+36774 28088 moveto
+38745 28088 lineto
+stroke
+newpath
+36811 28168 moveto
+38745 28168 lineto
+stroke
+newpath
+37730 28248 moveto
+38745 28248 lineto
+stroke
+newpath
+37782 28328 moveto
+38745 28328 lineto
+stroke
+newpath
+37799 28408 moveto
+38745 28408 lineto
+stroke
+newpath
+37799 28488 moveto
+38745 28488 lineto
+stroke
+newpath
+37799 28568 moveto
+38745 28568 lineto
+stroke
+newpath
+37799 28648 moveto
+38745 28648 lineto
+stroke
+newpath
+37799 28728 moveto
+38745 28728 lineto
+stroke
+newpath
+37799 28808 moveto
+38745 28808 lineto
+stroke
+newpath
+37799 28888 moveto
+38745 28888 lineto
+stroke
+newpath
+37799 28968 moveto
+38745 28968 lineto
+stroke
+newpath
+35591 26964 moveto
+35591 26964 lineto
+stroke
+newpath
+35511 27044 moveto
+35591 27044 lineto
+stroke
+newpath
+35431 27124 moveto
+35591 27124 lineto
+stroke
+newpath
+35351 27204 moveto
+35591 27204 lineto
+stroke
+newpath
+35271 27284 moveto
+35591 27284 lineto
+stroke
+newpath
+35191 27364 moveto
+35591 27364 lineto
+stroke
+newpath
+35111 27444 moveto
+35591 27444 lineto
+stroke
+newpath
+35031 27524 moveto
+35591 27524 lineto
+stroke
+newpath
+34951 27604 moveto
+35591 27604 lineto
+stroke
+newpath
+34871 27684 moveto
+35590 27684 lineto
+stroke
+newpath
+34791 27764 moveto
+35607 27764 lineto
+stroke
+newpath
+34711 27844 moveto
+35641 27844 lineto
+stroke
+newpath
+34631 27924 moveto
+35698 27924 lineto
+stroke
+newpath
+34551 28004 moveto
+35778 28004 lineto
+stroke
+newpath
+34471 28084 moveto
+35858 28084 lineto
+stroke
+newpath
+34391 28164 moveto
+35938 28164 lineto
+stroke
+newpath
+34311 28244 moveto
+35274 28244 lineto
+stroke
+newpath
+34231 28324 moveto
+35221 28324 lineto
+stroke
+newpath
+34151 28404 moveto
+35201 28404 lineto
+stroke
+newpath
+34071 28484 moveto
+35201 28484 lineto
+stroke
+newpath
+33991 28564 moveto
+35201 28564 lineto
+stroke
+newpath
+33911 28644 moveto
+35201 28644 lineto
+stroke
+newpath
+33831 28724 moveto
+35201 28724 lineto
+stroke
+newpath
+33751 28804 moveto
+35201 28804 lineto
+stroke
+newpath
+33671 28884 moveto
+35201 28884 lineto
+stroke
+newpath
+33591 28964 moveto
+35201 28964 lineto
+stroke
+newpath
+23378 24762 moveto
+23378 24762 lineto
+stroke
+newpath
+23378 24842 moveto
+23417 24842 lineto
+stroke
+newpath
+23378 24922 moveto
+23478 24922 lineto
+stroke
+newpath
+23378 25002 moveto
+23558 25002 lineto
+stroke
+newpath
+23378 25082 moveto
+23638 25082 lineto
+stroke
+newpath
+23378 25162 moveto
+23718 25162 lineto
+stroke
+newpath
+23378 25242 moveto
+23798 25242 lineto
+stroke
+newpath
+23378 25322 moveto
+23878 25322 lineto
+stroke
+newpath
+23378 25402 moveto
+23958 25402 lineto
+stroke
+newpath
+23378 25482 moveto
+24038 25482 lineto
+stroke
+newpath
+23427 25562 moveto
+24118 25562 lineto
+stroke
+newpath
+23544 25642 moveto
+24198 25642 lineto
+stroke
+newpath
+23588 25722 moveto
+24278 25722 lineto
+stroke
+newpath
+23599 25802 moveto
+24358 25802 lineto
+stroke
+newpath
+23599 25882 moveto
+24438 25882 lineto
+stroke
+newpath
+23599 25962 moveto
+24518 25962 lineto
+stroke
+newpath
+23599 26042 moveto
+24598 26042 lineto
+stroke
+newpath
+23599 26122 moveto
+24678 26122 lineto
+stroke
+newpath
+23599 26202 moveto
+24758 26202 lineto
+stroke
+newpath
+23599 26282 moveto
+24838 26282 lineto
+stroke
+newpath
+23599 26362 moveto
+24918 26362 lineto
+stroke
+newpath
+23599 26442 moveto
+24998 26442 lineto
+stroke
+newpath
+23599 26522 moveto
+25078 26522 lineto
+stroke
+newpath
+23599 26602 moveto
+25158 26602 lineto
+stroke
+newpath
+23585 26682 moveto
+25238 26682 lineto
+stroke
+newpath
+23540 26762 moveto
+25318 26762 lineto
+stroke
+newpath
+23415 26842 moveto
+25398 26842 lineto
+stroke
+newpath
+22919 26922 moveto
+25478 26922 lineto
+stroke
+newpath
+22919 27002 moveto
+25558 27002 lineto
+stroke
+newpath
+22919 27082 moveto
+25638 27082 lineto
+stroke
+newpath
+23427 27162 moveto
+25718 27162 lineto
+stroke
+newpath
+23544 27242 moveto
+25798 27242 lineto
+stroke
+newpath
+23588 27322 moveto
+25878 27322 lineto
+stroke
+newpath
+23599 27402 moveto
+25958 27402 lineto
+stroke
+newpath
+23599 27482 moveto
+26038 27482 lineto
+stroke
+newpath
+23736 27562 moveto
+26118 27562 lineto
+stroke
+newpath
+23818 27642 moveto
+26198 27642 lineto
+stroke
+newpath
+23898 27722 moveto
+26278 27722 lineto
+stroke
+newpath
+23978 27802 moveto
+26358 27802 lineto
+stroke
+newpath
+24058 27882 moveto
+26438 27882 lineto
+stroke
+newpath
+24138 27962 moveto
+26518 27962 lineto
+stroke
+newpath
+24218 28042 moveto
+26598 28042 lineto
+stroke
+newpath
+24298 28122 moveto
+26678 28122 lineto
+stroke
+newpath
+24378 28202 moveto
+26758 28202 lineto
+stroke
+newpath
+24458 28282 moveto
+26838 28282 lineto
+stroke
+newpath
+24538 28362 moveto
+26918 28362 lineto
+stroke
+newpath
+24618 28442 moveto
+26998 28442 lineto
+stroke
+newpath
+24698 28522 moveto
+27078 28522 lineto
+stroke
+newpath
+24778 28602 moveto
+27158 28602 lineto
+stroke
+newpath
+24858 28682 moveto
+27238 28682 lineto
+stroke
+newpath
+24938 28762 moveto
+27318 28762 lineto
+stroke
+newpath
+25018 28842 moveto
+27398 28842 lineto
+stroke
+newpath
+25098 28922 moveto
+27478 28922 lineto
+stroke
+newpath
+25178 29002 moveto
+27560 29002 lineto
+stroke
+newpath
+27924 28079 moveto
+30027 28079 lineto
+stroke
+newpath
+28004 28159 moveto
+30678 28159 lineto
+stroke
+newpath
+40629 27049 moveto
+41182 27049 lineto
+stroke
+newpath
+40629 27129 moveto
+41182 27129 lineto
+stroke
+newpath
+40629 27209 moveto
+41182 27209 lineto
+stroke
+newpath
+40629 27289 moveto
+41182 27289 lineto
+stroke
+newpath
+40629 27369 moveto
+41182 27369 lineto
+stroke
+newpath
+40629 27449 moveto
+41182 27449 lineto
+stroke
+newpath
+40629 27529 moveto
+41182 27529 lineto
+stroke
+newpath
+40629 27609 moveto
+41182 27609 lineto
+stroke
+newpath
+40629 27689 moveto
+41182 27689 lineto
+stroke
+newpath
+40629 27769 moveto
+41182 27769 lineto
+stroke
+newpath
+40629 27849 moveto
+41182 27849 lineto
+stroke
+newpath
+40629 27929 moveto
+41182 27929 lineto
+stroke
+newpath
+40629 28009 moveto
+41182 28009 lineto
+stroke
+newpath
+40629 28089 moveto
+41182 28089 lineto
+stroke
+newpath
+40629 28169 moveto
+41182 28169 lineto
+stroke
+newpath
+39403 27688 moveto
+39971 27688 lineto
+stroke
+newpath
+39403 27768 moveto
+39971 27768 lineto
+stroke
+newpath
+39403 27848 moveto
+39971 27848 lineto
+stroke
+newpath
+39403 27928 moveto
+39971 27928 lineto
+stroke
+newpath
+39403 28008 moveto
+39971 28008 lineto
+stroke
+newpath
+39403 28088 moveto
+39971 28088 lineto
+stroke
+newpath
+39403 28168 moveto
+39971 28168 lineto
+stroke
+newpath
+35631 25323 moveto
+35631 25323 lineto
+stroke
+newpath
+35551 25403 moveto
+35701 25403 lineto
+stroke
+newpath
+35471 25483 moveto
+36137 25483 lineto
+stroke
+newpath
+35391 25563 moveto
+35544 25563 lineto
+stroke
+newpath
+35311 25643 moveto
+35442 25643 lineto
+stroke
+newpath
+35231 25723 moveto
+35362 25723 lineto
+stroke
+newpath
+35151 25803 moveto
+35282 25803 lineto
+stroke
+newpath
+35071 25883 moveto
+35202 25883 lineto
+stroke
+newpath
+34991 25963 moveto
+35122 25963 lineto
+stroke
+newpath
+34911 26043 moveto
+35042 26043 lineto
+stroke
+newpath
+34831 26123 moveto
+34962 26123 lineto
+stroke
+newpath
+34751 26203 moveto
+34882 26203 lineto
+stroke
+newpath
+34671 26283 moveto
+34802 26283 lineto
+stroke
+newpath
+34591 26363 moveto
+34722 26363 lineto
+stroke
+newpath
+34511 26443 moveto
+34642 26443 lineto
+stroke
+newpath
+34431 26523 moveto
+34562 26523 lineto
+stroke
+newpath
+34351 26603 moveto
+34482 26603 lineto
+stroke
+newpath
+34271 26683 moveto
+34402 26683 lineto
+stroke
+newpath
+34191 26763 moveto
+34322 26763 lineto
+stroke
+newpath
+34111 26843 moveto
+34242 26843 lineto
+stroke
+newpath
+34031 26923 moveto
+34162 26923 lineto
+stroke
+newpath
+33951 27003 moveto
+34082 27003 lineto
+stroke
+newpath
+33871 27083 moveto
+34002 27083 lineto
+stroke
+newpath
+33791 27163 moveto
+33922 27163 lineto
+stroke
+newpath
+33711 27243 moveto
+33842 27243 lineto
+stroke
+newpath
+33631 27323 moveto
+33762 27323 lineto
+stroke
+newpath
+33551 27403 moveto
+33682 27403 lineto
+stroke
+newpath
+33471 27483 moveto
+33602 27483 lineto
+stroke
+newpath
+33391 27563 moveto
+33522 27563 lineto
+stroke
+newpath
+33322 27643 moveto
+33442 27643 lineto
+stroke
+newpath
+33322 27723 moveto
+33362 27723 lineto
+stroke
+newpath
+26230 24112 moveto
+26230 24112 lineto
+stroke
+newpath
+26230 24192 moveto
+26310 24192 lineto
+stroke
+newpath
+26230 24272 moveto
+26390 24272 lineto
+stroke
+newpath
+26230 24352 moveto
+26470 24352 lineto
+stroke
+newpath
+26230 24432 moveto
+26550 24432 lineto
+stroke
+newpath
+26230 24512 moveto
+26630 24512 lineto
+stroke
+newpath
+26207 24592 moveto
+26710 24592 lineto
+stroke
+newpath
+26150 24672 moveto
+26790 24672 lineto
+stroke
+newpath
+26171 24752 moveto
+26870 24752 lineto
+stroke
+newpath
+26251 24832 moveto
+26950 24832 lineto
+stroke
+newpath
+26331 24912 moveto
+27030 24912 lineto
+stroke
+newpath
+26411 24992 moveto
+27110 24992 lineto
+stroke
+newpath
+26491 25072 moveto
+27190 25072 lineto
+stroke
+newpath
+26571 25152 moveto
+27270 25152 lineto
+stroke
+newpath
+26651 25232 moveto
+27350 25232 lineto
+stroke
+newpath
+26731 25312 moveto
+27437 25312 lineto
+stroke
+newpath
+26811 25392 moveto
+31736 25392 lineto
+stroke
+newpath
+26891 25472 moveto
+31736 25472 lineto
+stroke
+newpath
+26971 25552 moveto
+31736 25552 lineto
+stroke
+newpath
+27051 25632 moveto
+31736 25632 lineto
+stroke
+newpath
+27131 25712 moveto
+31736 25712 lineto
+stroke
+newpath
+27211 25792 moveto
+31736 25792 lineto
+stroke
+newpath
+27291 25872 moveto
+31736 25872 lineto
+stroke
+newpath
+30729 25952 moveto
+31736 25952 lineto
+stroke
+newpath
+30796 26032 moveto
+31736 26032 lineto
+stroke
+newpath
+30824 26112 moveto
+31736 26112 lineto
+stroke
+newpath
+30824 26192 moveto
+31736 26192 lineto
+stroke
+newpath
+30824 26272 moveto
+31736 26272 lineto
+stroke
+newpath
+30824 26352 moveto
+31736 26352 lineto
+stroke
+newpath
+30810 26432 moveto
+31736 26432 lineto
+stroke
+newpath
+30788 26512 moveto
+31736 26512 lineto
+stroke
+newpath
+30821 26592 moveto
+31736 26592 lineto
+stroke
+newpath
+30824 26672 moveto
+31736 26672 lineto
+stroke
+newpath
+30824 26752 moveto
+31736 26752 lineto
+stroke
+newpath
+30824 26832 moveto
+31736 26832 lineto
+stroke
+newpath
+30818 26912 moveto
+31736 26912 lineto
+stroke
+newpath
+30785 26992 moveto
+31736 26992 lineto
+stroke
+newpath
+30813 27072 moveto
+31736 27072 lineto
+stroke
+newpath
+30824 27152 moveto
+31736 27152 lineto
+stroke
+newpath
+30824 27232 moveto
+31736 27232 lineto
+stroke
+newpath
+30824 27312 moveto
+31736 27312 lineto
+stroke
+newpath
+30824 27392 moveto
+31736 27392 lineto
+stroke
+newpath
+30901 27472 moveto
+31736 27472 lineto
+stroke
+newpath
+31003 27552 moveto
+31736 27552 lineto
+stroke
+newpath
+31083 27632 moveto
+31736 27632 lineto
+stroke
+newpath
+27239 27054 moveto
+27239 27054 lineto
+stroke
+newpath
+27319 27134 moveto
+29876 27134 lineto
+stroke
+newpath
+27399 27214 moveto
+29876 27214 lineto
+stroke
+newpath
+27479 27294 moveto
+29876 27294 lineto
+stroke
+newpath
+27559 27374 moveto
+29876 27374 lineto
+stroke
+newpath
+21258 27083 moveto
+21258 27083 lineto
+stroke
+newpath
+21258 27163 moveto
+21372 27163 lineto
+stroke
+newpath
+39971 27019 moveto
+39971 27019 lineto
+stroke
+newpath
+35586 23900 moveto
+38263 23900 lineto
+stroke
+newpath
+35506 23980 moveto
+38343 23980 lineto
+stroke
+newpath
+35426 24060 moveto
+38423 24060 lineto
+stroke
+newpath
+35346 24140 moveto
+38503 24140 lineto
+stroke
+newpath
+35266 24220 moveto
+35678 24220 lineto
+stroke
+newpath
+36622 24220 moveto
+36978 24220 lineto
+stroke
+newpath
+37922 24220 moveto
+38583 24220 lineto
+stroke
+newpath
+35186 24300 moveto
+35622 24300 lineto
+stroke
+newpath
+36678 24300 moveto
+36922 24300 lineto
+stroke
+newpath
+37978 24300 moveto
+38663 24300 lineto
+stroke
+newpath
+35106 24380 moveto
+35601 24380 lineto
+stroke
+newpath
+36699 24380 moveto
+36901 24380 lineto
+stroke
+newpath
+37999 24380 moveto
+38743 24380 lineto
+stroke
+newpath
+35026 24460 moveto
+35601 24460 lineto
+stroke
+newpath
+36699 24460 moveto
+36901 24460 lineto
+stroke
+newpath
+37999 24460 moveto
+38761 24460 lineto
+stroke
+newpath
+34946 24540 moveto
+35498 24540 lineto
+stroke
+newpath
+36699 24540 moveto
+36901 24540 lineto
+stroke
+newpath
+38103 24540 moveto
+38761 24540 lineto
+stroke
+newpath
+34866 24620 moveto
+35404 24620 lineto
+stroke
+newpath
+36699 24620 moveto
+36901 24620 lineto
+stroke
+newpath
+38196 24620 moveto
+38761 24620 lineto
+stroke
+newpath
+34786 24700 moveto
+35324 24700 lineto
+stroke
+newpath
+36699 24700 moveto
+36901 24700 lineto
+stroke
+newpath
+38276 24700 moveto
+38761 24700 lineto
+stroke
+newpath
+34706 24780 moveto
+35244 24780 lineto
+stroke
+newpath
+36699 24780 moveto
+36901 24780 lineto
+stroke
+newpath
+38356 24780 moveto
+38761 24780 lineto
+stroke
+newpath
+34626 24860 moveto
+35164 24860 lineto
+stroke
+newpath
+36699 24860 moveto
+36901 24860 lineto
+stroke
+newpath
+38436 24860 moveto
+38772 24860 lineto
+stroke
+newpath
+34546 24940 moveto
+35084 24940 lineto
+stroke
+newpath
+36699 24940 moveto
+36901 24940 lineto
+stroke
+newpath
+38516 24940 moveto
+38795 24940 lineto
+stroke
+newpath
+34466 25020 moveto
+35004 25020 lineto
+stroke
+newpath
+36699 25020 moveto
+36901 25020 lineto
+stroke
+newpath
+38596 25020 moveto
+38848 25020 lineto
+stroke
+newpath
+34386 25100 moveto
+34924 25100 lineto
+stroke
+newpath
+36699 25100 moveto
+36901 25100 lineto
+stroke
+newpath
+34306 25180 moveto
+34844 25180 lineto
+stroke
+newpath
+34226 25260 moveto
+34764 25260 lineto
+stroke
+newpath
+34146 25340 moveto
+34684 25340 lineto
+stroke
+newpath
+34066 25420 moveto
+34604 25420 lineto
+stroke
+newpath
+33986 25500 moveto
+34524 25500 lineto
+stroke
+newpath
+33906 25580 moveto
+34444 25580 lineto
+stroke
+newpath
+33826 25660 moveto
+34364 25660 lineto
+stroke
+newpath
+33746 25740 moveto
+34284 25740 lineto
+stroke
+newpath
+33666 25820 moveto
+34204 25820 lineto
+stroke
+newpath
+33586 25900 moveto
+34124 25900 lineto
+stroke
+newpath
+33506 25980 moveto
+34044 25980 lineto
+stroke
+newpath
+33426 26060 moveto
+33964 26060 lineto
+stroke
+newpath
+33346 26140 moveto
+33884 26140 lineto
+stroke
+newpath
+33266 26220 moveto
+33804 26220 lineto
+stroke
+newpath
+33186 26300 moveto
+33724 26300 lineto
+stroke
+newpath
+33106 26380 moveto
+33644 26380 lineto
+stroke
+newpath
+33100 26460 moveto
+33564 26460 lineto
+stroke
+newpath
+33100 26540 moveto
+33484 26540 lineto
+stroke
+newpath
+33137 26620 moveto
+33404 26620 lineto
+stroke
+newpath
+33155 26700 moveto
+33324 26700 lineto
+stroke
+newpath
+33164 26780 moveto
+33244 26780 lineto
+stroke
+newpath
+22261 26741 moveto
+22261 26741 lineto
+stroke
+newpath
+22227 26821 moveto
+22261 26821 lineto
+stroke
+newpath
+33100 21042 moveto
+34361 21042 lineto
+stroke
+newpath
+33100 21122 moveto
+34361 21122 lineto
+stroke
+newpath
+33100 21202 moveto
+34361 21202 lineto
+stroke
+newpath
+33100 21282 moveto
+34361 21282 lineto
+stroke
+newpath
+33100 21362 moveto
+34361 21362 lineto
+stroke
+newpath
+33100 21442 moveto
+34361 21442 lineto
+stroke
+newpath
+33100 21522 moveto
+34361 21522 lineto
+stroke
+newpath
+33100 21602 moveto
+34391 21602 lineto
+stroke
+newpath
+33100 21682 moveto
+34460 21682 lineto
+stroke
+newpath
+33100 21762 moveto
+35128 21762 lineto
+stroke
+newpath
+33100 21842 moveto
+35208 21842 lineto
+stroke
+newpath
+33100 21922 moveto
+35288 21922 lineto
+stroke
+newpath
+33100 22002 moveto
+35368 22002 lineto
+stroke
+newpath
+33100 22082 moveto
+35448 22082 lineto
+stroke
+newpath
+33100 22162 moveto
+35528 22162 lineto
+stroke
+newpath
+33100 22242 moveto
+35637 22242 lineto
+stroke
+newpath
+33100 22322 moveto
+36841 22322 lineto
+stroke
+newpath
+33100 22402 moveto
+36841 22402 lineto
+stroke
+newpath
+33100 22482 moveto
+36854 22482 lineto
+stroke
+newpath
+37945 22482 moveto
+38003 22482 lineto
+stroke
+newpath
+33100 22562 moveto
+36900 22562 lineto
+stroke
+newpath
+37900 22562 moveto
+38071 22562 lineto
+stroke
+newpath
+33100 22642 moveto
+37023 22642 lineto
+stroke
+newpath
+37775 22642 moveto
+38071 22642 lineto
+stroke
+newpath
+33100 22722 moveto
+38071 22722 lineto
+stroke
+newpath
+33100 22802 moveto
+38071 22802 lineto
+stroke
+newpath
+33100 22882 moveto
+38071 22882 lineto
+stroke
+newpath
+33100 22962 moveto
+38071 22962 lineto
+stroke
+newpath
+33100 23042 moveto
+38071 23042 lineto
+stroke
+newpath
+33100 23122 moveto
+38071 23122 lineto
+stroke
+newpath
+33100 23202 moveto
+38071 23202 lineto
+stroke
+newpath
+33100 23282 moveto
+35302 23282 lineto
+stroke
+newpath
+33100 23362 moveto
+35193 23362 lineto
+stroke
+newpath
+33097 23442 moveto
+35113 23442 lineto
+stroke
+newpath
+33081 23522 moveto
+35033 23522 lineto
+stroke
+newpath
+33043 23602 moveto
+34953 23602 lineto
+stroke
+newpath
+32984 23682 moveto
+34873 23682 lineto
+stroke
+newpath
+32904 23762 moveto
+34793 23762 lineto
+stroke
+newpath
+32849 23842 moveto
+34713 23842 lineto
+stroke
+newpath
+32849 23922 moveto
+34633 23922 lineto
+stroke
+newpath
+32849 24002 moveto
+34553 24002 lineto
+stroke
+newpath
+32818 24082 moveto
+34473 24082 lineto
+stroke
+newpath
+32785 24162 moveto
+34393 24162 lineto
+stroke
+newpath
+32734 24242 moveto
+34313 24242 lineto
+stroke
+newpath
+32654 24322 moveto
+34233 24322 lineto
+stroke
+newpath
+32522 24402 moveto
+34153 24402 lineto
+stroke
+newpath
+32394 24482 moveto
+34073 24482 lineto
+stroke
+newpath
+32394 24562 moveto
+33993 24562 lineto
+stroke
+newpath
+32394 24642 moveto
+33913 24642 lineto
+stroke
+newpath
+32394 24722 moveto
+33833 24722 lineto
+stroke
+newpath
+32394 24802 moveto
+33753 24802 lineto
+stroke
+newpath
+32394 24882 moveto
+33673 24882 lineto
+stroke
+newpath
+32394 24962 moveto
+33593 24962 lineto
+stroke
+newpath
+32394 25042 moveto
+33513 25042 lineto
+stroke
+newpath
+32394 25122 moveto
+33433 25122 lineto
+stroke
+newpath
+32394 25202 moveto
+33353 25202 lineto
+stroke
+newpath
+32394 25282 moveto
+33273 25282 lineto
+stroke
+newpath
+32394 25362 moveto
+33193 25362 lineto
+stroke
+newpath
+32394 25442 moveto
+33113 25442 lineto
+stroke
+newpath
+32394 25522 moveto
+33033 25522 lineto
+stroke
+newpath
+32394 25602 moveto
+32953 25602 lineto
+stroke
+newpath
+32394 25682 moveto
+32873 25682 lineto
+stroke
+newpath
+32394 25762 moveto
+32793 25762 lineto
+stroke
+newpath
+32394 25842 moveto
+32713 25842 lineto
+stroke
+newpath
+38845 25690 moveto
+39794 25690 lineto
+stroke
+newpath
+38925 25770 moveto
+39155 25770 lineto
+stroke
+newpath
+39005 25850 moveto
+39048 25850 lineto
+stroke
+newpath
+22675 23649 moveto
+22887 23649 lineto
+stroke
+newpath
+22675 23729 moveto
+22811 23729 lineto
+stroke
+newpath
+22675 23809 moveto
+22758 23809 lineto
+stroke
+newpath
+22675 23889 moveto
+22735 23889 lineto
+stroke
+newpath
+22675 23969 moveto
+22722 23969 lineto
+stroke
+newpath
+22675 24049 moveto
+22722 24049 lineto
+stroke
+newpath
+22675 24129 moveto
+22722 24129 lineto
+stroke
+newpath
+22675 24209 moveto
+22722 24209 lineto
+stroke
+newpath
+22675 24289 moveto
+22722 24289 lineto
+stroke
+newpath
+22675 24369 moveto
+22722 24369 lineto
+stroke
+newpath
+22675 24449 moveto
+22722 24449 lineto
+stroke
+newpath
+22675 24529 moveto
+22722 24529 lineto
+stroke
+newpath
+22675 24609 moveto
+22722 24609 lineto
+stroke
+newpath
+22675 24689 moveto
+22722 24689 lineto
+stroke
+newpath
+22675 24769 moveto
+22722 24769 lineto
+stroke
+newpath
+22675 24849 moveto
+22722 24849 lineto
+stroke
+newpath
+22675 24929 moveto
+22722 24929 lineto
+stroke
+newpath
+22675 25009 moveto
+22722 25009 lineto
+stroke
+newpath
+22675 25089 moveto
+22722 25089 lineto
+stroke
+newpath
+22675 25169 moveto
+22722 25169 lineto
+stroke
+newpath
+22675 25249 moveto
+22722 25249 lineto
+stroke
+newpath
+22675 25329 moveto
+22722 25329 lineto
+stroke
+newpath
+22675 25409 moveto
+22722 25409 lineto
+stroke
+newpath
+22675 25489 moveto
+22722 25489 lineto
+stroke
+newpath
+41368 25323 moveto
+41368 25323 lineto
+stroke
+newpath
+40389 25403 moveto
+40401 25403 lineto
+stroke
+newpath
+41299 25403 moveto
+41422 25403 lineto
+stroke
+newpath
+40309 25483 moveto
+41422 25483 lineto
+stroke
+newpath
+22017 23162 moveto
+22017 23162 lineto
+stroke
+newpath
+21937 23242 moveto
+22017 23242 lineto
+stroke
+newpath
+21857 23322 moveto
+22017 23322 lineto
+stroke
+newpath
+21777 23402 moveto
+22017 23402 lineto
+stroke
+newpath
+21697 23482 moveto
+22017 23482 lineto
+stroke
+newpath
+21617 23562 moveto
+22017 23562 lineto
+stroke
+newpath
+21605 23642 moveto
+22017 23642 lineto
+stroke
+newpath
+21605 23722 moveto
+22017 23722 lineto
+stroke
+newpath
+21605 23802 moveto
+22017 23802 lineto
+stroke
+newpath
+21605 23882 moveto
+22017 23882 lineto
+stroke
+newpath
+21605 23962 moveto
+22017 23962 lineto
+stroke
+newpath
+21605 24042 moveto
+22017 24042 lineto
+stroke
+newpath
+21605 24122 moveto
+22017 24122 lineto
+stroke
+newpath
+21605 24202 moveto
+22017 24202 lineto
+stroke
+newpath
+21605 24282 moveto
+22017 24282 lineto
+stroke
+newpath
+21605 24362 moveto
+22017 24362 lineto
+stroke
+newpath
+21605 24442 moveto
+22017 24442 lineto
+stroke
+newpath
+21605 24522 moveto
+22017 24522 lineto
+stroke
+newpath
+21605 24602 moveto
+22017 24602 lineto
+stroke
+newpath
+21605 24682 moveto
+22017 24682 lineto
+stroke
+newpath
+21605 24762 moveto
+22017 24762 lineto
+stroke
+newpath
+21605 24842 moveto
+22017 24842 lineto
+stroke
+newpath
+21605 24922 moveto
+22017 24922 lineto
+stroke
+newpath
+21605 25002 moveto
+22017 25002 lineto
+stroke
+newpath
+21605 25082 moveto
+22017 25082 lineto
+stroke
+newpath
+21605 25162 moveto
+22017 25162 lineto
+stroke
+newpath
+21605 25242 moveto
+22017 25242 lineto
+stroke
+newpath
+21605 25322 moveto
+22017 25322 lineto
+stroke
+newpath
+21605 25402 moveto
+22017 25402 lineto
+stroke
+newpath
+21605 25482 moveto
+22017 25482 lineto
+stroke
+newpath
+39949 21800 moveto
+39949 21800 lineto
+stroke
+newpath
+39949 21880 moveto
+40029 21880 lineto
+stroke
+newpath
+39949 21960 moveto
+40109 21960 lineto
+stroke
+newpath
+39949 22040 moveto
+40189 22040 lineto
+stroke
+newpath
+39949 22120 moveto
+40269 22120 lineto
+stroke
+newpath
+39949 22200 moveto
+40349 22200 lineto
+stroke
+newpath
+39920 22280 moveto
+40429 22280 lineto
+stroke
+newpath
+39887 22360 moveto
+40509 22360 lineto
+stroke
+newpath
+39839 22440 moveto
+40589 22440 lineto
+stroke
+newpath
+39759 22520 moveto
+40669 22520 lineto
+stroke
+newpath
+39676 22600 moveto
+40749 22600 lineto
+stroke
+newpath
+39756 22680 moveto
+40829 22680 lineto
+stroke
+newpath
+39836 22760 moveto
+40909 22760 lineto
+stroke
+newpath
+39916 22840 moveto
+40989 22840 lineto
+stroke
+newpath
+39996 22920 moveto
+41069 22920 lineto
+stroke
+newpath
+40076 23000 moveto
+41149 23000 lineto
+stroke
+newpath
+40156 23080 moveto
+41229 23080 lineto
+stroke
+newpath
+40236 23160 moveto
+41309 23160 lineto
+stroke
+newpath
+40316 23240 moveto
+41389 23240 lineto
+stroke
+newpath
+40396 23320 moveto
+41469 23320 lineto
+stroke
+newpath
+40476 23400 moveto
+41549 23400 lineto
+stroke
+newpath
+40556 23480 moveto
+41629 23480 lineto
+stroke
+newpath
+40632 23560 moveto
+41709 23560 lineto
+stroke
+newpath
+40685 23640 moveto
+41789 23640 lineto
+stroke
+newpath
+40708 23720 moveto
+41869 23720 lineto
+stroke
+newpath
+40719 23800 moveto
+41871 23800 lineto
+stroke
+newpath
+40719 23880 moveto
+41871 23880 lineto
+stroke
+newpath
+40719 23960 moveto
+41871 23960 lineto
+stroke
+newpath
+40719 24040 moveto
+41871 24040 lineto
+stroke
+newpath
+40719 24120 moveto
+41871 24120 lineto
+stroke
+newpath
+41302 24200 moveto
+41871 24200 lineto
+stroke
+newpath
+41370 24280 moveto
+41871 24280 lineto
+stroke
+newpath
+41399 24360 moveto
+41871 24360 lineto
+stroke
+newpath
+41399 24440 moveto
+41871 24440 lineto
+stroke
+newpath
+41473 24520 moveto
+41871 24520 lineto
+stroke
+newpath
+41576 24600 moveto
+41871 24600 lineto
+stroke
+newpath
+41656 24680 moveto
+41871 24680 lineto
+stroke
+newpath
+41736 24760 moveto
+41871 24760 lineto
+stroke
+newpath
+41816 24840 moveto
+41871 24840 lineto
+stroke
+newpath
+24923 24738 moveto
+24951 24738 lineto
+stroke
+newpath
+26695 23647 moveto
+27104 23647 lineto
+stroke
+newpath
+26775 23727 moveto
+27184 23727 lineto
+stroke
+newpath
+26855 23807 moveto
+27264 23807 lineto
+stroke
+newpath
+26935 23887 moveto
+27344 23887 lineto
+stroke
+newpath
+27015 23967 moveto
+27424 23967 lineto
+stroke
+newpath
+27095 24047 moveto
+27504 24047 lineto
+stroke
+newpath
+27175 24127 moveto
+27584 24127 lineto
+stroke
+newpath
+27255 24207 moveto
+27712 24207 lineto
+stroke
+newpath
+27335 24287 moveto
+30911 24287 lineto
+stroke
+newpath
+31689 24287 moveto
+31736 24287 lineto
+stroke
+newpath
+27415 24367 moveto
+30993 24367 lineto
+stroke
+newpath
+31606 24367 moveto
+31736 24367 lineto
+stroke
+newpath
+27495 24447 moveto
+31186 24447 lineto
+stroke
+newpath
+31413 24447 moveto
+31736 24447 lineto
+stroke
+newpath
+27575 24527 moveto
+31736 24527 lineto
+stroke
+newpath
+27655 24607 moveto
+31736 24607 lineto
+stroke
+newpath
+27735 24687 moveto
+31736 24687 lineto
+stroke
+newpath
+38729 22585 moveto
+38729 22585 lineto
+stroke
+newpath
+38729 22665 moveto
+38809 22665 lineto
+stroke
+newpath
+38729 22745 moveto
+38889 22745 lineto
+stroke
+newpath
+38729 22825 moveto
+38969 22825 lineto
+stroke
+newpath
+38729 22905 moveto
+39049 22905 lineto
+stroke
+newpath
+38729 22985 moveto
+39129 22985 lineto
+stroke
+newpath
+38729 23065 moveto
+39209 23065 lineto
+stroke
+newpath
+38729 23145 moveto
+39289 23145 lineto
+stroke
+newpath
+38729 23225 moveto
+39369 23225 lineto
+stroke
+newpath
+38729 23305 moveto
+39449 23305 lineto
+stroke
+newpath
+38729 23385 moveto
+39529 23385 lineto
+stroke
+newpath
+38760 23465 moveto
+39609 23465 lineto
+stroke
+newpath
+38840 23545 moveto
+39689 23545 lineto
+stroke
+newpath
+38920 23625 moveto
+39769 23625 lineto
+stroke
+newpath
+39000 23705 moveto
+39849 23705 lineto
+stroke
+newpath
+39080 23785 moveto
+39929 23785 lineto
+stroke
+newpath
+39160 23865 moveto
+40009 23865 lineto
+stroke
+newpath
+39240 23945 moveto
+40061 23945 lineto
+stroke
+newpath
+39320 24025 moveto
+40061 24025 lineto
+stroke
+newpath
+39375 24105 moveto
+40061 24105 lineto
+stroke
+newpath
+39982 24185 moveto
+40061 24185 lineto
+stroke
+newpath
+27717 23329 moveto
+28857 23329 lineto
+stroke
+newpath
+27797 23409 moveto
+28937 23409 lineto
+stroke
+newpath
+27877 23489 moveto
+29017 23489 lineto
+stroke
+newpath
+27957 23569 moveto
+29097 23569 lineto
+stroke
+newpath
+26038 21468 moveto
+26038 21468 lineto
+stroke
+newpath
+25958 21548 moveto
+26038 21548 lineto
+stroke
+newpath
+25878 21628 moveto
+26038 21628 lineto
+stroke
+newpath
+25798 21708 moveto
+26038 21708 lineto
+stroke
+newpath
+25718 21788 moveto
+26038 21788 lineto
+stroke
+newpath
+25638 21868 moveto
+26038 21868 lineto
+stroke
+newpath
+25558 21948 moveto
+26038 21948 lineto
+stroke
+newpath
+25478 22028 moveto
+26038 22028 lineto
+stroke
+newpath
+25398 22108 moveto
+26038 22108 lineto
+stroke
+newpath
+25318 22188 moveto
+26038 22188 lineto
+stroke
+newpath
+25238 22268 moveto
+26038 22268 lineto
+stroke
+newpath
+25127 22348 moveto
+26038 22348 lineto
+stroke
+newpath
+24647 22428 moveto
+26038 22428 lineto
+stroke
+newpath
+24647 22508 moveto
+26038 22508 lineto
+stroke
+newpath
+24647 22588 moveto
+26038 22588 lineto
+stroke
+newpath
+24647 22668 moveto
+26038 22668 lineto
+stroke
+newpath
+24647 22748 moveto
+26038 22748 lineto
+stroke
+newpath
+24647 22828 moveto
+26042 22828 lineto
+stroke
+newpath
+24647 22908 moveto
+26038 22908 lineto
+stroke
+newpath
+24647 22988 moveto
+26038 22988 lineto
+stroke
+newpath
+24647 23068 moveto
+26038 23068 lineto
+stroke
+newpath
+24647 23148 moveto
+26042 23148 lineto
+stroke
+newpath
+41330 22250 moveto
+41330 22250 lineto
+stroke
+newpath
+41410 22330 moveto
+42225 22330 lineto
+stroke
+newpath
+41490 22410 moveto
+42225 22410 lineto
+stroke
+newpath
+41570 22490 moveto
+42225 22490 lineto
+stroke
+newpath
+41650 22570 moveto
+42225 22570 lineto
+stroke
+newpath
+41730 22650 moveto
+42225 22650 lineto
+stroke
+newpath
+41810 22730 moveto
+42225 22730 lineto
+stroke
+newpath
+41890 22810 moveto
+42225 22810 lineto
+stroke
+newpath
+41970 22890 moveto
+42225 22890 lineto
+stroke
+newpath
+42050 22970 moveto
+42225 22970 lineto
+stroke
+newpath
+42130 23050 moveto
+42225 23050 lineto
+stroke
+newpath
+42210 23130 moveto
+42225 23130 lineto
+stroke
+newpath
+29468 23008 moveto
+29468 23008 lineto
+stroke
+newpath
+29548 23088 moveto
+30783 23088 lineto
+stroke
+newpath
+21258 22505 moveto
+21258 22505 lineto
+stroke
+newpath
+21258 22585 moveto
+21338 22585 lineto
+stroke
+newpath
+21258 22665 moveto
+21499 22665 lineto
+stroke
+newpath
+21258 22745 moveto
+21503 22745 lineto
+stroke
+newpath
+21258 22825 moveto
+21423 22825 lineto
+stroke
+newpath
+21258 22905 moveto
+21343 22905 lineto
+stroke
+newpath
+21258 22985 moveto
+21263 22985 lineto
+stroke
+newpath
+24159 20962 moveto
+24159 20962 lineto
+stroke
+newpath
+24789 20962 moveto
+24789 20962 lineto
+stroke
+newpath
+25419 20962 moveto
+25419 20962 lineto
+stroke
+newpath
+24128 21042 moveto
+25533 21042 lineto
+stroke
+newpath
+24128 21122 moveto
+25453 21122 lineto
+stroke
+newpath
+24128 21202 moveto
+25373 21202 lineto
+stroke
+newpath
+24128 21282 moveto
+25293 21282 lineto
+stroke
+newpath
+24128 21362 moveto
+25213 21362 lineto
+stroke
+newpath
+24128 21442 moveto
+25133 21442 lineto
+stroke
+newpath
+24128 21522 moveto
+25053 21522 lineto
+stroke
+newpath
+24128 21602 moveto
+24973 21602 lineto
+stroke
+newpath
+24128 21682 moveto
+24893 21682 lineto
+stroke
+newpath
+24128 21762 moveto
+24171 21762 lineto
+stroke
+newpath
+35659 21042 moveto
+38092 21042 lineto
+stroke
+newpath
+35659 21122 moveto
+38172 21122 lineto
+stroke
+newpath
+35659 21202 moveto
+38252 21202 lineto
+stroke
+newpath
+35659 21282 moveto
+36966 21282 lineto
+stroke
+newpath
+37835 21282 moveto
+38210 21282 lineto
+stroke
+newpath
+35659 21362 moveto
+36878 21362 lineto
+stroke
+newpath
+37923 21362 moveto
+38059 21362 lineto
+stroke
+newpath
+35736 21442 moveto
+36845 21442 lineto
+stroke
+newpath
+37956 21442 moveto
+37979 21442 lineto
+stroke
+newpath
+35816 21522 moveto
+36841 21522 lineto
+stroke
+newpath
+35896 21602 moveto
+36841 21602 lineto
+stroke
+newpath
+19275 12775 moveto
+19606 12775 lineto
+stroke
+newpath
+19275 12855 moveto
+19606 12855 lineto
+stroke
+newpath
+19275 12935 moveto
+19606 12935 lineto
+stroke
+newpath
+19275 13015 moveto
+19606 13015 lineto
+stroke
+newpath
+19275 13095 moveto
+19606 13095 lineto
+stroke
+newpath
+19275 13175 moveto
+19606 13175 lineto
+stroke
+newpath
+19275 13255 moveto
+19606 13255 lineto
+stroke
+newpath
+19275 13335 moveto
+19606 13335 lineto
+stroke
+newpath
+19275 13415 moveto
+19606 13415 lineto
+stroke
+newpath
+19275 13495 moveto
+19606 13495 lineto
+stroke
+newpath
+19275 13575 moveto
+19606 13575 lineto
+stroke
+newpath
+19275 13655 moveto
+19619 13655 lineto
+stroke
+newpath
+19275 13735 moveto
+19665 13735 lineto
+stroke
+newpath
+19275 13815 moveto
+19788 13815 lineto
+stroke
+newpath
+19275 13895 moveto
+20013 13895 lineto
+stroke
+newpath
+19275 13975 moveto
+20013 13975 lineto
+stroke
+newpath
+19275 14055 moveto
+20013 14055 lineto
+stroke
+newpath
+19275 14135 moveto
+20013 14135 lineto
+stroke
+newpath
+19275 14215 moveto
+20013 14215 lineto
+stroke
+newpath
+19275 14295 moveto
+20013 14295 lineto
+stroke
+newpath
+19275 14375 moveto
+20013 14375 lineto
+stroke
+newpath
+19275 14455 moveto
+20013 14455 lineto
+stroke
+newpath
+19275 14535 moveto
+20013 14535 lineto
+stroke
+newpath
+19275 14615 moveto
+20033 14615 lineto
+stroke
+newpath
+19275 14695 moveto
+20089 14695 lineto
+stroke
+newpath
+19275 14775 moveto
+20625 14775 lineto
+stroke
+newpath
+19275 14855 moveto
+20625 14855 lineto
+stroke
+newpath
+19275 14935 moveto
+20625 14935 lineto
+stroke
+newpath
+19275 15015 moveto
+20625 15015 lineto
+stroke
+newpath
+19275 15095 moveto
+20617 15095 lineto
+stroke
+newpath
+19275 15175 moveto
+20537 15175 lineto
+stroke
+newpath
+19275 15255 moveto
+20457 15255 lineto
+stroke
+newpath
+19275 15335 moveto
+20377 15335 lineto
+stroke
+newpath
+19275 15415 moveto
+20297 15415 lineto
+stroke
+newpath
+19275 15495 moveto
+20217 15495 lineto
+stroke
+newpath
+19275 15575 moveto
+20137 15575 lineto
+stroke
+newpath
+19275 15655 moveto
+20057 15655 lineto
+stroke
+newpath
+19275 15735 moveto
+19977 15735 lineto
+stroke
+newpath
+19275 15815 moveto
+19897 15815 lineto
+stroke
+newpath
+19275 15895 moveto
+19844 15895 lineto
+stroke
+newpath
+19275 15975 moveto
+19814 15975 lineto
+stroke
+newpath
+19275 16055 moveto
+19799 16055 lineto
+stroke
+newpath
+19275 16135 moveto
+19799 16135 lineto
+stroke
+newpath
+19275 16215 moveto
+19799 16215 lineto
+stroke
+newpath
+19275 16295 moveto
+19799 16295 lineto
+stroke
+newpath
+19275 16375 moveto
+19799 16375 lineto
+stroke
+newpath
+19275 16455 moveto
+19799 16455 lineto
+stroke
+newpath
+19275 16535 moveto
+19799 16535 lineto
+stroke
+newpath
+19275 16615 moveto
+19799 16615 lineto
+stroke
+newpath
+19275 16695 moveto
+19799 16695 lineto
+stroke
+newpath
+19275 16775 moveto
+19799 16775 lineto
+stroke
+newpath
+19275 16855 moveto
+19799 16855 lineto
+stroke
+newpath
+19275 16935 moveto
+19799 16935 lineto
+stroke
+newpath
+19275 17015 moveto
+19799 17015 lineto
+stroke
+newpath
+19275 17095 moveto
+19799 17095 lineto
+stroke
+newpath
+19275 17175 moveto
+19799 17175 lineto
+stroke
+newpath
+19275 17255 moveto
+19799 17255 lineto
+stroke
+newpath
+19275 17335 moveto
+19799 17335 lineto
+stroke
+newpath
+19275 17415 moveto
+19799 17415 lineto
+stroke
+newpath
+19275 17495 moveto
+19799 17495 lineto
+stroke
+newpath
+19275 17575 moveto
+19799 17575 lineto
+stroke
+newpath
+19275 17655 moveto
+19799 17655 lineto
+stroke
+newpath
+19275 17735 moveto
+19799 17735 lineto
+stroke
+newpath
+19275 17815 moveto
+19799 17815 lineto
+stroke
+newpath
+19275 17895 moveto
+19799 17895 lineto
+stroke
+newpath
+19275 17975 moveto
+19799 17975 lineto
+stroke
+newpath
+19275 18055 moveto
+19799 18055 lineto
+stroke
+newpath
+19275 18135 moveto
+19799 18135 lineto
+stroke
+newpath
+19275 18215 moveto
+19799 18215 lineto
+stroke
+newpath
+19275 18295 moveto
+19799 18295 lineto
+stroke
+newpath
+19275 18375 moveto
+19799 18375 lineto
+stroke
+newpath
+19275 18455 moveto
+19799 18455 lineto
+stroke
+newpath
+19275 18535 moveto
+19799 18535 lineto
+stroke
+newpath
+19275 18615 moveto
+19799 18615 lineto
+stroke
+newpath
+19275 18695 moveto
+19799 18695 lineto
+stroke
+newpath
+19275 18775 moveto
+19799 18775 lineto
+stroke
+newpath
+19275 18855 moveto
+19799 18855 lineto
+stroke
+newpath
+19275 18935 moveto
+19799 18935 lineto
+stroke
+newpath
+19275 19015 moveto
+19799 19015 lineto
+stroke
+newpath
+19275 19095 moveto
+19799 19095 lineto
+stroke
+newpath
+19275 19175 moveto
+19799 19175 lineto
+stroke
+newpath
+19275 19255 moveto
+19799 19255 lineto
+stroke
+newpath
+19275 19335 moveto
+19799 19335 lineto
+stroke
+newpath
+19275 19415 moveto
+19799 19415 lineto
+stroke
+newpath
+19275 19495 moveto
+19799 19495 lineto
+stroke
+newpath
+19275 19575 moveto
+19799 19575 lineto
+stroke
+newpath
+19275 19655 moveto
+19799 19655 lineto
+stroke
+newpath
+19275 19735 moveto
+19799 19735 lineto
+stroke
+newpath
+19275 19815 moveto
+19799 19815 lineto
+stroke
+newpath
+19275 19895 moveto
+19799 19895 lineto
+stroke
+newpath
+19275 19975 moveto
+19799 19975 lineto
+stroke
+newpath
+19275 20055 moveto
+19799 20055 lineto
+stroke
+newpath
+19275 20135 moveto
+19799 20135 lineto
+stroke
+newpath
+19275 20215 moveto
+19799 20215 lineto
+stroke
+newpath
+19275 20295 moveto
+19799 20295 lineto
+stroke
+newpath
+19275 20375 moveto
+19799 20375 lineto
+stroke
+newpath
+19275 20455 moveto
+19799 20455 lineto
+stroke
+newpath
+19275 20535 moveto
+19799 20535 lineto
+stroke
+newpath
+19275 20615 moveto
+19799 20615 lineto
+stroke
+newpath
+19275 20695 moveto
+19799 20695 lineto
+stroke
+newpath
+19275 20775 moveto
+19799 20775 lineto
+stroke
+newpath
+19275 20855 moveto
+19799 20855 lineto
+stroke
+newpath
+19275 20935 moveto
+19799 20935 lineto
+stroke
+newpath
+19275 21015 moveto
+19799 21015 lineto
+stroke
+newpath
+19275 21095 moveto
+19799 21095 lineto
+stroke
+newpath
+19275 21175 moveto
+19799 21175 lineto
+stroke
+newpath
+19275 21255 moveto
+19799 21255 lineto
+stroke
+newpath
+19275 21335 moveto
+19799 21335 lineto
+stroke
+newpath
+19275 21415 moveto
+19799 21415 lineto
+stroke
+newpath
+19275 21495 moveto
+19799 21495 lineto
+stroke
+newpath
+19275 21575 moveto
+19302 21575 lineto
+stroke
+newpath
+21799 18102 moveto
+21799 18102 lineto
+stroke
+newpath
+21690 18182 moveto
+21909 18182 lineto
+stroke
+newpath
+21486 18262 moveto
+22072 18262 lineto
+stroke
+newpath
+21433 18342 moveto
+22072 18342 lineto
+stroke
+newpath
+21352 18422 moveto
+22072 18422 lineto
+stroke
+newpath
+21272 18502 moveto
+22072 18502 lineto
+stroke
+newpath
+21192 18582 moveto
+22072 18582 lineto
+stroke
+newpath
+21112 18662 moveto
+22072 18662 lineto
+stroke
+newpath
+21032 18742 moveto
+22072 18742 lineto
+stroke
+newpath
+21019 18822 moveto
+22072 18822 lineto
+stroke
+newpath
+21019 18902 moveto
+22072 18902 lineto
+stroke
+newpath
+21019 18982 moveto
+22072 18982 lineto
+stroke
+newpath
+21019 19062 moveto
+22072 19062 lineto
+stroke
+newpath
+21019 19142 moveto
+22072 19142 lineto
+stroke
+newpath
+21019 19222 moveto
+22072 19222 lineto
+stroke
+newpath
+21019 19302 moveto
+22072 19302 lineto
+stroke
+newpath
+21019 19382 moveto
+22072 19382 lineto
+stroke
+newpath
+21019 19462 moveto
+22072 19462 lineto
+stroke
+newpath
+21019 19542 moveto
+22072 19542 lineto
+stroke
+newpath
+21019 19622 moveto
+22072 19622 lineto
+stroke
+newpath
+21019 19702 moveto
+22072 19702 lineto
+stroke
+newpath
+21019 19782 moveto
+22072 19782 lineto
+stroke
+newpath
+21019 19862 moveto
+22072 19862 lineto
+stroke
+newpath
+21019 19942 moveto
+22080 19942 lineto
+stroke
+newpath
+21019 20022 moveto
+22096 20022 lineto
+stroke
+newpath
+21019 20102 moveto
+22147 20102 lineto
+stroke
+newpath
+21019 20182 moveto
+22218 20182 lineto
+stroke
+newpath
+21019 20262 moveto
+22298 20262 lineto
+stroke
+newpath
+21019 20342 moveto
+22378 20342 lineto
+stroke
+newpath
+21019 20422 moveto
+22458 20422 lineto
+stroke
+newpath
+21019 20502 moveto
+22538 20502 lineto
+stroke
+newpath
+21019 20582 moveto
+22618 20582 lineto
+stroke
+newpath
+21019 20662 moveto
+22698 20662 lineto
+stroke
+newpath
+21019 20742 moveto
+22778 20742 lineto
+stroke
+newpath
+21019 20822 moveto
+22353 20822 lineto
+stroke
+newpath
+21019 20902 moveto
+22287 20902 lineto
+stroke
+newpath
+21019 20982 moveto
+22258 20982 lineto
+stroke
+newpath
+21019 21062 moveto
+22258 21062 lineto
+stroke
+newpath
+21019 21142 moveto
+22258 21142 lineto
+stroke
+newpath
+21019 21222 moveto
+21337 21222 lineto
+stroke
+newpath
+21019 21302 moveto
+21234 21302 lineto
+stroke
+newpath
+21019 21382 moveto
+21154 21382 lineto
+stroke
+newpath
+21019 21462 moveto
+21074 21462 lineto
+stroke
+newpath
+35399 19129 moveto
+36851 19129 lineto
+stroke
+newpath
+35399 19209 moveto
+36851 19209 lineto
+stroke
+newpath
+35382 19289 moveto
+36883 19289 lineto
+stroke
+newpath
+39916 19289 moveto
+40560 19289 lineto
+stroke
+newpath
+35551 19369 moveto
+36916 19369 lineto
+stroke
+newpath
+37883 19369 moveto
+37916 19369 lineto
+stroke
+newpath
+38883 19369 moveto
+38916 19369 lineto
+stroke
+newpath
+39883 19369 moveto
+40560 19369 lineto
+stroke
+newpath
+35626 19449 moveto
+36970 19449 lineto
+stroke
+newpath
+37830 19449 moveto
+37970 19449 lineto
+stroke
+newpath
+38830 19449 moveto
+38970 19449 lineto
+stroke
+newpath
+39830 19449 moveto
+40560 19449 lineto
+stroke
+newpath
+35659 19529 moveto
+37050 19529 lineto
+stroke
+newpath
+37750 19529 moveto
+38050 19529 lineto
+stroke
+newpath
+38750 19529 moveto
+39050 19529 lineto
+stroke
+newpath
+39750 19529 moveto
+40560 19529 lineto
+stroke
+newpath
+35659 19609 moveto
+37187 19609 lineto
+stroke
+newpath
+37612 19609 moveto
+38187 19609 lineto
+stroke
+newpath
+38612 19609 moveto
+39187 19609 lineto
+stroke
+newpath
+39612 19609 moveto
+40560 19609 lineto
+stroke
+newpath
+35659 19689 moveto
+40560 19689 lineto
+stroke
+newpath
+35659 19769 moveto
+40560 19769 lineto
+stroke
+newpath
+35659 19849 moveto
+40560 19849 lineto
+stroke
+newpath
+35659 19929 moveto
+40560 19929 lineto
+stroke
+newpath
+35659 20009 moveto
+40560 20009 lineto
+stroke
+newpath
+39152 20089 moveto
+40560 20089 lineto
+stroke
+newpath
+39249 20169 moveto
+40560 20169 lineto
+stroke
+newpath
+39329 20249 moveto
+40560 20249 lineto
+stroke
+newpath
+39409 20329 moveto
+40560 20329 lineto
+stroke
+newpath
+39489 20409 moveto
+40560 20409 lineto
+stroke
+newpath
+39569 20489 moveto
+40560 20489 lineto
+stroke
+newpath
+39649 20569 moveto
+40560 20569 lineto
+stroke
+newpath
+39729 20649 moveto
+40560 20649 lineto
+stroke
+newpath
+39809 20729 moveto
+40560 20729 lineto
+stroke
+newpath
+39889 20809 moveto
+40560 20809 lineto
+stroke
+newpath
+39969 20889 moveto
+40560 20889 lineto
+stroke
+newpath
+40049 20969 moveto
+40560 20969 lineto
+stroke
+newpath
+40129 21049 moveto
+40560 21049 lineto
+stroke
+newpath
+40209 21129 moveto
+40560 21129 lineto
+stroke
+newpath
+40289 21209 moveto
+40560 21209 lineto
+stroke
+newpath
+40369 21289 moveto
+40560 21289 lineto
+stroke
+newpath
+40449 21369 moveto
+40560 21369 lineto
+stroke
+newpath
+40529 21449 moveto
+40560 21449 lineto
+stroke
+newpath
+38833 20684 moveto
+38833 20684 lineto
+stroke
+newpath
+38745 20764 moveto
+38912 20764 lineto
+stroke
+newpath
+38825 20844 moveto
+38992 20844 lineto
+stroke
+newpath
+38905 20924 moveto
+39072 20924 lineto
+stroke
+newpath
+38985 21004 moveto
+39152 21004 lineto
+stroke
+newpath
+39065 21084 moveto
+39232 21084 lineto
+stroke
+newpath
+39142 21164 moveto
+39312 21164 lineto
+stroke
+newpath
+39195 21244 moveto
+39392 21244 lineto
+stroke
+newpath
+28550 19631 moveto
+28550 19631 lineto
+stroke
+newpath
+28254 19711 moveto
+28559 19711 lineto
+stroke
+newpath
+28174 19791 moveto
+28579 19791 lineto
+stroke
+newpath
+28094 19871 moveto
+28632 19871 lineto
+stroke
+newpath
+28014 19951 moveto
+28706 19951 lineto
+stroke
+newpath
+27934 20031 moveto
+28786 20031 lineto
+stroke
+newpath
+27854 20111 moveto
+28866 20111 lineto
+stroke
+newpath
+27774 20191 moveto
+28946 20191 lineto
+stroke
+newpath
+27694 20271 moveto
+29026 20271 lineto
+stroke
+newpath
+27614 20351 moveto
+28161 20351 lineto
+stroke
+newpath
+28640 20351 moveto
+29106 20351 lineto
+stroke
+newpath
+27562 20431 moveto
+28022 20431 lineto
+stroke
+newpath
+28778 20431 moveto
+29186 20431 lineto
+stroke
+newpath
+27562 20511 moveto
+27942 20511 lineto
+stroke
+newpath
+28858 20511 moveto
+29266 20511 lineto
+stroke
+newpath
+27562 20591 moveto
+27880 20591 lineto
+stroke
+newpath
+28921 20591 moveto
+29346 20591 lineto
+stroke
+newpath
+27562 20671 moveto
+27847 20671 lineto
+stroke
+newpath
+28954 20671 moveto
+29426 20671 lineto
+stroke
+newpath
+27562 20751 moveto
+27814 20751 lineto
+stroke
+newpath
+28987 20751 moveto
+29506 20751 lineto
+stroke
+newpath
+27562 20831 moveto
+27801 20831 lineto
+stroke
+newpath
+28999 20831 moveto
+29586 20831 lineto
+stroke
+newpath
+27562 20911 moveto
+27801 20911 lineto
+stroke
+newpath
+28999 20911 moveto
+29666 20911 lineto
+stroke
+newpath
+27562 20991 moveto
+27801 20991 lineto
+stroke
+newpath
+28999 20991 moveto
+29746 20991 lineto
+stroke
+newpath
+27562 21071 moveto
+27764 21071 lineto
+stroke
+newpath
+28977 21071 moveto
+29826 21071 lineto
+stroke
+newpath
+26904 20602 moveto
+26904 20602 lineto
+stroke
+newpath
+26824 20682 moveto
+26904 20682 lineto
+stroke
+newpath
+26744 20762 moveto
+26904 20762 lineto
+stroke
+newpath
+29847 19429 moveto
+31021 19429 lineto
+stroke
+newpath
+29767 19509 moveto
+31101 19509 lineto
+stroke
+newpath
+29653 19589 moveto
+31181 19589 lineto
+stroke
+newpath
+29355 19669 moveto
+31261 19669 lineto
+stroke
+newpath
+29435 19749 moveto
+31341 19749 lineto
+stroke
+newpath
+29515 19829 moveto
+31421 19829 lineto
+stroke
+newpath
+29595 19909 moveto
+31501 19909 lineto
+stroke
+newpath
+29675 19989 moveto
+31581 19989 lineto
+stroke
+newpath
+29755 20069 moveto
+31661 20069 lineto
+stroke
+newpath
+29835 20149 moveto
+31741 20149 lineto
+stroke
+newpath
+29915 20229 moveto
+31821 20229 lineto
+stroke
+newpath
+29995 20309 moveto
+31901 20309 lineto
+stroke
+newpath
+30075 20389 moveto
+30859 20389 lineto
+stroke
+newpath
+31741 20389 moveto
+31981 20389 lineto
+stroke
+newpath
+30155 20469 moveto
+30785 20469 lineto
+stroke
+newpath
+31816 20469 moveto
+31955 20469 lineto
+stroke
+newpath
+30235 20549 moveto
+30752 20549 lineto
+stroke
+newpath
+31849 20549 moveto
+31875 20549 lineto
+stroke
+newpath
+23327 12775 moveto
+33759 12775 lineto
+stroke
+newpath
+23328 12855 moveto
+33679 12855 lineto
+stroke
+newpath
+23328 12935 moveto
+33599 12935 lineto
+stroke
+newpath
+23328 13015 moveto
+33519 13015 lineto
+stroke
+newpath
+23328 13095 moveto
+33439 13095 lineto
+stroke
+newpath
+23328 13175 moveto
+33359 13175 lineto
+stroke
+newpath
+23328 13255 moveto
+24393 13255 lineto
+stroke
+newpath
+28207 13255 moveto
+33279 13255 lineto
+stroke
+newpath
+23328 13335 moveto
+24329 13335 lineto
+stroke
+newpath
+28272 13335 moveto
+33199 13335 lineto
+stroke
+newpath
+23328 13415 moveto
+24301 13415 lineto
+stroke
+newpath
+28299 13415 moveto
+33119 13415 lineto
+stroke
+newpath
+23328 13495 moveto
+24301 13495 lineto
+stroke
+newpath
+28299 13495 moveto
+33039 13495 lineto
+stroke
+newpath
+23328 13575 moveto
+24301 13575 lineto
+stroke
+newpath
+28299 13575 moveto
+32173 13575 lineto
+stroke
+newpath
+23314 13655 moveto
+24301 13655 lineto
+stroke
+newpath
+28299 13655 moveto
+32120 13655 lineto
+stroke
+newpath
+23269 13735 moveto
+24301 13735 lineto
+stroke
+newpath
+28299 13735 moveto
+32101 13735 lineto
+stroke
+newpath
+23144 13815 moveto
+24301 13815 lineto
+stroke
+newpath
+28299 13815 moveto
+32101 13815 lineto
+stroke
+newpath
+22921 13895 moveto
+24301 13895 lineto
+stroke
+newpath
+28299 13895 moveto
+32101 13895 lineto
+stroke
+newpath
+22921 13975 moveto
+24301 13975 lineto
+stroke
+newpath
+28299 13975 moveto
+32101 13975 lineto
+stroke
+newpath
+22921 14055 moveto
+24301 14055 lineto
+stroke
+newpath
+28299 14055 moveto
+32101 14055 lineto
+stroke
+newpath
+22921 14135 moveto
+24301 14135 lineto
+stroke
+newpath
+28299 14135 moveto
+32101 14135 lineto
+stroke
+newpath
+22921 14215 moveto
+24301 14215 lineto
+stroke
+newpath
+28299 14215 moveto
+32101 14215 lineto
+stroke
+newpath
+22921 14295 moveto
+24301 14295 lineto
+stroke
+newpath
+28299 14295 moveto
+32101 14295 lineto
+stroke
+newpath
+22921 14375 moveto
+24301 14375 lineto
+stroke
+newpath
+28299 14375 moveto
+32101 14375 lineto
+stroke
+newpath
+22921 14455 moveto
+24301 14455 lineto
+stroke
+newpath
+28299 14455 moveto
+32101 14455 lineto
+stroke
+newpath
+22921 14535 moveto
+24301 14535 lineto
+stroke
+newpath
+28299 14535 moveto
+32101 14535 lineto
+stroke
+newpath
+22900 14615 moveto
+24301 14615 lineto
+stroke
+newpath
+28299 14615 moveto
+32101 14615 lineto
+stroke
+newpath
+22845 14695 moveto
+24301 14695 lineto
+stroke
+newpath
+28299 14695 moveto
+32101 14695 lineto
+stroke
+newpath
+22307 14775 moveto
+24301 14775 lineto
+stroke
+newpath
+28299 14775 moveto
+32132 14775 lineto
+stroke
+newpath
+22341 14855 moveto
+24301 14855 lineto
+stroke
+newpath
+28299 14855 moveto
+32186 14855 lineto
+stroke
+newpath
+22421 14935 moveto
+24301 14935 lineto
+stroke
+newpath
+28299 14935 moveto
+32153 14935 lineto
+stroke
+newpath
+22501 15015 moveto
+24301 15015 lineto
+stroke
+newpath
+28299 15015 moveto
+32119 15015 lineto
+stroke
+newpath
+22581 15095 moveto
+24301 15095 lineto
+stroke
+newpath
+28299 15095 moveto
+32039 15095 lineto
+stroke
+newpath
+22661 15175 moveto
+24301 15175 lineto
+stroke
+newpath
+28299 15175 moveto
+31959 15175 lineto
+stroke
+newpath
+22741 15255 moveto
+24301 15255 lineto
+stroke
+newpath
+28299 15255 moveto
+31879 15255 lineto
+stroke
+newpath
+22821 15335 moveto
+24301 15335 lineto
+stroke
+newpath
+28299 15335 moveto
+31799 15335 lineto
+stroke
+newpath
+22901 15415 moveto
+24301 15415 lineto
+stroke
+newpath
+28299 15415 moveto
+31719 15415 lineto
+stroke
+newpath
+22981 15495 moveto
+24301 15495 lineto
+stroke
+newpath
+28299 15495 moveto
+31639 15495 lineto
+stroke
+newpath
+23061 15575 moveto
+24301 15575 lineto
+stroke
+newpath
+28299 15575 moveto
+31562 15575 lineto
+stroke
+newpath
+23141 15655 moveto
+24301 15655 lineto
+stroke
+newpath
+28299 15655 moveto
+31509 15655 lineto
+stroke
+newpath
+23212 15735 moveto
+24301 15735 lineto
+stroke
+newpath
+28299 15735 moveto
+31484 15735 lineto
+stroke
+newpath
+23265 15815 moveto
+24301 15815 lineto
+stroke
+newpath
+28299 15815 moveto
+31471 15815 lineto
+stroke
+newpath
+23281 15895 moveto
+24301 15895 lineto
+stroke
+newpath
+28299 15895 moveto
+31471 15895 lineto
+stroke
+newpath
+23290 15975 moveto
+24301 15975 lineto
+stroke
+newpath
+28299 15975 moveto
+31471 15975 lineto
+stroke
+newpath
+23290 16055 moveto
+24301 16055 lineto
+stroke
+newpath
+28299 16055 moveto
+31471 16055 lineto
+stroke
+newpath
+23290 16135 moveto
+24301 16135 lineto
+stroke
+newpath
+28299 16135 moveto
+31471 16135 lineto
+stroke
+newpath
+23290 16215 moveto
+24301 16215 lineto
+stroke
+newpath
+28299 16215 moveto
+31471 16215 lineto
+stroke
+newpath
+23290 16295 moveto
+24301 16295 lineto
+stroke
+newpath
+28299 16295 moveto
+31471 16295 lineto
+stroke
+newpath
+23290 16375 moveto
+24301 16375 lineto
+stroke
+newpath
+28299 16375 moveto
+31471 16375 lineto
+stroke
+newpath
+23290 16455 moveto
+24301 16455 lineto
+stroke
+newpath
+28299 16455 moveto
+31471 16455 lineto
+stroke
+newpath
+23290 16535 moveto
+24301 16535 lineto
+stroke
+newpath
+28299 16535 moveto
+31471 16535 lineto
+stroke
+newpath
+23290 16615 moveto
+24301 16615 lineto
+stroke
+newpath
+28299 16615 moveto
+31471 16615 lineto
+stroke
+newpath
+23290 16695 moveto
+24301 16695 lineto
+stroke
+newpath
+28299 16695 moveto
+31471 16695 lineto
+stroke
+newpath
+23289 16775 moveto
+24301 16775 lineto
+stroke
+newpath
+28299 16775 moveto
+31471 16775 lineto
+stroke
+newpath
+23273 16855 moveto
+24301 16855 lineto
+stroke
+newpath
+28299 16855 moveto
+31471 16855 lineto
+stroke
+newpath
+23238 16935 moveto
+24301 16935 lineto
+stroke
+newpath
+28299 16935 moveto
+31471 16935 lineto
+stroke
+newpath
+23179 17015 moveto
+24307 17015 lineto
+stroke
+newpath
+28292 17015 moveto
+31471 17015 lineto
+stroke
+newpath
+23099 17095 moveto
+24343 17095 lineto
+stroke
+newpath
+28257 17095 moveto
+28785 17095 lineto
+stroke
+newpath
+31016 17095 moveto
+31471 17095 lineto
+stroke
+newpath
+23019 17175 moveto
+24442 17175 lineto
+stroke
+newpath
+28157 17175 moveto
+28661 17175 lineto
+stroke
+newpath
+31139 17175 moveto
+31471 17175 lineto
+stroke
+newpath
+23030 17255 moveto
+28581 17255 lineto
+stroke
+newpath
+31219 17255 moveto
+31481 17255 lineto
+stroke
+newpath
+23049 17335 moveto
+28501 17335 lineto
+stroke
+newpath
+31299 17335 moveto
+31501 17335 lineto
+stroke
+newpath
+23049 17415 moveto
+28421 17415 lineto
+stroke
+newpath
+23049 17495 moveto
+28341 17495 lineto
+stroke
+newpath
+23049 17575 moveto
+27234 17575 lineto
+stroke
+newpath
+27567 17575 moveto
+28233 17575 lineto
+stroke
+newpath
+23049 17655 moveto
+27069 17655 lineto
+stroke
+newpath
+27731 17655 moveto
+28069 17655 lineto
+stroke
+newpath
+23049 17735 moveto
+26989 17735 lineto
+stroke
+newpath
+27811 17735 moveto
+27989 17735 lineto
+stroke
+newpath
+23049 17815 moveto
+23536 17815 lineto
+stroke
+newpath
+27876 17815 moveto
+27925 17815 lineto
+stroke
+newpath
+23049 17895 moveto
+23439 17895 lineto
+stroke
+newpath
+23049 17975 moveto
+23386 17975 lineto
+stroke
+newpath
+23026 18055 moveto
+23370 18055 lineto
+stroke
+newpath
+22967 18135 moveto
+23361 18135 lineto
+stroke
+newpath
+22728 18215 moveto
+23361 18215 lineto
+stroke
+newpath
+22728 18295 moveto
+23361 18295 lineto
+stroke
+newpath
+22728 18375 moveto
+23361 18375 lineto
+stroke
+newpath
+22728 18455 moveto
+23361 18455 lineto
+stroke
+newpath
+22728 18535 moveto
+23361 18535 lineto
+stroke
+newpath
+22728 18615 moveto
+23361 18615 lineto
+stroke
+newpath
+22728 18695 moveto
+23361 18695 lineto
+stroke
+newpath
+22728 18775 moveto
+23361 18775 lineto
+stroke
+newpath
+22728 18855 moveto
+23361 18855 lineto
+stroke
+newpath
+22728 18935 moveto
+23361 18935 lineto
+stroke
+newpath
+22728 19015 moveto
+23361 19015 lineto
+stroke
+newpath
+22728 19095 moveto
+23361 19095 lineto
+stroke
+newpath
+22728 19175 moveto
+23361 19175 lineto
+stroke
+newpath
+22728 19255 moveto
+23361 19255 lineto
+stroke
+newpath
+22728 19335 moveto
+23361 19335 lineto
+stroke
+newpath
+22728 19415 moveto
+23361 19415 lineto
+stroke
+newpath
+22728 19495 moveto
+23361 19495 lineto
+stroke
+newpath
+22728 19575 moveto
+23361 19575 lineto
+stroke
+newpath
+22728 19655 moveto
+23361 19655 lineto
+stroke
+newpath
+22728 19735 moveto
+23361 19735 lineto
+stroke
+newpath
+22779 19815 moveto
+23361 19815 lineto
+stroke
+newpath
+22859 19895 moveto
+23353 19895 lineto
+stroke
+newpath
+22939 19975 moveto
+23353 19975 lineto
+stroke
+newpath
+23019 20055 moveto
+23353 20055 lineto
+stroke
+newpath
+23099 20135 moveto
+23353 20135 lineto
+stroke
+newpath
+23179 20215 moveto
+23353 20215 lineto
+stroke
+newpath
+23259 20295 moveto
+23353 20295 lineto
+stroke
+newpath
+23339 20375 moveto
+23353 20375 lineto
+stroke
+newpath
+32099 17908 moveto
+32099 17908 lineto
+stroke
+newpath
+32099 17988 moveto
+33001 17988 lineto
+stroke
+newpath
+32099 18068 moveto
+33008 18068 lineto
+stroke
+newpath
+32087 18148 moveto
+33046 18148 lineto
+stroke
+newpath
+32053 18228 moveto
+33069 18228 lineto
+stroke
+newpath
+32020 18308 moveto
+33019 18308 lineto
+stroke
+newpath
+31959 18388 moveto
+33001 18388 lineto
+stroke
+newpath
+31879 18468 moveto
+33001 18468 lineto
+stroke
+newpath
+31794 18548 moveto
+33001 18548 lineto
+stroke
+newpath
+31874 18628 moveto
+33001 18628 lineto
+stroke
+newpath
+31954 18708 moveto
+33001 18708 lineto
+stroke
+newpath
+32034 18788 moveto
+33001 18788 lineto
+stroke
+newpath
+32114 18868 moveto
+33001 18868 lineto
+stroke
+newpath
+32194 18948 moveto
+33001 18948 lineto
+stroke
+newpath
+32274 19028 moveto
+33001 19028 lineto
+stroke
+newpath
+32354 19108 moveto
+33001 19108 lineto
+stroke
+newpath
+32434 19188 moveto
+33001 19188 lineto
+stroke
+newpath
+32514 19268 moveto
+33008 19268 lineto
+stroke
+newpath
+32594 19348 moveto
+33046 19348 lineto
+stroke
+newpath
+32674 19428 moveto
+33149 19428 lineto
+stroke
+newpath
+32754 19508 moveto
+33173 19508 lineto
+stroke
+newpath
+32834 19588 moveto
+33140 19588 lineto
+stroke
+newpath
+32914 19668 moveto
+33107 19668 lineto
+stroke
+newpath
+32994 19748 moveto
+33101 19748 lineto
+stroke
+newpath
+33074 19828 moveto
+33101 19828 lineto
+stroke
+newpath
+24019 18429 moveto
+25413 18429 lineto
+stroke
+newpath
+24019 18509 moveto
+25244 18509 lineto
+stroke
+newpath
+24019 18589 moveto
+25164 18589 lineto
+stroke
+newpath
+24019 18669 moveto
+25089 18669 lineto
+stroke
+newpath
+24019 18749 moveto
+25056 18749 lineto
+stroke
+newpath
+24019 18829 moveto
+25023 18829 lineto
+stroke
+newpath
+24019 18909 moveto
+25001 18909 lineto
+stroke
+newpath
+24019 18989 moveto
+25001 18989 lineto
+stroke
+newpath
+24019 19069 moveto
+25001 19069 lineto
+stroke
+newpath
+24019 19149 moveto
+25013 19149 lineto
+stroke
+newpath
+24019 19229 moveto
+25046 19229 lineto
+stroke
+newpath
+24019 19309 moveto
+25079 19309 lineto
+stroke
+newpath
+24019 19389 moveto
+25142 19389 lineto
+stroke
+newpath
+24019 19469 moveto
+25222 19469 lineto
+stroke
+newpath
+24019 19549 moveto
+25252 19549 lineto
+stroke
+newpath
+24019 19629 moveto
+25252 19629 lineto
+stroke
+newpath
+25786 18429 moveto
+26953 18429 lineto
+stroke
+newpath
+25956 18509 moveto
+27033 18509 lineto
+stroke
+newpath
+26036 18589 moveto
+27146 18589 lineto
+stroke
+newpath
+26112 18669 moveto
+27055 18669 lineto
+stroke
+newpath
+26145 18749 moveto
+26975 18749 lineto
+stroke
+newpath
+26178 18829 moveto
+26919 18829 lineto
+stroke
+newpath
+26199 18909 moveto
+26886 18909 lineto
+stroke
+newpath
+26199 18989 moveto
+26852 18989 lineto
+stroke
+newpath
+26199 19069 moveto
+26851 19069 lineto
+stroke
+newpath
+26186 19149 moveto
+26851 19149 lineto
+stroke
+newpath
+26153 19229 moveto
+26213 19229 lineto
+stroke
+newpath
+26587 19229 moveto
+26859 19229 lineto
+stroke
+newpath
+26756 19309 moveto
+26892 19309 lineto
+stroke
+newpath
+26836 19389 moveto
+26925 19389 lineto
+stroke
+newpath
+26912 19469 moveto
+26993 19469 lineto
+stroke
+newpath
+26945 19549 moveto
+27026 19549 lineto
+stroke
+newpath
+32129 16405 moveto
+32129 16405 lineto
+stroke
+newpath
+32129 16485 moveto
+32161 16485 lineto
+stroke
+newpath
+32129 16565 moveto
+32194 16565 lineto
+stroke
+newpath
+32129 16645 moveto
+32256 16645 lineto
+stroke
+newpath
+32129 16725 moveto
+32336 16725 lineto
+stroke
+newpath
+32129 16805 moveto
+32434 16805 lineto
+stroke
+newpath
+32129 16885 moveto
+32626 16885 lineto
+stroke
+newpath
+32971 16885 moveto
+38849 16885 lineto
+stroke
+newpath
+32129 16965 moveto
+33168 16965 lineto
+stroke
+newpath
+33934 16965 moveto
+34468 16965 lineto
+stroke
+newpath
+35234 16965 moveto
+35568 16965 lineto
+stroke
+newpath
+36334 16965 moveto
+36868 16965 lineto
+stroke
+newpath
+37634 16965 moveto
+38769 16965 lineto
+stroke
+newpath
+32129 17045 moveto
+33053 17045 lineto
+stroke
+newpath
+34047 17045 moveto
+34353 17045 lineto
+stroke
+newpath
+35347 17045 moveto
+35453 17045 lineto
+stroke
+newpath
+36447 17045 moveto
+36753 17045 lineto
+stroke
+newpath
+37747 17045 moveto
+38689 17045 lineto
+stroke
+newpath
+32191 17125 moveto
+33012 17125 lineto
+stroke
+newpath
+34089 17125 moveto
+34312 17125 lineto
+stroke
+newpath
+35389 17125 moveto
+35412 17125 lineto
+stroke
+newpath
+36489 17125 moveto
+36712 17125 lineto
+stroke
+newpath
+37789 17125 moveto
+38609 17125 lineto
+stroke
+newpath
+32271 17205 moveto
+33001 17205 lineto
+stroke
+newpath
+34099 17205 moveto
+34301 17205 lineto
+stroke
+newpath
+35399 17205 moveto
+35401 17205 lineto
+stroke
+newpath
+36499 17205 moveto
+36701 17205 lineto
+stroke
+newpath
+37799 17205 moveto
+38529 17205 lineto
+stroke
+newpath
+34099 17285 moveto
+34301 17285 lineto
+stroke
+newpath
+36499 17285 moveto
+36701 17285 lineto
+stroke
+newpath
+34099 17365 moveto
+34301 17365 lineto
+stroke
+newpath
+36499 17365 moveto
+36701 17365 lineto
+stroke
+newpath
+34099 17445 moveto
+34301 17445 lineto
+stroke
+newpath
+36499 17445 moveto
+36701 17445 lineto
+stroke
+newpath
+34099 17525 moveto
+34301 17525 lineto
+stroke
+newpath
+36499 17525 moveto
+36701 17525 lineto
+stroke
+newpath
+34099 17605 moveto
+34301 17605 lineto
+stroke
+newpath
+36499 17605 moveto
+36701 17605 lineto
+stroke
+newpath
+34099 17685 moveto
+34301 17685 lineto
+stroke
+newpath
+36499 17685 moveto
+36701 17685 lineto
+stroke
+newpath
+34099 17765 moveto
+34301 17765 lineto
+stroke
+newpath
+36499 17765 moveto
+36701 17765 lineto
+stroke
+newpath
+34099 17845 moveto
+34301 17845 lineto
+stroke
+newpath
+36499 17845 moveto
+36701 17845 lineto
+stroke
+newpath
+34099 17925 moveto
+34301 17925 lineto
+stroke
+newpath
+36499 17925 moveto
+36701 17925 lineto
+stroke
+newpath
+34099 18005 moveto
+34301 18005 lineto
+stroke
+newpath
+35399 18005 moveto
+35401 18005 lineto
+stroke
+newpath
+36499 18005 moveto
+36701 18005 lineto
+stroke
+newpath
+34084 18085 moveto
+34315 18085 lineto
+stroke
+newpath
+35384 18085 moveto
+35415 18085 lineto
+stroke
+newpath
+36484 18085 moveto
+36715 18085 lineto
+stroke
+newpath
+34036 18165 moveto
+34363 18165 lineto
+stroke
+newpath
+35337 18165 moveto
+35463 18165 lineto
+stroke
+newpath
+36437 18165 moveto
+36763 18165 lineto
+stroke
+newpath
+34048 18245 moveto
+34353 18245 lineto
+stroke
+newpath
+35347 18245 moveto
+35590 18245 lineto
+stroke
+newpath
+36308 18245 moveto
+36890 18245 lineto
+stroke
+newpath
+34089 18325 moveto
+34312 18325 lineto
+stroke
+newpath
+35389 18325 moveto
+37106 18325 lineto
+stroke
+newpath
+34099 18405 moveto
+34301 18405 lineto
+stroke
+newpath
+35399 18405 moveto
+37016 18405 lineto
+stroke
+newpath
+34099 18485 moveto
+34301 18485 lineto
+stroke
+newpath
+34099 18565 moveto
+34301 18565 lineto
+stroke
+newpath
+34099 18645 moveto
+34301 18645 lineto
+stroke
+newpath
+34099 18725 moveto
+34301 18725 lineto
+stroke
+newpath
+34099 18805 moveto
+34301 18805 lineto
+stroke
+newpath
+34099 18885 moveto
+34301 18885 lineto
+stroke
+newpath
+34099 18965 moveto
+34301 18965 lineto
+stroke
+newpath
+34099 19045 moveto
+34301 19045 lineto
+stroke
+newpath
+34099 19125 moveto
+34301 19125 lineto
+stroke
+newpath
+34099 19205 moveto
+34301 19205 lineto
+stroke
+newpath
+34083 19285 moveto
+34315 19285 lineto
+stroke
+newpath
+34112 19365 moveto
+34363 19365 lineto
+stroke
+newpath
+34192 19445 moveto
+34397 19445 lineto
+stroke
+newpath
+34235 19525 moveto
+34364 19525 lineto
+stroke
+newpath
+41240 12775 moveto
+42225 12775 lineto
+stroke
+newpath
+41320 12855 moveto
+42225 12855 lineto
+stroke
+newpath
+41400 12935 moveto
+42225 12935 lineto
+stroke
+newpath
+41480 13015 moveto
+42225 13015 lineto
+stroke
+newpath
+41560 13095 moveto
+42225 13095 lineto
+stroke
+newpath
+41640 13175 moveto
+42225 13175 lineto
+stroke
+newpath
+41720 13255 moveto
+42225 13255 lineto
+stroke
+newpath
+41800 13335 moveto
+42225 13335 lineto
+stroke
+newpath
+41865 13415 moveto
+42225 13415 lineto
+stroke
+newpath
+41909 13495 moveto
+42225 13495 lineto
+stroke
+newpath
+41925 13575 moveto
+42225 13575 lineto
+stroke
+newpath
+41929 13655 moveto
+42225 13655 lineto
+stroke
+newpath
+41929 13735 moveto
+42225 13735 lineto
+stroke
+newpath
+41929 13815 moveto
+42225 13815 lineto
+stroke
+newpath
+41929 13895 moveto
+42225 13895 lineto
+stroke
+newpath
+41929 13975 moveto
+42225 13975 lineto
+stroke
+newpath
+41929 14055 moveto
+42225 14055 lineto
+stroke
+newpath
+41929 14135 moveto
+42225 14135 lineto
+stroke
+newpath
+41929 14215 moveto
+42225 14215 lineto
+stroke
+newpath
+41929 14295 moveto
+42225 14295 lineto
+stroke
+newpath
+41929 14375 moveto
+42225 14375 lineto
+stroke
+newpath
+41929 14455 moveto
+42225 14455 lineto
+stroke
+newpath
+41929 14535 moveto
+42225 14535 lineto
+stroke
+newpath
+41929 14615 moveto
+42225 14615 lineto
+stroke
+newpath
+41929 14695 moveto
+42225 14695 lineto
+stroke
+newpath
+41929 14775 moveto
+42225 14775 lineto
+stroke
+newpath
+41929 14855 moveto
+42225 14855 lineto
+stroke
+newpath
+41929 14935 moveto
+42225 14935 lineto
+stroke
+newpath
+41929 15015 moveto
+42225 15015 lineto
+stroke
+newpath
+41929 15095 moveto
+42225 15095 lineto
+stroke
+newpath
+41929 15175 moveto
+42225 15175 lineto
+stroke
+newpath
+41929 15255 moveto
+42225 15255 lineto
+stroke
+newpath
+41929 15335 moveto
+42225 15335 lineto
+stroke
+newpath
+41929 15415 moveto
+42225 15415 lineto
+stroke
+newpath
+41929 15495 moveto
+42225 15495 lineto
+stroke
+newpath
+41929 15575 moveto
+42225 15575 lineto
+stroke
+newpath
+41929 15655 moveto
+42225 15655 lineto
+stroke
+newpath
+41929 15735 moveto
+42225 15735 lineto
+stroke
+newpath
+41929 15815 moveto
+42225 15815 lineto
+stroke
+newpath
+41929 15895 moveto
+42225 15895 lineto
+stroke
+newpath
+41929 15975 moveto
+42225 15975 lineto
+stroke
+newpath
+41929 16055 moveto
+42225 16055 lineto
+stroke
+newpath
+41929 16135 moveto
+42225 16135 lineto
+stroke
+newpath
+41929 16215 moveto
+42225 16215 lineto
+stroke
+newpath
+41929 16295 moveto
+42225 16295 lineto
+stroke
+newpath
+41929 16375 moveto
+42225 16375 lineto
+stroke
+newpath
+41929 16455 moveto
+42225 16455 lineto
+stroke
+newpath
+41929 16535 moveto
+42225 16535 lineto
+stroke
+newpath
+41929 16615 moveto
+42225 16615 lineto
+stroke
+newpath
+41929 16695 moveto
+42225 16695 lineto
+stroke
+newpath
+41929 16775 moveto
+42225 16775 lineto
+stroke
+newpath
+41929 16855 moveto
+42225 16855 lineto
+stroke
+newpath
+41929 16935 moveto
+42225 16935 lineto
+stroke
+newpath
+41929 17015 moveto
+42225 17015 lineto
+stroke
+newpath
+41929 17095 moveto
+42225 17095 lineto
+stroke
+newpath
+41929 17175 moveto
+42225 17175 lineto
+stroke
+newpath
+41929 17255 moveto
+42225 17255 lineto
+stroke
+newpath
+41929 17335 moveto
+42225 17335 lineto
+stroke
+newpath
+41929 17415 moveto
+42225 17415 lineto
+stroke
+newpath
+41929 17495 moveto
+42225 17495 lineto
+stroke
+newpath
+41929 17575 moveto
+42225 17575 lineto
+stroke
+newpath
+41929 17655 moveto
+42225 17655 lineto
+stroke
+newpath
+41929 17735 moveto
+42225 17735 lineto
+stroke
+newpath
+41929 17815 moveto
+42225 17815 lineto
+stroke
+newpath
+41929 17895 moveto
+42225 17895 lineto
+stroke
+newpath
+41929 17975 moveto
+42225 17975 lineto
+stroke
+newpath
+41929 18055 moveto
+42225 18055 lineto
+stroke
+newpath
+41929 18135 moveto
+42225 18135 lineto
+stroke
+newpath
+41926 18215 moveto
+42225 18215 lineto
+stroke
+newpath
+41910 18295 moveto
+42225 18295 lineto
+stroke
+newpath
+41871 18375 moveto
+42225 18375 lineto
+stroke
+newpath
+41809 18455 moveto
+42225 18455 lineto
+stroke
+newpath
+41729 18535 moveto
+42225 18535 lineto
+stroke
+newpath
+41649 18615 moveto
+42225 18615 lineto
+stroke
+newpath
+41569 18695 moveto
+42225 18695 lineto
+stroke
+newpath
+41489 18775 moveto
+42225 18775 lineto
+stroke
+newpath
+41409 18855 moveto
+42225 18855 lineto
+stroke
+newpath
+41329 18935 moveto
+42225 18935 lineto
+stroke
+newpath
+41249 19015 moveto
+42225 19015 lineto
+stroke
+newpath
+41030 13495 moveto
+41030 13495 lineto
+stroke
+newpath
+41064 13575 moveto
+41110 13575 lineto
+stroke
+newpath
+41097 13655 moveto
+41190 13655 lineto
+stroke
+newpath
+41099 13735 moveto
+41270 13735 lineto
+stroke
+newpath
+41099 13815 moveto
+41271 13815 lineto
+stroke
+newpath
+41099 13895 moveto
+41271 13895 lineto
+stroke
+newpath
+41084 13975 moveto
+41271 13975 lineto
+stroke
+newpath
+41051 14055 moveto
+41271 14055 lineto
+stroke
+newpath
+41017 14135 moveto
+41271 14135 lineto
+stroke
+newpath
+40973 14215 moveto
+41271 14215 lineto
+stroke
+newpath
+40893 14295 moveto
+41271 14295 lineto
+stroke
+newpath
+40813 14375 moveto
+41271 14375 lineto
+stroke
+newpath
+40663 14455 moveto
+41271 14455 lineto
+stroke
+newpath
+40583 14535 moveto
+41271 14535 lineto
+stroke
+newpath
+40503 14615 moveto
+41271 14615 lineto
+stroke
+newpath
+40423 14695 moveto
+41271 14695 lineto
+stroke
+newpath
+40343 14775 moveto
+41271 14775 lineto
+stroke
+newpath
+40263 14855 moveto
+41271 14855 lineto
+stroke
+newpath
+40183 14935 moveto
+41271 14935 lineto
+stroke
+newpath
+40103 15015 moveto
+41271 15015 lineto
+stroke
+newpath
+40023 15095 moveto
+41271 15095 lineto
+stroke
+newpath
+39943 15175 moveto
+40083 15175 lineto
+stroke
+newpath
+40718 15175 moveto
+41271 15175 lineto
+stroke
+newpath
+39863 15255 moveto
+39957 15255 lineto
+stroke
+newpath
+40844 15255 moveto
+41271 15255 lineto
+stroke
+newpath
+39783 15335 moveto
+39877 15335 lineto
+stroke
+newpath
+40924 15335 moveto
+41271 15335 lineto
+stroke
+newpath
+39703 15415 moveto
+39803 15415 lineto
+stroke
+newpath
+40998 15415 moveto
+41271 15415 lineto
+stroke
+newpath
+39623 15495 moveto
+39770 15495 lineto
+stroke
+newpath
+41031 15495 moveto
+41271 15495 lineto
+stroke
+newpath
+41064 15575 moveto
+41271 15575 lineto
+stroke
+newpath
+41097 15655 moveto
+41271 15655 lineto
+stroke
+newpath
+41099 15735 moveto
+41271 15735 lineto
+stroke
+newpath
+41099 15815 moveto
+41271 15815 lineto
+stroke
+newpath
+41099 15895 moveto
+41271 15895 lineto
+stroke
+newpath
+41084 15975 moveto
+41271 15975 lineto
+stroke
+newpath
+41051 16055 moveto
+41271 16055 lineto
+stroke
+newpath
+41017 16135 moveto
+41271 16135 lineto
+stroke
+newpath
+40973 16215 moveto
+41271 16215 lineto
+stroke
+newpath
+40893 16295 moveto
+41271 16295 lineto
+stroke
+newpath
+40813 16375 moveto
+41271 16375 lineto
+stroke
+newpath
+40664 16455 moveto
+41271 16455 lineto
+stroke
+newpath
+40584 16535 moveto
+41271 16535 lineto
+stroke
+newpath
+40504 16615 moveto
+41271 16615 lineto
+stroke
+newpath
+40407 16695 moveto
+41271 16695 lineto
+stroke
+newpath
+40287 16775 moveto
+41271 16775 lineto
+stroke
+newpath
+39810 16855 moveto
+41271 16855 lineto
+stroke
+newpath
+39730 16935 moveto
+41271 16935 lineto
+stroke
+newpath
+39650 17015 moveto
+41271 17015 lineto
+stroke
+newpath
+39570 17095 moveto
+41271 17095 lineto
+stroke
+newpath
+39490 17175 moveto
+41271 17175 lineto
+stroke
+newpath
+39410 17255 moveto
+41271 17255 lineto
+stroke
+newpath
+39330 17335 moveto
+41271 17335 lineto
+stroke
+newpath
+39250 17415 moveto
+41271 17415 lineto
+stroke
+newpath
+39170 17495 moveto
+41271 17495 lineto
+stroke
+newpath
+39090 17575 moveto
+41271 17575 lineto
+stroke
+newpath
+39010 17655 moveto
+41271 17655 lineto
+stroke
+newpath
+38930 17735 moveto
+41271 17735 lineto
+stroke
+newpath
+38850 17815 moveto
+41271 17815 lineto
+stroke
+newpath
+38739 17895 moveto
+41271 17895 lineto
+stroke
+newpath
+37799 17975 moveto
+41271 17975 lineto
+stroke
+newpath
+37796 18055 moveto
+41271 18055 lineto
+stroke
+newpath
+37763 18135 moveto
+41199 18135 lineto
+stroke
+newpath
+37681 18215 moveto
+41119 18215 lineto
+stroke
+newpath
+37622 18295 moveto
+38178 18295 lineto
+stroke
+newpath
+38623 18295 moveto
+39178 18295 lineto
+stroke
+newpath
+39623 18295 moveto
+41039 18295 lineto
+stroke
+newpath
+37754 18375 moveto
+38046 18375 lineto
+stroke
+newpath
+38754 18375 moveto
+39046 18375 lineto
+stroke
+newpath
+39754 18375 moveto
+40959 18375 lineto
+stroke
+newpath
+37834 18455 moveto
+37966 18455 lineto
+stroke
+newpath
+38834 18455 moveto
+38966 18455 lineto
+stroke
+newpath
+39834 18455 moveto
+40879 18455 lineto
+stroke
+newpath
+37886 18535 moveto
+37915 18535 lineto
+stroke
+newpath
+38886 18535 moveto
+38915 18535 lineto
+stroke
+newpath
+39886 18535 moveto
+40799 18535 lineto
+stroke
+newpath
+39919 18615 moveto
+40719 18615 lineto
+stroke
+newpath
+27708 18566 moveto
+27708 18566 lineto
+stroke
+newpath
+27900 18326 moveto
+27900 18326 lineto
+stroke
+newpath
+27866 18406 moveto
+27868 18406 lineto
+stroke
+newpath
+29939 17728 moveto
+29964 17728 lineto
+stroke
+newpath
+20551 16093 moveto
+20551 16093 lineto
+stroke
+newpath
+20471 16173 moveto
+20551 16173 lineto
+stroke
+newpath
+20457 16253 moveto
+20551 16253 lineto
+stroke
+newpath
+20457 16333 moveto
+20551 16333 lineto
+stroke
+newpath
+20457 16413 moveto
+20551 16413 lineto
+stroke
+newpath
+20457 16493 moveto
+20551 16493 lineto
+stroke
+newpath
+20457 16573 moveto
+20551 16573 lineto
+stroke
+newpath
+20457 16653 moveto
+20551 16653 lineto
+stroke
+newpath
+20457 16733 moveto
+20565 16733 lineto
+stroke
+newpath
+20457 16813 moveto
+20611 16813 lineto
+stroke
+newpath
+21799 16801 moveto
+21799 16801 lineto
+stroke
+newpath
+32168 15896 moveto
+32168 15896 lineto
+stroke
+newpath
+32129 15976 moveto
+32136 15976 lineto
+stroke
+newpath
+21774 15729 moveto
+21774 15729 lineto
+stroke
+newpath
+21730 15809 moveto
+21854 15809 lineto
+stroke
+newpath
+21791 15889 moveto
+21809 15889 lineto
+stroke
+newpath
+20927 15716 moveto
+20927 15716 lineto
+stroke
+newpath
+20847 15796 moveto
+20890 15796 lineto
+stroke
+newpath
+34336 13129 moveto
+40194 13129 lineto
+stroke
+newpath
+34256 13209 moveto
+40003 13209 lineto
+stroke
+newpath
+34176 13289 moveto
+39923 13289 lineto
+stroke
+newpath
+34096 13369 moveto
+39843 13369 lineto
+stroke
+newpath
+34016 13449 moveto
+39789 13449 lineto
+stroke
+newpath
+33936 13529 moveto
+39751 13529 lineto
+stroke
+newpath
+33856 13609 moveto
+39671 13609 lineto
+stroke
+newpath
+33776 13689 moveto
+39591 13689 lineto
+stroke
+newpath
+33696 13769 moveto
+39511 13769 lineto
+stroke
+newpath
+33616 13849 moveto
+39431 13849 lineto
+stroke
+newpath
+33536 13929 moveto
+39351 13929 lineto
+stroke
+newpath
+33499 14009 moveto
+39271 14009 lineto
+stroke
+newpath
+33499 14089 moveto
+39191 14089 lineto
+stroke
+newpath
+33499 14169 moveto
+39111 14169 lineto
+stroke
+newpath
+33499 14249 moveto
+39031 14249 lineto
+stroke
+newpath
+33499 14329 moveto
+38951 14329 lineto
+stroke
+newpath
+33499 14409 moveto
+38871 14409 lineto
+stroke
+newpath
+33499 14489 moveto
+38791 14489 lineto
+stroke
+newpath
+40607 13129 moveto
+40663 13129 lineto
+stroke
+newpath
+40703 13168 moveto
+40663 13129 lineto
+40607 13129 lineto
+40703 13168 lineto
+poly0
+1 1 1 setrgbcolor
+0 setlinewidth
+60 setlinewidth
+19600 22100 75 cir1
+0 setlinewidth
+60 setlinewidth
+21700 22100 75 cir1
+0 setlinewidth
+60 setlinewidth
+30500 18000 75 cir1
+0 setlinewidth
+60 setlinewidth
+26400 19800 75 cir1
+0 setlinewidth
+60 setlinewidth
+25600 19000 75 cir1
+0 setlinewidth
+60 setlinewidth
+33700 19800 75 cir1
+0 setlinewidth
+60 setlinewidth
+28400 20900 75 cir1
+0 setlinewidth
+60 setlinewidth
+31500 18000 75 cir1
+0 setlinewidth
+60 setlinewidth
+40400 13800 75 cir1
+0 setlinewidth
+60 setlinewidth
+40400 15800 75 cir1
+0 setlinewidth
+60 setlinewidth
+37400 21950 75 cir1
+0 setlinewidth
+60 setlinewidth
+38400 21950 75 cir1
+0 setlinewidth
+60 setlinewidth
+39400 21950 75 cir1
+0 setlinewidth
+60 setlinewidth
+39400 18950 75 cir1
+0 setlinewidth
+60 setlinewidth
+38400 18950 75 cir1
+0 setlinewidth
+60 setlinewidth
+37400 18950 75 cir1
+0 setlinewidth
+60 setlinewidth
+29400 18100 75 cir1
+0 setlinewidth
+60 setlinewidth
+29400 19100 75 cir1
+0 setlinewidth
+60 setlinewidth
+28400 18100 75 cir1
+0 setlinewidth
+60 setlinewidth
+28400 19100 75 cir1
+0 setlinewidth
+60 setlinewidth
+27400 18100 75 cir1
+0 setlinewidth
+60 setlinewidth
+27400 19100 75 cir1
+0 setlinewidth
+60 setlinewidth
+31300 20900 75 cir1
+0 setlinewidth
+60 setlinewidth
+32300 20900 75 cir1
+0 setlinewidth
+60 setlinewidth
+31300 21900 75 cir1
+0 setlinewidth
+60 setlinewidth
+32300 21900 75 cir1
+0 setlinewidth
+60 setlinewidth
+31300 22900 75 cir1
+0 setlinewidth
+60 setlinewidth
+32300 22900 75 cir1
+0 setlinewidth
+60 setlinewidth
+31300 23900 75 cir1
+0 setlinewidth
+60 setlinewidth
+32300 23900 75 cir1
+0 setlinewidth
+60 setlinewidth
+32800 14200 75 cir1
+0 setlinewidth
+60 setlinewidth
+32800 16200 75 cir1
+0 setlinewidth
+60 setlinewidth
+32800 15200 75 cir1
+0 setlinewidth
+60 setlinewidth
+26300 15200 75 cir1
+0 0 0 setrgbcolor
+showpage
+grestore
+%%EOF
diff --git a/circuit/fridge-lock-PCB_Edges.svg b/circuit/fridge-lock-PCB_Edges.svg
new file mode 100644
index 0000000..3ff7416
--- /dev/null
+++ b/circuit/fridge-lock-PCB_Edges.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="27cm" height="19cm" viewBox="0 0 117000 82670 "
+>
+ <title>SVG Picture created as fridge-lock-PCB_Edges.svg </title>
+ <desc>Picture generated by wxSVG v0101 </desc>
+ <g style="fill:black; stroke:black; stroke-width:1">
+</g>
+<g style="fill:#000000; fill-opacity:0.0;
+ stroke:#FFFF00; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:150"
+ transform="translate(0 0) scale(1 1)">
+<path d="M26772 43307 L46457 43307" />
+<path d="M26772 23622 L46457 23622" />
+<path d="M46457 23622 L46457 43307" />
+<path d="M26772 23622 L26772 43307" />
+</g>
+</svg>
diff --git a/circuit/fridge-lock-SilkS_Back.ps b/circuit/fridge-lock-SilkS_Back.ps
new file mode 100644
index 0000000..475b8fe
--- /dev/null
+++ b/circuit/fridge-lock-SilkS_Back.ps
@@ -0,0 +1,62 @@
+%!PS-Adobe-3.0
+%%Creator: PCBNEW-PS
+%%CreationDate: Sat Mar 24 23:04:16 2012
+%%Title: /home/trygvis/dev/no.bitraf/fridge-lock/circuit/fridge-lock-SilkS_Back.ps
+%%Pages: 1
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 596 843
+%%DocumentMedia: A4 595 842 0 () ()
+%%Orientation: Landscape
+%%EndComments
+%%Page: 1 1
+/line {
+ newpath
+ moveto
+ lineto
+ stroke
+} bind def
+/cir0 { newpath 0 360 arc stroke } bind def
+/cir1 { newpath 0 360 arc gsave fill grestore stroke } bind def
+/cir2 { newpath 0 360 arc gsave fill grestore stroke } bind def
+/arc0 { newpath arc stroke } bind def
+/arc1 { newpath 4 index 4 index moveto arc closepath gsave fill grestore stroke } bind def
+/arc2 { newpath 4 index 4 index moveto arc closepath gsave fill grestore stroke } bind def
+/poly0 { stroke } bind def
+/poly1 { closepath gsave fill grestore stroke } bind def
+/poly2 { closepath gsave fill grestore stroke } bind def
+/rect0 { rectstroke } bind def
+/rect1 { rectfill } bind def
+/rect2 { rectfill } bind def
+/linemode0 { 0 setlinecap 0 setlinejoin 0 setlinewidth } bind def
+/linemode1 { 1 setlinecap 1 setlinejoin } bind def
+/dashedline { [50 50] 0 setdash } bind def
+/solidline { [] 0 setdash } bind def
+gsave
+0.0072 0.0072 scale
+linemode1
+82670 0 translate 90 rotate
+60 setlinewidth
+150 setlinewidth
+newpath
+19000 30800 moveto
+19000 12500 lineto
+stroke
+newpath
+42500 30800 moveto
+19000 30800 lineto
+stroke
+newpath
+42500 12500 moveto
+42500 30800 lineto
+stroke
+newpath
+42500 30800 moveto
+19000 30800 lineto
+stroke
+newpath
+19000 12500 moveto
+42500 12500 lineto
+stroke
+showpage
+grestore
+%%EOF
diff --git a/circuit/fridge-lock-SilkS_Back.svg b/circuit/fridge-lock-SilkS_Back.svg
new file mode 100644
index 0000000..a39446f
--- /dev/null
+++ b/circuit/fridge-lock-SilkS_Back.svg
@@ -0,0 +1,101 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="27cm" height="19cm" viewBox="0 0 117000 82670 "
+>
+ <title>SVG Picture created as fridge-lock-SilkS_Back.svg </title>
+ <desc>Picture generated by wxSVG v0101 </desc>
+ <g style="fill:black; stroke:black; stroke-width:1">
+</g>
+<g style="fill:#000000; fill-opacity:0.0;
+ stroke:#FFFF00; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:150"
+ transform="translate(0 0) scale(1 1)">
+<path d="M26772 43307 L46457 43307" />
+<path d="M26772 23622 L46457 23622" />
+<path d="M46457 23622 L46457 43307" />
+<path d="M26772 23622 L26772 43307" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39468 38229 L39468 38937" />
+<path d="M39468 38937 L38760 38937" />
+<path d="M38760 38937 L38760 38229" />
+<path d="M38760 38229 L39468 38229" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="38114" cy="38583" rx="359" ry="359" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="37114" cy="38583" rx="359" ry="359" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="36114" cy="38583" rx="359" ry="359" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="35114" cy="38583" rx="359" ry="359" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="34114" cy="38583" rx="359" ry="359" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36612 39433 L36616 39433" />
+<path d="M36614 39431 L36614 39435" />
+</g>
+<g style="fill:#0000C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36909 39595 L36909 39195" />
+<path d="M36909 39195 L36756 39195" />
+<path d="M36756 39195 L36718 39214" />
+<path d="M36718 39214 L36699 39233" />
+<path d="M36699 39233 L36680 39271" />
+<path d="M36680 39271 L36680 39328" />
+<path d="M36680 39328 L36699 39366" />
+<path d="M36699 39366 L36718 39385" />
+<path d="M36718 39385 L36756 39404" />
+<path d="M36756 39404 L36909 39404" />
+<g style = "stroke-linecap:round;" >
+<path d="M36909 39404 L36909 39404" />
+</g></g>
+<g style="fill:#0000C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36528 39233 L36509 39214" />
+<path d="M36509 39214 L36471 39195" />
+<path d="M36471 39195 L36375 39195" />
+<path d="M36375 39195 L36337 39214" />
+<path d="M36337 39214 L36318 39233" />
+<path d="M36318 39233 L36299 39271" />
+<path d="M36299 39271 L36299 39309" />
+<path d="M36299 39309 L36318 39366" />
+<path d="M36318 39366 L36547 39595" />
+<path d="M36547 39595 L36299 39595" />
+<g style = "stroke-linecap:round;" >
+<path d="M36299 39595 L36299 39595" />
+</g></g>
+<g style="fill:#0000C0; fill-opacity:0.0;
+ stroke:#A000A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39614 39083 L39614 38083" />
+<path d="M33614 38083 L39614 38083" />
+<path d="M33614 38083 L33614 39083" />
+<path d="M33614 39083 L39614 39083" />
+<path d="M38614 39083 L38614 38083" />
+</g>
+</svg>
diff --git a/circuit/fridge-lock-SilkS_Front.ps b/circuit/fridge-lock-SilkS_Front.ps
new file mode 100644
index 0000000..fee57ad
--- /dev/null
+++ b/circuit/fridge-lock-SilkS_Front.ps
@@ -0,0 +1,2082 @@
+%!PS-Adobe-3.0
+%%Creator: PCBNEW-PS
+%%CreationDate: Sat Mar 24 23:04:16 2012
+%%Title: /home/trygvis/dev/no.bitraf/fridge-lock/circuit/fridge-lock-SilkS_Front.ps
+%%Pages: 1
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 596 843
+%%DocumentMedia: A4 595 842 0 () ()
+%%Orientation: Landscape
+%%EndComments
+%%Page: 1 1
+/line {
+ newpath
+ moveto
+ lineto
+ stroke
+} bind def
+/cir0 { newpath 0 360 arc stroke } bind def
+/cir1 { newpath 0 360 arc gsave fill grestore stroke } bind def
+/cir2 { newpath 0 360 arc gsave fill grestore stroke } bind def
+/arc0 { newpath arc stroke } bind def
+/arc1 { newpath 4 index 4 index moveto arc closepath gsave fill grestore stroke } bind def
+/arc2 { newpath 4 index 4 index moveto arc closepath gsave fill grestore stroke } bind def
+/poly0 { stroke } bind def
+/poly1 { closepath gsave fill grestore stroke } bind def
+/poly2 { closepath gsave fill grestore stroke } bind def
+/rect0 { rectstroke } bind def
+/rect1 { rectfill } bind def
+/rect2 { rectfill } bind def
+/linemode0 { 0 setlinecap 0 setlinejoin 0 setlinewidth } bind def
+/linemode1 { 1 setlinecap 1 setlinejoin } bind def
+/dashedline { [50 50] 0 setdash } bind def
+/solidline { [] 0 setdash } bind def
+gsave
+0.0072 0.0072 scale
+linemode1
+82670 0 translate 90 rotate
+60 setlinewidth
+150 setlinewidth
+newpath
+19000 30800 moveto
+19000 12500 lineto
+stroke
+newpath
+42500 30800 moveto
+19000 30800 lineto
+stroke
+newpath
+42500 12500 moveto
+42500 30800 lineto
+stroke
+newpath
+42500 30800 moveto
+19000 30800 lineto
+stroke
+newpath
+19000 12500 moveto
+42500 12500 lineto
+stroke
+50 setlinewidth
+newpath
+42400 16770 moveto
+38400 16770 lineto
+stroke
+newpath
+42400 12830 moveto
+38400 12830 lineto
+stroke
+newpath
+42400 12830 moveto
+42400 16770 lineto
+stroke
+newpath
+38400 16770 moveto
+38400 12830 lineto
+stroke
+newpath
+40920 14320 moveto
+40050 13150 lineto
+stroke
+newpath
+40750 14450 moveto
+39880 13270 lineto
+stroke
+200 setlinewidth
+newpath
+40750 14300 moveto
+40050 13300 lineto
+stroke
+100 setlinewidth
+newpath
+40760 14400 moveto
+40860 14310 lineto
+stroke
+newpath
+39940 13280 moveto
+40030 13210 lineto
+stroke
+50 setlinewidth
+newpath
+40920 15280 moveto
+39750 16150 lineto
+stroke
+newpath
+41050 15450 moveto
+39870 16320 lineto
+stroke
+200 setlinewidth
+newpath
+40900 15450 moveto
+39900 16150 lineto
+stroke
+100 setlinewidth
+newpath
+41000 15440 moveto
+40909 15340 lineto
+stroke
+newpath
+39880 16260 moveto
+39810 16170 lineto
+stroke
+20 setlinewidth
+newpath
+42200 13150 moveto
+42200 16750 lineto
+stroke
+newpath
+42000 13100 moveto
+42000 16750 lineto
+stroke
+newpath
+41800 13000 moveto
+41800 16750 lineto
+stroke
+newpath
+38600 13150 moveto
+38600 16750 lineto
+stroke
+newpath
+38800 13100 moveto
+38800 16750 lineto
+stroke
+newpath
+39000 13000 moveto
+39000 16750 lineto
+stroke
+newpath
+39200 16750 moveto
+39200 12900 lineto
+stroke
+newpath
+41600 12900 moveto
+41600 16750 lineto
+stroke
+25 setlinewidth
+40400 13800 530 cir0
+40400 15800 530 cir0
+26 setlinewidth
+newpath
+35800 30000 moveto
+41000 30000 lineto
+stroke
+newpath
+41000 30000 moveto
+41000 27600 lineto
+stroke
+newpath
+35800 27600 moveto
+41000 27600 lineto
+stroke
+newpath
+35800 30000 moveto
+35800 27600 lineto
+stroke
+60 setlinewidth
+newpath
+36150 28350 moveto
+36150 27950 lineto
+stroke
+newpath
+40650 28350 moveto
+40650 27950 lineto
+stroke
+20 setlinewidth
+newpath
+39750 29300 moveto
+37050 29300 lineto
+stroke
+newpath
+39750 29600 moveto
+37050 29600 lineto
+stroke
+newpath
+37050 28300 moveto
+39750 28300 lineto
+stroke
+60 setlinewidth
+newpath
+40550 29750 moveto
+36250 29750 lineto
+stroke
+newpath
+40650 28950 moveto
+40950 28950 lineto
+stroke
+newpath
+40650 28650 moveto
+40950 28650 lineto
+stroke
+newpath
+40950 28950 moveto
+40950 28650 lineto
+stroke
+newpath
+40650 29250 moveto
+40650 28350 lineto
+stroke
+newpath
+40650 29650 moveto
+40650 29250 lineto
+stroke
+newpath
+35850 28950 moveto
+35850 28650 lineto
+stroke
+newpath
+36150 29250 moveto
+36150 28950 lineto
+stroke
+newpath
+36150 28950 moveto
+36150 28650 lineto
+stroke
+newpath
+36150 28650 moveto
+36150 28350 lineto
+stroke
+newpath
+36150 29650 moveto
+36150 29250 lineto
+stroke
+newpath
+36150 28950 moveto
+35850 28950 lineto
+stroke
+newpath
+36150 28650 moveto
+35850 28650 lineto
+stroke
+20 setlinewidth
+newpath
+37050 28000 moveto
+39750 28000 lineto
+stroke
+60 setlinewidth
+newpath
+40550 27850 moveto
+36250 27850 lineto
+stroke
+newpath
+38300 28550 moveto
+38300 29050 lineto
+stroke
+newpath
+38300 29050 moveto
+38500 29050 lineto
+stroke
+newpath
+38500 29050 moveto
+38500 28550 lineto
+stroke
+newpath
+38500 28550 moveto
+38300 28550 lineto
+stroke
+newpath
+38150 28550 moveto
+38150 28800 lineto
+stroke
+newpath
+38150 28800 moveto
+38150 29050 lineto
+stroke
+20 setlinewidth
+newpath
+38150 28800 moveto
+38000 28800 lineto
+stroke
+60 setlinewidth
+newpath
+38650 28550 moveto
+38650 28800 lineto
+stroke
+newpath
+38650 28800 moveto
+38650 29050 lineto
+stroke
+20 setlinewidth
+newpath
+38650 28800 moveto
+38800 28800 lineto
+stroke
+37051 28800 800 -145.8 269.9 arc0
+39750 28800 800 -90 325.7 arc0
+60 setlinewidth
+40550 29650 100 0 450 arc0
+20 setlinewidth
+39750 28800 499 64.3 450.1 arc0
+39750 28800 500 -90 295.8 arc0
+39749 28800 799 34.1 449.8 arc0
+39750 28800 499 -64.3 424 arc0
+39750 28800 799 -34.2 394.2 arc0
+37050 28800 800 90 505.7 arc0
+37050 28800 499 115.7 604 arc0
+37050 28800 500 90 475.8 arc0
+37050 28800 499 -115.7 270.1 arc0
+37050 28800 799 145.8 574.2 arc0
+60 setlinewidth
+36250 29650 100 90 540 arc0
+40550 27950 100 -90 360 arc0
+36250 27950 100 -180 270 arc0
+150 setlinewidth
+newpath
+36650 19450 moveto
+40150 19450 lineto
+stroke
+newpath
+40150 19450 moveto
+40150 21450 lineto
+stroke
+newpath
+40150 21450 moveto
+36650 21450 lineto
+stroke
+newpath
+36650 21450 moveto
+36650 19450 lineto
+stroke
+newpath
+36650 20200 moveto
+37150 20200 lineto
+stroke
+newpath
+37150 20200 moveto
+37150 20700 lineto
+stroke
+newpath
+37150 20700 moveto
+36650 20700 lineto
+stroke
+50 setlinewidth
+newpath
+19793 12613 moveto
+19651 12613 lineto
+stroke
+newpath
+23210 12613 moveto
+23348 12613 lineto
+stroke
+newpath
+23202 12350 moveto
+19785 12350 lineto
+stroke
+newpath
+23202 12613 moveto
+19809 12613 lineto
+stroke
+80 setlinewidth
+newpath
+26900 17600 moveto
+29900 17600 lineto
+stroke
+newpath
+29900 19600 moveto
+26900 19600 lineto
+stroke
+newpath
+26900 19600 moveto
+26900 17600 lineto
+stroke
+newpath
+29900 17600 moveto
+29900 19600 lineto
+stroke
+50 setlinewidth
+newpath
+33200 17150 moveto
+33200 18050 lineto
+stroke
+newpath
+33200 18050 moveto
+33850 18050 lineto
+stroke
+newpath
+34550 17150 moveto
+35200 17150 lineto
+stroke
+newpath
+35200 17150 moveto
+35200 18050 lineto
+stroke
+newpath
+35200 18050 moveto
+34550 18050 lineto
+stroke
+newpath
+33850 17150 moveto
+33200 17150 lineto
+stroke
+newpath
+33200 18350 moveto
+33200 19250 lineto
+stroke
+newpath
+33200 19250 moveto
+33850 19250 lineto
+stroke
+newpath
+34550 18350 moveto
+35200 18350 lineto
+stroke
+newpath
+35200 18350 moveto
+35200 19250 lineto
+stroke
+newpath
+35200 19250 moveto
+34550 19250 lineto
+stroke
+newpath
+33850 18350 moveto
+33200 18350 lineto
+stroke
+newpath
+34560 21530 moveto
+35460 21530 lineto
+stroke
+newpath
+35460 21530 moveto
+35460 20880 lineto
+stroke
+newpath
+34560 20180 moveto
+34560 19530 lineto
+stroke
+newpath
+34560 19530 moveto
+35460 19530 lineto
+stroke
+newpath
+35460 19530 moveto
+35460 20180 lineto
+stroke
+newpath
+34560 20880 moveto
+34560 21530 lineto
+stroke
+newpath
+21400 25750 moveto
+21400 26650 lineto
+stroke
+newpath
+21400 26650 moveto
+22050 26650 lineto
+stroke
+newpath
+22750 25750 moveto
+23400 25750 lineto
+stroke
+newpath
+23400 25750 moveto
+23400 26650 lineto
+stroke
+newpath
+23400 26650 moveto
+22750 26650 lineto
+stroke
+newpath
+22050 25750 moveto
+21400 25750 lineto
+stroke
+newpath
+21950 18000 moveto
+22850 18000 lineto
+stroke
+newpath
+22850 18000 moveto
+22850 17350 lineto
+stroke
+newpath
+21950 16650 moveto
+21950 16000 lineto
+stroke
+newpath
+21950 16000 moveto
+22850 16000 lineto
+stroke
+newpath
+22850 16000 moveto
+22850 16650 lineto
+stroke
+newpath
+21950 17350 moveto
+21950 18000 lineto
+stroke
+newpath
+20750 18000 moveto
+21650 18000 lineto
+stroke
+newpath
+21650 18000 moveto
+21650 17350 lineto
+stroke
+newpath
+20750 16650 moveto
+20750 16000 lineto
+stroke
+newpath
+20750 16000 moveto
+21650 16000 lineto
+stroke
+newpath
+21650 16000 moveto
+21650 16650 lineto
+stroke
+newpath
+20750 17350 moveto
+20750 18000 lineto
+stroke
+newpath
+35600 17150 moveto
+35600 18050 lineto
+stroke
+newpath
+35600 18050 moveto
+36250 18050 lineto
+stroke
+newpath
+36950 17150 moveto
+37600 17150 lineto
+stroke
+newpath
+37600 17150 moveto
+37600 18050 lineto
+stroke
+newpath
+37600 18050 moveto
+36950 18050 lineto
+stroke
+newpath
+36250 17150 moveto
+35600 17150 lineto
+stroke
+newpath
+41200 25250 moveto
+41200 24350 lineto
+stroke
+newpath
+41200 24350 moveto
+40550 24350 lineto
+stroke
+newpath
+39850 25250 moveto
+39200 25250 lineto
+stroke
+newpath
+39200 25250 moveto
+39200 24350 lineto
+stroke
+newpath
+39200 24350 moveto
+39850 24350 lineto
+stroke
+newpath
+40550 25250 moveto
+41200 25250 lineto
+stroke
+newpath
+41200 26850 moveto
+41200 25950 lineto
+stroke
+newpath
+41200 25950 moveto
+40550 25950 lineto
+stroke
+newpath
+39850 26850 moveto
+39200 26850 lineto
+stroke
+newpath
+39200 26850 moveto
+39200 25950 lineto
+stroke
+newpath
+39200 25950 moveto
+39850 25950 lineto
+stroke
+newpath
+40550 26850 moveto
+41200 26850 lineto
+stroke
+newpath
+35800 25950 moveto
+35800 26850 lineto
+stroke
+newpath
+35800 26850 moveto
+36450 26850 lineto
+stroke
+newpath
+37150 25950 moveto
+37800 25950 lineto
+stroke
+newpath
+37800 25950 moveto
+37800 26850 lineto
+stroke
+newpath
+37800 26850 moveto
+37150 26850 lineto
+stroke
+newpath
+36450 25950 moveto
+35800 25950 lineto
+stroke
+newpath
+37800 25250 moveto
+37900 25250 lineto
+stroke
+newpath
+37900 25250 moveto
+37900 24350 lineto
+stroke
+newpath
+37900 24350 moveto
+37800 24350 lineto
+stroke
+newpath
+37800 25250 moveto
+37800 24350 lineto
+stroke
+newpath
+37800 24350 moveto
+37150 24350 lineto
+stroke
+newpath
+36450 25250 moveto
+35800 25250 lineto
+stroke
+newpath
+35800 25250 moveto
+35800 24350 lineto
+stroke
+newpath
+35800 24350 moveto
+36450 24350 lineto
+stroke
+newpath
+37150 25250 moveto
+37800 25250 lineto
+stroke
+newpath
+30700 25950 moveto
+30650 25950 lineto
+stroke
+newpath
+30650 25950 moveto
+30650 28050 lineto
+stroke
+newpath
+32150 28050 moveto
+32150 25950 lineto
+stroke
+newpath
+32150 25950 moveto
+30700 25950 lineto
+stroke
+newpath
+31600 25950 moveto
+31600 26150 lineto
+stroke
+newpath
+31600 26150 moveto
+31200 26150 lineto
+stroke
+newpath
+31200 26150 moveto
+31200 25950 lineto
+stroke
+newpath
+32150 28050 moveto
+30650 28050 lineto
+stroke
+60 setlinewidth
+newpath
+25890 20220 moveto
+25890 20670 lineto
+stroke
+newpath
+23710 20220 moveto
+23710 20660 lineto
+stroke
+newpath
+25890 20220 moveto
+23710 20220 lineto
+stroke
+newpath
+26360 21100 moveto
+26790 21100 lineto
+stroke
+newpath
+26370 23310 moveto
+26790 23310 lineto
+stroke
+newpath
+26790 23320 moveto
+26800 21100 lineto
+stroke
+newpath
+22820 23300 moveto
+22810 21130 lineto
+stroke
+newpath
+23510 23730 moveto
+26340 23730 lineto
+stroke
+newpath
+22820 21120 moveto
+23230 21120 lineto
+stroke
+newpath
+23270 23480 moveto
+23270 20700 lineto
+stroke
+newpath
+26350 20680 moveto
+23310 20680 lineto
+stroke
+newpath
+26350 23730 moveto
+26350 20730 lineto
+stroke
+newpath
+23680 24180 moveto
+25900 24180 lineto
+stroke
+newpath
+25900 24180 moveto
+25900 23730 lineto
+stroke
+newpath
+23500 23726 moveto
+23270 23496 lineto
+stroke
+newpath
+23680 24178 moveto
+23680 23726 lineto
+stroke
+newpath
+23270 23300 moveto
+22818 23300 lineto
+stroke
+23674 23318 188 cir0
+120 setlinewidth
+newpath
+32800 20400 moveto
+32800 24400 lineto
+stroke
+newpath
+32800 24400 moveto
+30800 24400 lineto
+stroke
+newpath
+30800 24400 moveto
+30800 20400 lineto
+stroke
+newpath
+30800 20400 moveto
+32800 20400 lineto
+stroke
+50 setlinewidth
+newpath
+21400 27350 moveto
+21400 28250 lineto
+stroke
+newpath
+21400 28250 moveto
+22050 28250 lineto
+stroke
+newpath
+22750 27350 moveto
+23400 27350 lineto
+stroke
+newpath
+23400 27350 moveto
+23400 28250 lineto
+stroke
+newpath
+23400 28250 moveto
+22750 28250 lineto
+stroke
+newpath
+22050 27350 moveto
+21400 27350 lineto
+stroke
+120 setlinewidth
+newpath
+32800 16200 moveto
+30800 16200 lineto
+stroke
+newpath
+32800 15200 moveto
+30800 15200 lineto
+stroke
+newpath
+32800 14200 moveto
+30800 14200 lineto
+stroke
+newpath
+30800 13200 moveto
+24800 13200 lineto
+stroke
+newpath
+24800 13200 moveto
+24800 17200 lineto
+stroke
+newpath
+24800 17200 moveto
+30800 17200 lineto
+stroke
+newpath
+30800 17200 moveto
+30800 13200 lineto
+stroke
+newpath
+27800 13700 moveto
+27800 17200 lineto
+stroke
+newpath
+27800 13700 moveto
+27800 13200 lineto
+stroke
+35 setlinewidth
+0 0 0 setrgbcolor
+newpath
+43532 16316 moveto
+42832 16316 lineto
+42832 16050 lineto
+42866 15983 lineto
+42899 15950 lineto
+42966 15916 lineto
+43066 15916 lineto
+43132 15950 lineto
+43166 15983 lineto
+43199 16050 lineto
+43199 16316 lineto
+stroke
+newpath
+43066 15316 moveto
+43532 15316 lineto
+stroke
+newpath
+42799 15483 moveto
+43299 15650 lineto
+43299 15216 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+37967 17632 moveto
+38000 17666 lineto
+38033 17766 lineto
+38033 17832 lineto
+38000 17932 lineto
+37933 17999 lineto
+37867 18032 lineto
+37733 18066 lineto
+37633 18066 lineto
+37500 18032 lineto
+37433 17999 lineto
+37367 17932 lineto
+37333 17832 lineto
+37333 17766 lineto
+37367 17666 lineto
+37400 17632 lineto
+stroke
+newpath
+37333 17199 moveto
+37333 17066 lineto
+37367 16999 lineto
+37433 16932 lineto
+37567 16899 lineto
+37800 16899 lineto
+37933 16932 lineto
+38000 16999 lineto
+38033 17066 lineto
+38033 17199 lineto
+38000 17266 lineto
+37933 17332 lineto
+37800 17366 lineto
+37567 17366 lineto
+37433 17332 lineto
+37367 17266 lineto
+37333 17199 lineto
+stroke
+newpath
+38033 16599 moveto
+37333 16599 lineto
+38033 16199 lineto
+37333 16199 lineto
+stroke
+newpath
+38033 15866 moveto
+37333 15866 lineto
+38033 15466 lineto
+37333 15466 lineto
+stroke
+newpath
+38100 15300 moveto
+38100 14767 lineto
+stroke
+newpath
+37400 14634 moveto
+37367 14600 lineto
+37333 14534 lineto
+37333 14367 lineto
+37367 14300 lineto
+37400 14267 lineto
+37467 14234 lineto
+37533 14234 lineto
+37633 14267 lineto
+38033 14667 lineto
+38033 14234 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+36995 29852 moveto
+37329 30352 lineto
+stroke
+newpath
+37329 29852 moveto
+36995 30352 lineto
+stroke
+newpath
+37781 30352 moveto
+37495 30352 lineto
+stroke
+newpath
+37638 30352 moveto
+37638 29852 lineto
+37590 29924 lineto
+37543 29971 lineto
+37495 29995 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+36495 27555 moveto
+36471 27579 lineto
+36400 27602 lineto
+36352 27602 lineto
+36280 27579 lineto
+36233 27531 lineto
+36209 27483 lineto
+36185 27388 lineto
+36185 27317 lineto
+36209 27221 lineto
+36233 27174 lineto
+36280 27126 lineto
+36352 27102 lineto
+36400 27102 lineto
+36471 27126 lineto
+36495 27150 lineto
+stroke
+newpath
+36995 27602 moveto
+36828 27364 lineto
+stroke
+newpath
+36709 27602 moveto
+36709 27102 lineto
+36900 27102 lineto
+36947 27126 lineto
+36971 27150 lineto
+36995 27198 lineto
+36995 27269 lineto
+36971 27317 lineto
+36947 27340 lineto
+36900 27364 lineto
+36709 27364 lineto
+stroke
+newpath
+37304 27364 moveto
+37304 27602 lineto
+stroke
+newpath
+37138 27102 moveto
+37304 27364 lineto
+37471 27102 lineto
+stroke
+newpath
+37614 27579 moveto
+37686 27602 lineto
+37805 27602 lineto
+37852 27579 lineto
+37876 27555 lineto
+37900 27507 lineto
+37900 27460 lineto
+37876 27412 lineto
+37852 27388 lineto
+37805 27364 lineto
+37709 27340 lineto
+37662 27317 lineto
+37638 27293 lineto
+37614 27245 lineto
+37614 27198 lineto
+37638 27150 lineto
+37662 27126 lineto
+37709 27102 lineto
+37829 27102 lineto
+37900 27126 lineto
+stroke
+newpath
+38043 27102 moveto
+38328 27102 lineto
+stroke
+newpath
+38185 27602 moveto
+38185 27102 lineto
+stroke
+newpath
+38471 27460 moveto
+38709 27460 lineto
+stroke
+newpath
+38424 27602 moveto
+38590 27102 lineto
+38757 27602 lineto
+stroke
+newpath
+39162 27602 moveto
+38924 27602 lineto
+38924 27102 lineto
+stroke
+60 setlinewidth
+0 0 0 setrgbcolor
+newpath
+37971 19693 moveto
+38048 19693 lineto
+38086 19721 lineto
+38124 19779 lineto
+38143 19893 lineto
+38143 20093 lineto
+38124 20207 lineto
+38086 20264 lineto
+38048 20293 lineto
+37971 20293 lineto
+37933 20264 lineto
+37895 20207 lineto
+37876 20093 lineto
+37876 19893 lineto
+37895 19779 lineto
+37933 19721 lineto
+37971 19693 lineto
+stroke
+newpath
+38314 20293 moveto
+38314 19693 lineto
+stroke
+newpath
+38543 20293 moveto
+38371 19950 lineto
+stroke
+newpath
+38543 19693 moveto
+38314 20036 lineto
+stroke
+newpath
+38924 20293 moveto
+38695 20293 lineto
+stroke
+newpath
+38809 20293 moveto
+38809 19693 lineto
+38771 19779 lineto
+38733 19836 lineto
+38695 19864 lineto
+stroke
+58 setlinewidth
+0 0 0 setrgbcolor
+newpath
+37059 21152 moveto
+37059 20652 lineto
+37176 21010 lineto
+37293 20652 lineto
+37293 21152 lineto
+stroke
+newpath
+37526 20652 moveto
+37593 20652 lineto
+37626 20676 lineto
+37659 20724 lineto
+37676 20819 lineto
+37676 20986 lineto
+37659 21081 lineto
+37626 21129 lineto
+37593 21152 lineto
+37526 21152 lineto
+37493 21129 lineto
+37459 21081 lineto
+37443 20986 lineto
+37443 20819 lineto
+37459 20724 lineto
+37493 20676 lineto
+37526 20652 lineto
+stroke
+newpath
+38026 21105 moveto
+38010 21129 lineto
+37960 21152 lineto
+37926 21152 lineto
+37876 21129 lineto
+37843 21081 lineto
+37826 21033 lineto
+37810 20938 lineto
+37810 20867 lineto
+37826 20771 lineto
+37843 20724 lineto
+37876 20676 lineto
+37926 20652 lineto
+37960 20652 lineto
+38010 20676 lineto
+38026 20700 lineto
+stroke
+newpath
+38143 20652 moveto
+38360 20652 lineto
+38243 20843 lineto
+38293 20843 lineto
+38326 20867 lineto
+38343 20890 lineto
+38360 20938 lineto
+38360 21057 lineto
+38343 21105 lineto
+38326 21129 lineto
+38293 21152 lineto
+38193 21152 lineto
+38160 21129 lineto
+38143 21105 lineto
+stroke
+newpath
+38576 20652 moveto
+38609 20652 lineto
+38643 20676 lineto
+38659 20700 lineto
+38676 20748 lineto
+38693 20843 lineto
+38693 20962 lineto
+38676 21057 lineto
+38659 21105 lineto
+38643 21129 lineto
+38609 21152 lineto
+38576 21152 lineto
+38543 21129 lineto
+38526 21105 lineto
+38509 21057 lineto
+38493 20962 lineto
+38493 20843 lineto
+38509 20748 lineto
+38526 20700 lineto
+38543 20676 lineto
+38576 20652 lineto
+stroke
+newpath
+38826 20700 moveto
+38842 20676 lineto
+38876 20652 lineto
+38959 20652 lineto
+38992 20676 lineto
+39009 20700 lineto
+39026 20748 lineto
+39026 20795 lineto
+39009 20867 lineto
+38809 21152 lineto
+39026 21152 lineto
+stroke
+newpath
+39142 20652 moveto
+39359 20652 lineto
+39242 20843 lineto
+39292 20843 lineto
+39325 20867 lineto
+39342 20890 lineto
+39359 20938 lineto
+39359 21057 lineto
+39342 21105 lineto
+39325 21129 lineto
+39292 21152 lineto
+39192 21152 lineto
+39159 21129 lineto
+39142 21105 lineto
+stroke
+newpath
+39508 21152 moveto
+39508 20652 lineto
+39625 21010 lineto
+39742 20652 lineto
+39742 21152 lineto
+stroke
+39 setlinewidth
+0 0 0 setrgbcolor
+newpath
+25692 12385 moveto
+25889 12385 lineto
+25928 12399 lineto
+25955 12425 lineto
+25968 12464 lineto
+25968 12491 lineto
+stroke
+newpath
+25968 12110 moveto
+25968 12267 lineto
+stroke
+newpath
+25968 12189 moveto
+25692 12189 lineto
+25731 12215 lineto
+25757 12241 lineto
+25771 12267 lineto
+stroke
+53 setlinewidth
+0 0 0 setrgbcolor
+newpath
+24495 11231 moveto
+24750 11231 lineto
+24780 11216 lineto
+24795 11201 lineto
+24810 11171 lineto
+24810 11111 lineto
+24795 11081 lineto
+24780 11066 lineto
+24750 11051 lineto
+24495 11051 lineto
+stroke
+newpath
+24795 10916 moveto
+24810 10871 lineto
+24810 10796 lineto
+24795 10766 lineto
+24780 10751 lineto
+24750 10736 lineto
+24720 10736 lineto
+24690 10751 lineto
+24675 10766 lineto
+24660 10796 lineto
+24645 10856 lineto
+24630 10886 lineto
+24615 10901 lineto
+24585 10916 lineto
+24555 10916 lineto
+24525 10901 lineto
+24510 10886 lineto
+24495 10856 lineto
+24495 10781 lineto
+24510 10736 lineto
+stroke
+newpath
+24645 10496 moveto
+24660 10451 lineto
+24675 10436 lineto
+24705 10421 lineto
+24750 10421 lineto
+24780 10436 lineto
+24795 10451 lineto
+24810 10481 lineto
+24810 10601 lineto
+24495 10601 lineto
+24495 10496 lineto
+24510 10466 lineto
+24525 10451 lineto
+24555 10436 lineto
+24585 10436 lineto
+24615 10451 lineto
+24630 10466 lineto
+24645 10496 lineto
+24645 10601 lineto
+stroke
+67 setlinewidth
+0 0 0 setrgbcolor
+newpath
+28105 20262 moveto
+28105 19862 lineto
+28258 19862 lineto
+28296 19881 lineto
+28315 19900 lineto
+28334 19938 lineto
+28334 19995 lineto
+28315 20033 lineto
+28296 20052 lineto
+28258 20071 lineto
+28105 20071 lineto
+stroke
+newpath
+28467 19862 moveto
+28715 19862 lineto
+28581 20014 lineto
+28639 20014 lineto
+28677 20033 lineto
+28696 20052 lineto
+28715 20090 lineto
+28715 20186 lineto
+28696 20224 lineto
+28677 20243 lineto
+28639 20262 lineto
+28524 20262 lineto
+28486 20243 lineto
+28467 20224 lineto
+stroke
+50 setlinewidth
+0 0 0 setrgbcolor
+newpath
+34150 17721 moveto
+34050 17579 lineto
+stroke
+newpath
+33978 17721 moveto
+33978 17421 lineto
+34093 17421 lineto
+34121 17436 lineto
+34136 17450 lineto
+34150 17479 lineto
+34150 17521 lineto
+34136 17550 lineto
+34121 17564 lineto
+34093 17579 lineto
+33978 17579 lineto
+stroke
+newpath
+34250 17421 moveto
+34450 17421 lineto
+34321 17721 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+34150 18921 moveto
+34050 18779 lineto
+stroke
+newpath
+33978 18921 moveto
+33978 18621 lineto
+34093 18621 lineto
+34121 18636 lineto
+34136 18650 lineto
+34150 18679 lineto
+34150 18721 lineto
+34136 18750 lineto
+34121 18764 lineto
+34093 18779 lineto
+33978 18779 lineto
+stroke
+newpath
+34407 18621 moveto
+34350 18621 lineto
+34321 18636 lineto
+34307 18650 lineto
+34278 18693 lineto
+34264 18750 lineto
+34264 18864 lineto
+34278 18893 lineto
+34293 18907 lineto
+34321 18921 lineto
+34378 18921 lineto
+34407 18907 lineto
+34421 18893 lineto
+34436 18864 lineto
+34436 18793 lineto
+34421 18764 lineto
+34407 18750 lineto
+34378 18736 lineto
+34321 18736 lineto
+34293 18750 lineto
+34278 18764 lineto
+34264 18793 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+35131 20580 moveto
+34989 20680 lineto
+stroke
+newpath
+35131 20752 moveto
+34831 20752 lineto
+34831 20637 lineto
+34846 20609 lineto
+34860 20594 lineto
+34889 20580 lineto
+34931 20580 lineto
+34960 20594 lineto
+34974 20609 lineto
+34989 20637 lineto
+34989 20752 lineto
+stroke
+newpath
+34831 20309 moveto
+34831 20452 lineto
+34974 20466 lineto
+34960 20452 lineto
+34946 20423 lineto
+34946 20352 lineto
+34960 20323 lineto
+34974 20309 lineto
+35003 20294 lineto
+35074 20294 lineto
+35103 20309 lineto
+35117 20323 lineto
+35131 20352 lineto
+35131 20423 lineto
+35117 20452 lineto
+35103 20466 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+22350 26321 moveto
+22250 26179 lineto
+stroke
+newpath
+22178 26321 moveto
+22178 26021 lineto
+22293 26021 lineto
+22321 26036 lineto
+22336 26050 lineto
+22350 26079 lineto
+22350 26121 lineto
+22336 26150 lineto
+22321 26164 lineto
+22293 26179 lineto
+22178 26179 lineto
+stroke
+newpath
+22607 26121 moveto
+22607 26321 lineto
+stroke
+newpath
+22536 26007 moveto
+22464 26221 lineto
+22650 26221 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+22521 17050 moveto
+22379 17150 lineto
+stroke
+newpath
+22521 17222 moveto
+22221 17222 lineto
+22221 17107 lineto
+22236 17079 lineto
+22250 17064 lineto
+22279 17050 lineto
+22321 17050 lineto
+22350 17064 lineto
+22364 17079 lineto
+22379 17107 lineto
+22379 17222 lineto
+stroke
+newpath
+22221 16950 moveto
+22221 16764 lineto
+22336 16864 lineto
+22336 16822 lineto
+22350 16793 lineto
+22364 16779 lineto
+22393 16764 lineto
+22464 16764 lineto
+22493 16779 lineto
+22507 16793 lineto
+22521 16822 lineto
+22521 16907 lineto
+22507 16936 lineto
+22493 16950 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+21321 17050 moveto
+21179 17150 lineto
+stroke
+newpath
+21321 17222 moveto
+21021 17222 lineto
+21021 17107 lineto
+21036 17079 lineto
+21050 17064 lineto
+21079 17050 lineto
+21121 17050 lineto
+21150 17064 lineto
+21164 17079 lineto
+21179 17107 lineto
+21179 17222 lineto
+stroke
+newpath
+21050 16936 moveto
+21036 16922 lineto
+21021 16893 lineto
+21021 16822 lineto
+21036 16793 lineto
+21050 16779 lineto
+21079 16764 lineto
+21107 16764 lineto
+21150 16779 lineto
+21321 16950 lineto
+21321 16764 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+36550 17693 moveto
+36536 17707 lineto
+36493 17721 lineto
+36464 17721 lineto
+36421 17707 lineto
+36393 17679 lineto
+36378 17650 lineto
+36364 17593 lineto
+36364 17550 lineto
+36378 17493 lineto
+36393 17464 lineto
+36421 17436 lineto
+36464 17421 lineto
+36493 17421 lineto
+36536 17436 lineto
+36550 17450 lineto
+stroke
+newpath
+36650 17421 moveto
+36850 17421 lineto
+36721 17721 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+40150 24893 moveto
+40136 24907 lineto
+40093 24921 lineto
+40064 24921 lineto
+40021 24907 lineto
+39993 24879 lineto
+39978 24850 lineto
+39964 24793 lineto
+39964 24750 lineto
+39978 24693 lineto
+39993 24664 lineto
+40021 24636 lineto
+40064 24621 lineto
+40093 24621 lineto
+40136 24636 lineto
+40150 24650 lineto
+stroke
+newpath
+40407 24621 moveto
+40350 24621 lineto
+40321 24636 lineto
+40307 24650 lineto
+40278 24693 lineto
+40264 24750 lineto
+40264 24864 lineto
+40278 24893 lineto
+40293 24907 lineto
+40321 24921 lineto
+40378 24921 lineto
+40407 24907 lineto
+40421 24893 lineto
+40436 24864 lineto
+40436 24793 lineto
+40421 24764 lineto
+40407 24750 lineto
+40378 24736 lineto
+40321 24736 lineto
+40293 24750 lineto
+40278 24764 lineto
+40264 24793 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+40150 26493 moveto
+40136 26507 lineto
+40093 26521 lineto
+40064 26521 lineto
+40021 26507 lineto
+39993 26479 lineto
+39978 26450 lineto
+39964 26393 lineto
+39964 26350 lineto
+39978 26293 lineto
+39993 26264 lineto
+40021 26236 lineto
+40064 26221 lineto
+40093 26221 lineto
+40136 26236 lineto
+40150 26250 lineto
+stroke
+newpath
+40421 26221 moveto
+40278 26221 lineto
+40264 26364 lineto
+40278 26350 lineto
+40307 26336 lineto
+40378 26336 lineto
+40407 26350 lineto
+40421 26364 lineto
+40436 26393 lineto
+40436 26464 lineto
+40421 26493 lineto
+40407 26507 lineto
+40378 26521 lineto
+40307 26521 lineto
+40278 26507 lineto
+40264 26493 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+36750 26493 moveto
+36736 26507 lineto
+36693 26521 lineto
+36664 26521 lineto
+36621 26507 lineto
+36593 26479 lineto
+36578 26450 lineto
+36564 26393 lineto
+36564 26350 lineto
+36578 26293 lineto
+36593 26264 lineto
+36621 26236 lineto
+36664 26221 lineto
+36693 26221 lineto
+36736 26236 lineto
+36750 26250 lineto
+stroke
+newpath
+37007 26321 moveto
+37007 26521 lineto
+stroke
+newpath
+36936 26207 moveto
+36864 26421 lineto
+37050 26421 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+36750 24893 moveto
+36736 24907 lineto
+36693 24921 lineto
+36664 24921 lineto
+36621 24907 lineto
+36593 24879 lineto
+36578 24850 lineto
+36564 24793 lineto
+36564 24750 lineto
+36578 24693 lineto
+36593 24664 lineto
+36621 24636 lineto
+36664 24621 lineto
+36693 24621 lineto
+36736 24636 lineto
+36750 24650 lineto
+stroke
+newpath
+36850 24621 moveto
+37036 24621 lineto
+36936 24736 lineto
+36978 24736 lineto
+37007 24750 lineto
+37021 24764 lineto
+37036 24793 lineto
+37036 24864 lineto
+37021 24893 lineto
+37007 24907 lineto
+36978 24921 lineto
+36893 24921 lineto
+36864 24907 lineto
+36850 24893 lineto
+stroke
+60 setlinewidth
+0 0 0 setrgbcolor
+newpath
+31482 27343 moveto
+31846 27343 lineto
+31889 27321 lineto
+31911 27300 lineto
+31932 27257 lineto
+31932 27171 lineto
+31911 27129 lineto
+31889 27107 lineto
+31846 27086 lineto
+31482 27086 lineto
+stroke
+newpath
+31525 26893 moveto
+31504 26872 lineto
+31482 26829 lineto
+31482 26722 lineto
+31504 26679 lineto
+31525 26658 lineto
+31568 26636 lineto
+31611 26636 lineto
+31675 26658 lineto
+31932 26915 lineto
+31932 26636 lineto
+stroke
+58 setlinewidth
+0 0 0 setrgbcolor
+newpath
+31142 27424 moveto
+31142 27591 lineto
+30792 27591 lineto
+stroke
+newpath
+31142 27308 moveto
+30792 27308 lineto
+31042 27191 lineto
+30792 27074 lineto
+31142 27074 lineto
+stroke
+newpath
+30792 26941 moveto
+30792 26708 lineto
+31142 26858 lineto
+stroke
+newpath
+30792 26408 moveto
+30792 26575 lineto
+30958 26591 lineto
+30942 26575 lineto
+30925 26541 lineto
+30925 26458 lineto
+30942 26425 lineto
+30958 26408 lineto
+30992 26391 lineto
+31075 26391 lineto
+31108 26408 lineto
+31125 26425 lineto
+31142 26458 lineto
+31142 26541 lineto
+31125 26575 lineto
+31108 26591 lineto
+stroke
+67 setlinewidth
+0 0 0 setrgbcolor
+newpath
+24002 22505 moveto
+24407 22505 lineto
+24455 22486 lineto
+24479 22467 lineto
+24502 22429 lineto
+24502 22352 lineto
+24479 22314 lineto
+24455 22295 lineto
+24407 22276 lineto
+24002 22276 lineto
+stroke
+newpath
+24502 21876 moveto
+24502 22105 lineto
+stroke
+newpath
+24502 21991 moveto
+24002 21991 lineto
+24074 22029 lineto
+24121 22067 lineto
+24145 22105 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+25610 24000 moveto
+25610 23809 lineto
+stroke
+newpath
+25752 24038 moveto
+25252 23905 lineto
+25752 23771 lineto
+stroke
+newpath
+25252 23695 moveto
+25252 23466 lineto
+stroke
+newpath
+25752 23581 moveto
+25252 23581 lineto
+stroke
+newpath
+25752 23314 moveto
+25752 23238 lineto
+25729 23199 lineto
+25705 23180 lineto
+25633 23142 lineto
+25538 23123 lineto
+25348 23123 lineto
+25300 23142 lineto
+25276 23161 lineto
+25252 23199 lineto
+25252 23276 lineto
+25276 23314 lineto
+25300 23333 lineto
+25348 23352 lineto
+25467 23352 lineto
+25514 23333 lineto
+25538 23314 lineto
+25562 23276 lineto
+25562 23199 lineto
+25538 23161 lineto
+25514 23142 lineto
+25467 23123 lineto
+stroke
+newpath
+25252 22876 moveto
+25252 22837 lineto
+25276 22799 lineto
+25300 22780 lineto
+25348 22761 lineto
+25443 22742 lineto
+25562 22742 lineto
+25657 22761 lineto
+25705 22780 lineto
+25729 22799 lineto
+25752 22837 lineto
+25752 22876 lineto
+25729 22914 lineto
+25705 22933 lineto
+25657 22952 lineto
+25562 22971 lineto
+25443 22971 lineto
+25348 22952 lineto
+25300 22933 lineto
+25276 22914 lineto
+25252 22876 lineto
+stroke
+newpath
+25252 22571 moveto
+25657 22571 lineto
+25705 22552 lineto
+25729 22533 lineto
+25752 22495 lineto
+25752 22418 lineto
+25729 22380 lineto
+25705 22361 lineto
+25657 22342 lineto
+25252 22342 lineto
+stroke
+newpath
+25729 22171 moveto
+25752 22114 lineto
+25752 22018 lineto
+25729 21980 lineto
+25705 21961 lineto
+25657 21942 lineto
+25610 21942 lineto
+25562 21961 lineto
+25538 21980 lineto
+25514 22018 lineto
+25490 22095 lineto
+25467 22133 lineto
+25443 22152 lineto
+25395 22171 lineto
+25348 22171 lineto
+25300 22152 lineto
+25276 22133 lineto
+25252 22095 lineto
+25252 21999 lineto
+25276 21942 lineto
+stroke
+newpath
+25490 21637 moveto
+25514 21580 lineto
+25538 21561 lineto
+25586 21542 lineto
+25657 21542 lineto
+25705 21561 lineto
+25729 21580 lineto
+25752 21618 lineto
+25752 21771 lineto
+25252 21771 lineto
+25252 21637 lineto
+25276 21599 lineto
+25300 21580 lineto
+25348 21561 lineto
+25395 21561 lineto
+25443 21580 lineto
+25467 21599 lineto
+25490 21637 lineto
+25490 21771 lineto
+stroke
+newpath
+25752 21161 moveto
+25752 21390 lineto
+stroke
+newpath
+25752 21276 moveto
+25252 21276 lineto
+25324 21314 lineto
+25371 21352 lineto
+25395 21390 lineto
+stroke
+newpath
+25252 20818 moveto
+25252 20895 lineto
+25276 20933 lineto
+25300 20952 lineto
+25371 20990 lineto
+25467 21009 lineto
+25657 21009 lineto
+25705 20990 lineto
+25729 20971 lineto
+25752 20933 lineto
+25752 20856 lineto
+25729 20818 lineto
+25705 20799 lineto
+25657 20780 lineto
+25538 20780 lineto
+25490 20799 lineto
+25467 20818 lineto
+25443 20856 lineto
+25443 20933 lineto
+25467 20971 lineto
+25490 20990 lineto
+25538 21009 lineto
+stroke
+newpath
+25300 20628 moveto
+25276 20609 lineto
+25252 20571 lineto
+25252 20475 lineto
+25276 20437 lineto
+25300 20418 lineto
+25348 20399 lineto
+25395 20399 lineto
+25467 20418 lineto
+25752 20647 lineto
+25752 20399 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+33462 22695 moveto
+33062 22695 lineto
+33062 22542 lineto
+33081 22504 lineto
+33100 22485 lineto
+33138 22466 lineto
+33195 22466 lineto
+33233 22485 lineto
+33252 22504 lineto
+33271 22542 lineto
+33271 22695 lineto
+stroke
+newpath
+33100 22314 moveto
+33081 22295 lineto
+33062 22257 lineto
+33062 22161 lineto
+33081 22123 lineto
+33100 22104 lineto
+33138 22085 lineto
+33176 22085 lineto
+33233 22104 lineto
+33462 22333 lineto
+33462 22085 lineto
+stroke
+50 setlinewidth
+0 0 0 setrgbcolor
+newpath
+22350 27893 moveto
+22336 27907 lineto
+22293 27921 lineto
+22264 27921 lineto
+22221 27907 lineto
+22193 27879 lineto
+22178 27850 lineto
+22164 27793 lineto
+22164 27750 lineto
+22178 27693 lineto
+22193 27664 lineto
+22221 27636 lineto
+22264 27621 lineto
+22293 27621 lineto
+22336 27636 lineto
+22350 27650 lineto
+stroke
+newpath
+22636 27921 moveto
+22464 27921 lineto
+stroke
+newpath
+22550 27921 moveto
+22550 27621 lineto
+22521 27664 lineto
+22493 27693 lineto
+22464 27707 lineto
+stroke
+67 setlinewidth
+0 0 0 setrgbcolor
+newpath
+29812 15505 moveto
+30136 15505 lineto
+30174 15486 lineto
+30193 15467 lineto
+30212 15429 lineto
+30212 15352 lineto
+30193 15314 lineto
+30174 15295 lineto
+30136 15276 lineto
+29812 15276 lineto
+stroke
+newpath
+29812 15124 moveto
+29812 14876 lineto
+29964 15010 lineto
+29964 14952 lineto
+29983 14914 lineto
+30002 14895 lineto
+30040 14876 lineto
+30136 14876 lineto
+30174 14895 lineto
+30193 14914 lineto
+30212 14952 lineto
+30212 15067 lineto
+30193 15105 lineto
+30174 15124 lineto
+stroke
+0 0 0 setrgbcolor
+newpath
+28312 15981 moveto
+28312 15752 lineto
+stroke
+newpath
+28712 15867 moveto
+28312 15867 lineto
+stroke
+newpath
+28712 15390 moveto
+28521 15524 lineto
+stroke
+newpath
+28712 15619 moveto
+28312 15619 lineto
+28312 15466 lineto
+28331 15428 lineto
+28350 15409 lineto
+28388 15390 lineto
+28445 15390 lineto
+28483 15409 lineto
+28502 15428 lineto
+28521 15466 lineto
+28521 15619 lineto
+stroke
+newpath
+28712 15219 moveto
+28312 15219 lineto
+stroke
+newpath
+28598 15048 moveto
+28598 14857 lineto
+stroke
+newpath
+28712 15086 moveto
+28312 14953 lineto
+28712 14819 lineto
+stroke
+newpath
+28674 14457 moveto
+28693 14476 lineto
+28712 14533 lineto
+28712 14571 lineto
+28693 14629 lineto
+28655 14667 lineto
+28617 14686 lineto
+28540 14705 lineto
+28483 14705 lineto
+28407 14686 lineto
+28369 14667 lineto
+28331 14629 lineto
+28312 14571 lineto
+28312 14533 lineto
+28331 14476 lineto
+28350 14457 lineto
+stroke
+showpage
+grestore
+%%EOF
diff --git a/circuit/fridge-lock-SilkS_Front.svg b/circuit/fridge-lock-SilkS_Front.svg
new file mode 100644
index 0000000..75eca92
--- /dev/null
+++ b/circuit/fridge-lock-SilkS_Front.svg
@@ -0,0 +1,1762 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="27cm" height="19cm" viewBox="0 0 117000 82670 "
+>
+ <title>SVG Picture created as fridge-lock-SilkS_Front.svg </title>
+ <desc>Picture generated by wxSVG v0101 </desc>
+ <g style="fill:black; stroke:black; stroke-width:1">
+</g>
+<g style="fill:#000000; fill-opacity:0.0;
+ stroke:#FFFF00; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:150"
+ transform="translate(0 0) scale(1 1)">
+<path d="M26772 43307 L46457 43307" />
+<path d="M26772 23622 L46457 23622" />
+<path d="M46457 23622 L46457 43307" />
+<path d="M26772 23622 L26772 43307" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="39280" cy="26929" rx="354" ry="354" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="38280" cy="26929" rx="354" ry="354" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38678 27829 L38682 27829" />
+<path d="M38680 27827 L38680 27831" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38614 27953 L38595 27972" />
+<path d="M38595 27972 L38538 27991" />
+<path d="M38538 27991 L38500 27991" />
+<path d="M38500 27991 L38442 27972" />
+<path d="M38442 27972 L38404 27934" />
+<path d="M38404 27934 L38385 27896" />
+<path d="M38385 27896 L38366 27819" />
+<path d="M38366 27819 L38366 27762" />
+<path d="M38366 27762 L38385 27686" />
+<path d="M38385 27686 L38404 27648" />
+<path d="M38404 27648 L38442 27610" />
+<path d="M38442 27610 L38500 27591" />
+<path d="M38500 27591 L38538 27591" />
+<path d="M38538 27591 L38595 27610" />
+<path d="M38595 27610 L38614 27629" />
+<g style = "stroke-linecap:round;" >
+<path d="M38614 27629 L38614 27629" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38995 27991 L38766 27991" />
+<g style = "stroke-linecap:round;" >
+<path d="M38766 27991 L38766 27991" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38880 27991 L38880 27591" />
+<path d="M38880 27591 L38842 27648" />
+<path d="M38842 27648 L38804 27686" />
+<path d="M38804 27686 L38766 27705" />
+<g style = "stroke-linecap:round;" >
+<path d="M38766 27705 L38766 27705" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37780 27429 L39760 27429" />
+<path d="M37780 27429 L37780 26429" />
+<path d="M37780 26429 L39780 26429" />
+<path d="M39780 26429 L39780 27429" />
+<path d="M39530 27429 L39780 27179" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31663 32858 L31667 32858" />
+<path d="M31665 32856 L31665 32860" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31367 33263 L31867 32929" />
+<g style = "stroke-linecap:round;" >
+<path d="M31867 32929 L31867 32929" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31367 32929 L31867 33263" />
+<g style = "stroke-linecap:round;" >
+<path d="M31867 33263 L31867 33263" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31867 32477 L31867 32763" />
+<g style = "stroke-linecap:round;" >
+<path d="M31867 32763 L31867 32763" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31867 32620 L31367 32620" />
+<path d="M31367 32620 L31439 32668" />
+<path d="M31439 32668 L31486 32715" />
+<path d="M31486 32715 L31510 32763" />
+<g style = "stroke-linecap:round;" >
+<path d="M31510 32763 L31510 32763" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28913 33108 L28917 33108" />
+<path d="M28915 33106 L28915 33110" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29070 34263 L29094 34287" />
+<path d="M29094 34287 L29117 34358" />
+<path d="M29117 34358 L29117 34406" />
+<path d="M29117 34406 L29094 34478" />
+<path d="M29094 34478 L29046 34525" />
+<path d="M29046 34525 L28998 34549" />
+<path d="M28998 34549 L28903 34573" />
+<path d="M28903 34573 L28832 34573" />
+<path d="M28832 34573 L28736 34549" />
+<path d="M28736 34549 L28689 34525" />
+<path d="M28689 34525 L28641 34478" />
+<path d="M28641 34478 L28617 34406" />
+<path d="M28617 34406 L28617 34358" />
+<path d="M28617 34358 L28641 34287" />
+<path d="M28641 34287 L28665 34263" />
+<g style = "stroke-linecap:round;" >
+<path d="M28665 34263 L28665 34263" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29117 33763 L28879 33930" />
+<g style = "stroke-linecap:round;" >
+<path d="M28879 33930 L28879 33930" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29117 34049 L28617 34049" />
+<path d="M28617 34049 L28617 33858" />
+<path d="M28617 33858 L28641 33811" />
+<path d="M28641 33811 L28665 33787" />
+<path d="M28665 33787 L28713 33763" />
+<path d="M28713 33763 L28784 33763" />
+<path d="M28784 33763 L28832 33787" />
+<path d="M28832 33787 L28855 33811" />
+<path d="M28855 33811 L28879 33858" />
+<path d="M28879 33858 L28879 34049" />
+<g style = "stroke-linecap:round;" >
+<path d="M28879 34049 L28879 34049" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28879 33454 L29117 33454" />
+<g style = "stroke-linecap:round;" >
+<path d="M29117 33454 L29117 33454" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28617 33620 L28879 33454" />
+<path d="M28879 33454 L28617 33287" />
+<g style = "stroke-linecap:round;" >
+<path d="M28617 33287 L28617 33287" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29094 33144 L29117 33072" />
+<path d="M29117 33072 L29117 32953" />
+<path d="M29117 32953 L29094 32906" />
+<path d="M29094 32906 L29070 32882" />
+<path d="M29070 32882 L29022 32858" />
+<path d="M29022 32858 L28975 32858" />
+<path d="M28975 32858 L28927 32882" />
+<path d="M28927 32882 L28903 32906" />
+<path d="M28903 32906 L28879 32953" />
+<path d="M28879 32953 L28855 33049" />
+<path d="M28855 33049 L28832 33096" />
+<path d="M28832 33096 L28808 33120" />
+<path d="M28808 33120 L28760 33144" />
+<path d="M28760 33144 L28713 33144" />
+<path d="M28713 33144 L28665 33120" />
+<path d="M28665 33120 L28641 33096" />
+<path d="M28641 33096 L28617 33049" />
+<path d="M28617 33049 L28617 32929" />
+<path d="M28617 32929 L28641 32858" />
+<g style = "stroke-linecap:round;" >
+<path d="M28641 32858 L28641 32858" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28617 32715 L28617 32430" />
+<g style = "stroke-linecap:round;" >
+<path d="M28617 32430 L28617 32430" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29117 32573 L28617 32573" />
+<g style = "stroke-linecap:round;" >
+<path d="M28617 32573 L28617 32573" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28975 32287 L28975 32049" />
+<g style = "stroke-linecap:round;" >
+<path d="M28975 32049 L28975 32049" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29117 32334 L28617 32168" />
+<path d="M28617 32168 L29117 32001" />
+<g style = "stroke-linecap:round;" >
+<path d="M29117 32001 L29117 32001" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29117 31596 L29117 31834" />
+<path d="M29117 31834 L28617 31834" />
+<g style = "stroke-linecap:round;" >
+<path d="M28617 31834 L28617 31834" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:26"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29115 31258 L29115 36458" />
+<path d="M29115 36458 L31515 36458" />
+<path d="M31515 31258 L31515 36458" />
+<path d="M29115 31258 L31515 31258" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30765 31608 L31165 31608" />
+<path d="M30765 36108 L31165 36108" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29815 35208 L29815 32508" />
+<path d="M29515 35208 L29515 32508" />
+<path d="M30815 32508 L30815 35208" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29365 36008 L29365 31708" />
+<path d="M30165 36108 L30165 36408" />
+<path d="M30465 36108 L30465 36408" />
+<path d="M30165 36408 L30465 36408" />
+<path d="M29865 36108 L30765 36108" />
+<path d="M29465 36108 L29865 36108" />
+<path d="M30165 31308 L30465 31308" />
+<path d="M29865 31608 L30165 31608" />
+<path d="M30165 31608 L30465 31608" />
+<path d="M30465 31608 L30765 31608" />
+<path d="M29465 31608 L29865 31608" />
+<path d="M30165 31608 L30165 31308" />
+<path d="M30465 31608 L30465 31308" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31115 32508 L31115 35208" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31265 36008 L31265 31708" />
+<path d="M30065 33758 L30565 33758" />
+<path d="M30065 33758 L30065 33958" />
+<path d="M30065 33958 L30565 33958" />
+<path d="M30565 33958 L30565 33758" />
+<path d="M30315 33608 L30565 33608" />
+<path d="M30065 33608 L30315 33608" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30315 33608 L30315 33458" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30315 34108 L30565 34108" />
+<path d="M30065 34108 L30315 34108" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30315 34108 L30315 34258" />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31115 32508 A8e+02 8e+02 0 0 0 30765 31847 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30766 35869 A8e+02 8e+02 0 0 0 31115 35208 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29365 36008 A1e+02 1e+02 0 0 0 29465 36108 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29816 35207 A5e+02 5e+02 0 0 0 29865 35424 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30765 35426 A5e+02 5e+02 0 0 0 30815 35208 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29516 35210 A8e+02 8e+02 0 0 0 29867 35869 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29867 35427 A5e+02 5e+02 0 0 0 30765 35424 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29866 35869 A8e+02 8e+02 0 0 0 30764 35869 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29864 31847 A8e+02 8e+02 0 0 0 29515 32508 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30763 32289 A5e+02 5e+02 0 0 0 29865 32292 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29865 32290 A5e+02 5e+02 0 0 0 29815 32508 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30814 32509 A5e+02 5e+02 0 0 0 30765 32292 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30764 31847 A8e+02 8e+02 0 0 0 29866 31847 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29465 31608 A1e+02 1e+02 0 0 0 29365 31708 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31165 36108 A1e+02 1e+02 0 0 0 31265 36008 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31265 31708 A1e+02 1e+02 0 0 0 31165 31608 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33986 43504 L33990 43504" />
+<path d="M33988 43502 L33988 43506" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:39"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33824 43595 L34021 43595" />
+<path d="M34021 43595 L34060 43609" />
+<path d="M34060 43609 L34087 43635" />
+<path d="M34087 43635 L34100 43674" />
+<path d="M34100 43674 L34100 43701" />
+<g style = "stroke-linecap:round;" >
+<path d="M34100 43701 L34100 43701" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:39"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34100 43320 L34100 43477" />
+<g style = "stroke-linecap:round;" >
+<path d="M34100 43477 L34100 43477" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:39"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34100 43399 L33824 43399" />
+<path d="M33824 43399 L33863 43425" />
+<path d="M33863 43425 L33889 43451" />
+<path d="M33889 43451 L33903 43477" />
+<g style = "stroke-linecap:round;" >
+<path d="M33903 43477 L33903 43477" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35159 44964 L35163 44964" />
+<path d="M35161 44962 L35161 44966" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:79"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34973 45361 L35228 45361" />
+<path d="M35228 45361 L35258 45346" />
+<path d="M35258 45346 L35273 45331" />
+<path d="M35273 45331 L35288 45301" />
+<path d="M35288 45301 L35288 45241" />
+<path d="M35288 45241 L35273 45211" />
+<path d="M35273 45211 L35258 45196" />
+<path d="M35258 45196 L35228 45181" />
+<path d="M35228 45181 L34973 45181" />
+<g style = "stroke-linecap:round;" >
+<path d="M34973 45181 L34973 45181" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:79"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35273 45046 L35288 45001" />
+<path d="M35288 45001 L35288 44926" />
+<path d="M35288 44926 L35273 44896" />
+<path d="M35273 44896 L35258 44881" />
+<path d="M35258 44881 L35228 44866" />
+<path d="M35228 44866 L35198 44866" />
+<path d="M35198 44866 L35168 44881" />
+<path d="M35168 44881 L35153 44896" />
+<path d="M35153 44896 L35138 44926" />
+<path d="M35138 44926 L35123 44986" />
+<path d="M35123 44986 L35108 45016" />
+<path d="M35108 45016 L35093 45031" />
+<path d="M35093 45031 L35063 45046" />
+<path d="M35063 45046 L35033 45046" />
+<path d="M35033 45046 L35003 45031" />
+<path d="M35003 45031 L34988 45016" />
+<path d="M34988 45016 L34973 44986" />
+<path d="M34973 44986 L34973 44911" />
+<path d="M34973 44911 L34988 44866" />
+<g style = "stroke-linecap:round;" >
+<path d="M34988 44866 L34988 44866" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:79"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35123 44626 L35138 44581" />
+<path d="M35138 44581 L35153 44566" />
+<path d="M35153 44566 L35183 44551" />
+<path d="M35183 44551 L35228 44551" />
+<path d="M35228 44551 L35258 44566" />
+<path d="M35258 44566 L35273 44581" />
+<path d="M35273 44581 L35288 44611" />
+<path d="M35288 44611 L35288 44731" />
+<path d="M35288 44731 L34973 44731" />
+<path d="M34973 44731 L34973 44626" />
+<path d="M34973 44626 L34988 44596" />
+<path d="M34988 44596 L35003 44581" />
+<path d="M35003 44581 L35033 44566" />
+<path d="M35033 44566 L35063 44566" />
+<path d="M35063 44566 L35093 44581" />
+<path d="M35093 44581 L35108 44596" />
+<path d="M35108 44596 L35123 44626" />
+<path d="M35123 44626 L35123 44731" />
+<g style = "stroke-linecap:round;" >
+<path d="M35123 44731 L35123 44731" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40051 43185 L40193 43185" />
+<path d="M36496 43185 L36634 43185" />
+<path d="M36642 43448 L40059 43448" />
+<path d="M36642 43185 L40035 43185" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29488 27232 L28780 27232" />
+<path d="M28780 27232 L28780 26524" />
+<path d="M28780 26524 L29488 26524" />
+<path d="M29488 27232 L29488 26524" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="29134" cy="25878" rx="354" ry="354" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28382 26378 L28386 26378" />
+<path d="M28384 26376 L28384 26380" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28505 26600 L28205 26600" />
+<path d="M28205 26600 L28205 26485" />
+<path d="M28205 26485 L28220 26457" />
+<path d="M28220 26457 L28234 26442" />
+<path d="M28234 26442 L28263 26428" />
+<path d="M28263 26428 L28305 26428" />
+<path d="M28305 26428 L28334 26442" />
+<path d="M28334 26442 L28348 26457" />
+<path d="M28348 26457 L28363 26485" />
+<path d="M28363 26485 L28363 26600" />
+<g style = "stroke-linecap:round;" >
+<path d="M28363 26600 L28363 26600" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28205 26157 L28205 26300" />
+<path d="M28205 26300 L28348 26314" />
+<path d="M28348 26314 L28334 26300" />
+<path d="M28334 26300 L28320 26271" />
+<path d="M28320 26271 L28320 26200" />
+<path d="M28320 26200 L28334 26171" />
+<path d="M28334 26171 L28348 26157" />
+<path d="M28348 26157 L28377 26142" />
+<path d="M28377 26142 L28448 26142" />
+<path d="M28448 26142 L28477 26157" />
+<path d="M28477 26157 L28491 26171" />
+<path d="M28491 26171 L28505 26200" />
+<path d="M28505 26200 L28505 26271" />
+<path d="M28505 26271 L28491 26300" />
+<path d="M28491 26300 L28477 26314" />
+<g style = "stroke-linecap:round;" >
+<path d="M28477 26314 L28477 26314" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28634 27378 L29634 27378" />
+<path d="M28634 27378 L28634 25378" />
+<path d="M28634 25378 L29634 25378" />
+<path d="M29634 25378 L29634 27378" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31456 27232 L30748 27232" />
+<path d="M30748 27232 L30748 26524" />
+<path d="M30748 26524 L31456 26524" />
+<path d="M31456 27232 L31456 26524" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="31102" cy="25878" rx="354" ry="354" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30350 26378 L30354 26378" />
+<path d="M30352 26376 L30352 26380" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30473 26600 L30173 26600" />
+<path d="M30173 26600 L30173 26485" />
+<path d="M30173 26485 L30188 26457" />
+<path d="M30188 26457 L30202 26442" />
+<path d="M30202 26442 L30231 26428" />
+<path d="M30231 26428 L30273 26428" />
+<path d="M30273 26428 L30302 26442" />
+<path d="M30302 26442 L30316 26457" />
+<path d="M30316 26457 L30331 26485" />
+<path d="M30331 26485 L30331 26600" />
+<g style = "stroke-linecap:round;" >
+<path d="M30331 26600 L30331 26600" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30273 26171 L30473 26171" />
+<g style = "stroke-linecap:round;" >
+<path d="M30473 26171 L30473 26171" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30159 26242 L30373 26314" />
+<path d="M30373 26314 L30373 26128" />
+<g style = "stroke-linecap:round;" >
+<path d="M30373 26128 L30373 26128" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30602 27378 L31602 27378" />
+<path d="M30602 27378 L30602 25378" />
+<path d="M30602 25378 L31602 25378" />
+<path d="M31602 25378 L31602 27378" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M42166 37729 L42874 37729" />
+<path d="M42874 37729 L42874 38437" />
+<path d="M42874 38437 L42166 38437" />
+<path d="M42166 37729 L42166 38437" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="42520" cy="39083" rx="354" ry="354" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43268 38583 L43272 38583" />
+<path d="M43270 38581 L43270 38585" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43391 38805 L43091 38805" />
+<path d="M43091 38805 L43091 38690" />
+<path d="M43091 38690 L43106 38662" />
+<path d="M43106 38662 L43120 38647" />
+<path d="M43120 38647 L43149 38633" />
+<path d="M43149 38633 L43191 38633" />
+<path d="M43191 38633 L43220 38647" />
+<path d="M43220 38647 L43234 38662" />
+<path d="M43234 38662 L43249 38690" />
+<path d="M43249 38690 L43249 38805" />
+<g style = "stroke-linecap:round;" >
+<path d="M43249 38805 L43249 38805" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43391 38347 L43391 38519" />
+<g style = "stroke-linecap:round;" >
+<path d="M43391 38519 L43391 38519" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43391 38433 L43091 38433" />
+<path d="M43091 38433 L43134 38462" />
+<path d="M43134 38462 L43163 38490" />
+<path d="M43163 38490 L43177 38519" />
+<g style = "stroke-linecap:round;" >
+<path d="M43177 38519 L43177 38519" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M42020 37583 L43020 37583" />
+<path d="M43020 37583 L43020 39583" />
+<path d="M42020 39583 L43020 39583" />
+<path d="M42020 39583 L42020 37583" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34319 32063 L33611 32063" />
+<path d="M33611 32063 L33611 31355" />
+<path d="M33611 31355 L34319 31355" />
+<path d="M34319 32063 L34319 31355" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="32965" cy="31709" rx="354" ry="354" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="33965" cy="30709" rx="354" ry="354" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="32965" cy="30709" rx="354" ry="354" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="33965" cy="29709" rx="354" ry="354" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="32965" cy="29709" rx="354" ry="354" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31963 30709 L31967 30709" />
+<path d="M31965 30707 L31965 30711" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32127 31004 L31727 31004" />
+<path d="M31727 31004 L31727 30851" />
+<path d="M31727 30851 L31746 30813" />
+<path d="M31746 30813 L31765 30794" />
+<path d="M31765 30794 L31803 30775" />
+<path d="M31803 30775 L31860 30775" />
+<path d="M31860 30775 L31898 30794" />
+<path d="M31898 30794 L31917 30813" />
+<path d="M31917 30813 L31936 30851" />
+<path d="M31936 30851 L31936 31004" />
+<g style = "stroke-linecap:round;" >
+<path d="M31936 31004 L31936 31004" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31727 30642 L31727 30394" />
+<path d="M31727 30394 L31879 30528" />
+<path d="M31879 30528 L31879 30470" />
+<path d="M31879 30470 L31898 30432" />
+<path d="M31898 30432 L31917 30413" />
+<path d="M31917 30413 L31955 30394" />
+<path d="M31955 30394 L32051 30394" />
+<path d="M32051 30394 L32089 30413" />
+<path d="M32089 30413 L32108 30432" />
+<path d="M32108 30432 L32127 30470" />
+<path d="M32127 30470 L32127 30585" />
+<path d="M32127 30585 L32108 30623" />
+<path d="M32108 30623 L32089 30642" />
+<g style = "stroke-linecap:round;" >
+<path d="M32089 30642 L32089 30642" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34465 29209 L34465 32209" />
+<path d="M32465 32209 L32465 29209" />
+<path d="M32465 29209 L34465 29209" />
+<path d="M32465 32209 L34465 32209" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M41730 29921 L41734 29921" />
+<path d="M41732 29919 L41732 29923" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M41853 29971 L41711 30071" />
+<g style = "stroke-linecap:round;" >
+<path d="M41711 30071 L41711 30071" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M41853 30143 L41553 30143" />
+<path d="M41553 30143 L41553 30028" />
+<path d="M41553 30028 L41568 30000" />
+<path d="M41568 30000 L41582 29985" />
+<path d="M41582 29985 L41611 29971" />
+<path d="M41611 29971 L41653 29971" />
+<path d="M41653 29971 L41682 29985" />
+<path d="M41682 29985 L41696 30000" />
+<path d="M41696 30000 L41711 30028" />
+<path d="M41711 30028 L41711 30143" />
+<g style = "stroke-linecap:round;" >
+<path d="M41711 30143 L41711 30143" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M41553 29700 L41553 29843" />
+<path d="M41553 29843 L41696 29857" />
+<path d="M41696 29857 L41682 29843" />
+<path d="M41682 29843 L41668 29814" />
+<path d="M41668 29814 L41668 29743" />
+<path d="M41668 29743 L41682 29714" />
+<path d="M41682 29714 L41696 29700" />
+<path d="M41696 29700 L41725 29685" />
+<path d="M41725 29685 L41796 29685" />
+<path d="M41796 29685 L41825 29700" />
+<path d="M41825 29700 L41839 29714" />
+<path d="M41839 29714 L41853 29743" />
+<path d="M41853 29743 L41853 29814" />
+<path d="M41853 29814 L41839 29843" />
+<path d="M41839 29843 L41825 29857" />
+<g style = "stroke-linecap:round;" >
+<path d="M41825 29857 L41825 29857" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M41282 28921 L42182 28921" />
+<path d="M41282 28921 L41282 29571" />
+<path d="M42182 30271 L42182 30921" />
+<path d="M41282 30921 L42182 30921" />
+<path d="M41282 30921 L41282 30271" />
+<path d="M42182 29571 L42182 28921" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44880 29921 L44884 29921" />
+<path d="M44882 29919 L44882 29923" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M45003 29971 L44861 30071" />
+<g style = "stroke-linecap:round;" >
+<path d="M44861 30071 L44861 30071" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M45003 30143 L44703 30143" />
+<path d="M44703 30143 L44703 30028" />
+<path d="M44703 30028 L44718 30000" />
+<path d="M44718 30000 L44732 29985" />
+<path d="M44732 29985 L44761 29971" />
+<path d="M44761 29971 L44803 29971" />
+<path d="M44803 29971 L44832 29985" />
+<path d="M44832 29985 L44846 30000" />
+<path d="M44846 30000 L44861 30028" />
+<path d="M44861 30028 L44861 30143" />
+<g style = "stroke-linecap:round;" >
+<path d="M44861 30143 L44861 30143" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44803 29714 L45003 29714" />
+<g style = "stroke-linecap:round;" >
+<path d="M45003 29714 L45003 29714" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44689 29785 L44903 29857" />
+<path d="M44903 29857 L44903 29671" />
+<g style = "stroke-linecap:round;" >
+<path d="M44903 29671 L44903 29671" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44432 28921 L45332 28921" />
+<path d="M44432 28921 L44432 29571" />
+<path d="M45332 30271 L45332 30921" />
+<path d="M44432 30921 L45332 30921" />
+<path d="M44432 30921 L44432 30271" />
+<path d="M45332 29571 L45332 28921" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35037 34646 L35041 34646" />
+<path d="M35039 34644 L35039 34648" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35160 34696 L35018 34796" />
+<g style = "stroke-linecap:round;" >
+<path d="M35018 34796 L35018 34796" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35160 34868 L34860 34868" />
+<path d="M34860 34868 L34860 34753" />
+<path d="M34860 34753 L34875 34725" />
+<path d="M34875 34725 L34889 34710" />
+<path d="M34889 34710 L34918 34696" />
+<path d="M34918 34696 L34960 34696" />
+<path d="M34960 34696 L34989 34710" />
+<path d="M34989 34710 L35003 34725" />
+<path d="M35003 34725 L35018 34753" />
+<path d="M35018 34753 L35018 34868" />
+<g style = "stroke-linecap:round;" >
+<path d="M35018 34868 L35018 34868" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34860 34596 L34860 34410" />
+<path d="M34860 34410 L34975 34510" />
+<path d="M34975 34510 L34975 34468" />
+<path d="M34975 34468 L34989 34439" />
+<path d="M34989 34439 L35003 34425" />
+<path d="M35003 34425 L35032 34410" />
+<path d="M35032 34410 L35103 34410" />
+<path d="M35103 34410 L35132 34425" />
+<path d="M35132 34425 L35146 34439" />
+<path d="M35146 34439 L35160 34468" />
+<path d="M35160 34468 L35160 34553" />
+<path d="M35160 34553 L35146 34582" />
+<path d="M35146 34582 L35132 34596" />
+<g style = "stroke-linecap:round;" >
+<path d="M35132 34596 L35132 34596" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34589 33646 L35489 33646" />
+<path d="M34589 33646 L34589 34296" />
+<path d="M35489 34996 L35489 35646" />
+<path d="M34589 35646 L35489 35646" />
+<path d="M34589 35646 L34589 34996" />
+<path d="M35489 34296 L35489 33646" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33463 34646 L33467 34646" />
+<path d="M33465 34644 L33465 34648" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33586 34696 L33444 34796" />
+<g style = "stroke-linecap:round;" >
+<path d="M33444 34796 L33444 34796" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33586 34868 L33286 34868" />
+<path d="M33286 34868 L33286 34753" />
+<path d="M33286 34753 L33301 34725" />
+<path d="M33301 34725 L33315 34710" />
+<path d="M33315 34710 L33344 34696" />
+<path d="M33344 34696 L33386 34696" />
+<path d="M33386 34696 L33415 34710" />
+<path d="M33415 34710 L33429 34725" />
+<path d="M33429 34725 L33444 34753" />
+<path d="M33444 34753 L33444 34868" />
+<g style = "stroke-linecap:round;" >
+<path d="M33444 34868 L33444 34868" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33315 34582 L33301 34568" />
+<path d="M33301 34568 L33286 34539" />
+<path d="M33286 34539 L33286 34468" />
+<path d="M33286 34468 L33301 34439" />
+<path d="M33301 34439 L33315 34425" />
+<path d="M33315 34425 L33344 34410" />
+<path d="M33344 34410 L33372 34410" />
+<path d="M33372 34410 L33415 34425" />
+<path d="M33415 34425 L33586 34596" />
+<path d="M33586 34596 L33586 34410" />
+<g style = "stroke-linecap:round;" >
+<path d="M33586 34410 L33586 34410" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33015 33646 L33915 33646" />
+<path d="M33015 33646 L33015 34296" />
+<path d="M33915 34996 L33915 35646" />
+<path d="M33015 35646 L33915 35646" />
+<path d="M33015 35646 L33015 34996" />
+<path d="M33915 34296 L33915 33646" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43305 29921 L43309 29921" />
+<path d="M43307 29919 L43307 29923" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43428 29971 L43286 30071" />
+<g style = "stroke-linecap:round;" >
+<path d="M43286 30071 L43286 30071" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43428 30143 L43128 30143" />
+<path d="M43128 30143 L43128 30028" />
+<path d="M43128 30028 L43143 30000" />
+<path d="M43143 30000 L43157 29985" />
+<path d="M43157 29985 L43186 29971" />
+<path d="M43186 29971 L43228 29971" />
+<path d="M43228 29971 L43257 29985" />
+<path d="M43257 29985 L43271 30000" />
+<path d="M43271 30000 L43286 30028" />
+<path d="M43286 30028 L43286 30143" />
+<g style = "stroke-linecap:round;" >
+<path d="M43286 30143 L43286 30143" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43428 29685 L43428 29857" />
+<g style = "stroke-linecap:round;" >
+<path d="M43428 29857 L43428 29857" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43428 29771 L43128 29771" />
+<path d="M43128 29771 L43171 29800" />
+<path d="M43171 29800 L43200 29828" />
+<path d="M43200 29828 L43214 29857" />
+<g style = "stroke-linecap:round;" >
+<path d="M43214 29857 L43214 29857" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M42857 28921 L43757 28921" />
+<path d="M42857 28921 L42857 29571" />
+<path d="M43757 30271 L43757 30921" />
+<path d="M42857 30921 L43757 30921" />
+<path d="M42857 30921 L42857 30271" />
+<path d="M43757 29571 L43757 28921" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30707 39370 L30711 39370" />
+<path d="M30709 39368 L30709 39372" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30659 39463 L30645 39477" />
+<path d="M30645 39477 L30602 39491" />
+<path d="M30602 39491 L30573 39491" />
+<path d="M30573 39491 L30530 39477" />
+<path d="M30530 39477 L30502 39449" />
+<path d="M30502 39449 L30487 39420" />
+<path d="M30487 39420 L30473 39363" />
+<path d="M30473 39363 L30473 39320" />
+<path d="M30473 39320 L30487 39263" />
+<path d="M30487 39263 L30502 39234" />
+<path d="M30502 39234 L30530 39206" />
+<path d="M30530 39206 L30573 39191" />
+<path d="M30573 39191 L30602 39191" />
+<path d="M30602 39191 L30645 39206" />
+<path d="M30645 39206 L30659 39220" />
+<g style = "stroke-linecap:round;" >
+<path d="M30659 39220 L30659 39220" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30930 39191 L30787 39191" />
+<path d="M30787 39191 L30773 39334" />
+<path d="M30773 39334 L30787 39320" />
+<path d="M30787 39320 L30816 39306" />
+<path d="M30816 39306 L30887 39306" />
+<path d="M30887 39306 L30916 39320" />
+<path d="M30916 39320 L30930 39334" />
+<path d="M30930 39334 L30945 39363" />
+<path d="M30945 39363 L30945 39434" />
+<path d="M30945 39434 L30930 39463" />
+<path d="M30930 39463 L30916 39477" />
+<path d="M30916 39477 L30887 39491" />
+<path d="M30887 39491 L30816 39491" />
+<path d="M30816 39491 L30787 39477" />
+<path d="M30787 39477 L30773 39463" />
+<g style = "stroke-linecap:round;" >
+<path d="M30773 39463 L30773 39463" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29709 38920 L29709 39820" />
+<path d="M29709 39820 L30359 39820" />
+<path d="M31059 38920 L31709 38920" />
+<path d="M31709 38920 L31709 39820" />
+<path d="M31059 39820 L31709 39820" />
+<path d="M29709 38920 L30359 38920" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30707 37795 L30711 37795" />
+<path d="M30709 37793 L30709 37797" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30659 37888 L30645 37902" />
+<path d="M30645 37902 L30602 37916" />
+<path d="M30602 37916 L30573 37916" />
+<path d="M30573 37916 L30530 37902" />
+<path d="M30530 37902 L30502 37874" />
+<path d="M30502 37874 L30487 37845" />
+<path d="M30487 37845 L30473 37788" />
+<path d="M30473 37788 L30473 37745" />
+<path d="M30473 37745 L30487 37688" />
+<path d="M30487 37688 L30502 37659" />
+<path d="M30502 37659 L30530 37631" />
+<path d="M30530 37631 L30573 37616" />
+<path d="M30573 37616 L30602 37616" />
+<path d="M30602 37616 L30645 37631" />
+<path d="M30645 37631 L30659 37645" />
+<g style = "stroke-linecap:round;" >
+<path d="M30659 37645 L30659 37645" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30916 37716 L30916 37916" />
+<g style = "stroke-linecap:round;" >
+<path d="M30916 37916 L30916 37916" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30845 37602 L30773 37816" />
+<path d="M30773 37816 L30959 37816" />
+<g style = "stroke-linecap:round;" >
+<path d="M30959 37816 L30959 37816" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29709 37345 L29709 38245" />
+<path d="M29709 38245 L30359 38245" />
+<path d="M31059 37345 L31709 37345" />
+<path d="M31709 37345 L31709 38245" />
+<path d="M31059 38245 L31709 38245" />
+<path d="M29709 37345 L30359 37345" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44880 33071 L44884 33071" />
+<path d="M44882 33069 L44882 33073" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44975 33121 L44989 33135" />
+<path d="M44989 33135 L45003 33178" />
+<path d="M45003 33178 L45003 33207" />
+<path d="M45003 33207 L44989 33250" />
+<path d="M44989 33250 L44961 33278" />
+<path d="M44961 33278 L44932 33293" />
+<path d="M44932 33293 L44875 33307" />
+<path d="M44875 33307 L44832 33307" />
+<path d="M44832 33307 L44775 33293" />
+<path d="M44775 33293 L44746 33278" />
+<path d="M44746 33278 L44718 33250" />
+<path d="M44718 33250 L44703 33207" />
+<path d="M44703 33207 L44703 33178" />
+<path d="M44703 33178 L44718 33135" />
+<path d="M44718 33135 L44732 33121" />
+<g style = "stroke-linecap:round;" >
+<path d="M44732 33121 L44732 33121" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44703 33021 L44703 32835" />
+<path d="M44703 32835 L44818 32935" />
+<path d="M44818 32935 L44818 32893" />
+<path d="M44818 32893 L44832 32864" />
+<path d="M44832 32864 L44846 32850" />
+<path d="M44846 32850 L44875 32835" />
+<path d="M44875 32835 L44946 32835" />
+<path d="M44946 32835 L44975 32850" />
+<path d="M44975 32850 L44989 32864" />
+<path d="M44989 32864 L45003 32893" />
+<path d="M45003 32893 L45003 32978" />
+<path d="M45003 32978 L44989 33007" />
+<path d="M44989 33007 L44975 33021" />
+<g style = "stroke-linecap:round;" >
+<path d="M44975 33021 L44975 33021" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44432 32071 L45332 32071" />
+<path d="M44432 32071 L44432 32721" />
+<path d="M45332 33421 L45332 34071" />
+<path d="M44432 34071 L45332 34071" />
+<path d="M44432 34071 L44432 33421" />
+<path d="M45332 32721 L45332 32071" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43305 33071 L43309 33071" />
+<path d="M43307 33069 L43307 33073" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43400 33121 L43414 33135" />
+<path d="M43414 33135 L43428 33178" />
+<path d="M43428 33178 L43428 33207" />
+<path d="M43428 33207 L43414 33250" />
+<path d="M43414 33250 L43386 33278" />
+<path d="M43386 33278 L43357 33293" />
+<path d="M43357 33293 L43300 33307" />
+<path d="M43300 33307 L43257 33307" />
+<path d="M43257 33307 L43200 33293" />
+<path d="M43200 33293 L43171 33278" />
+<path d="M43171 33278 L43143 33250" />
+<path d="M43143 33250 L43128 33207" />
+<path d="M43128 33207 L43128 33178" />
+<path d="M43128 33178 L43143 33135" />
+<path d="M43143 33135 L43157 33121" />
+<g style = "stroke-linecap:round;" >
+<path d="M43157 33121 L43157 33121" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43157 33007 L43143 32993" />
+<path d="M43143 32993 L43128 32964" />
+<path d="M43128 32964 L43128 32893" />
+<path d="M43128 32893 L43143 32864" />
+<path d="M43143 32864 L43157 32850" />
+<path d="M43157 32850 L43186 32835" />
+<path d="M43186 32835 L43214 32835" />
+<path d="M43214 32835 L43257 32850" />
+<path d="M43257 32850 L43428 33021" />
+<path d="M43428 33021 L43428 32835" />
+<g style = "stroke-linecap:round;" >
+<path d="M43428 32835 L43428 32835" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M42857 32071 L43757 32071" />
+<path d="M42857 32071 L42857 32721" />
+<path d="M43757 33421 L43757 34071" />
+<path d="M42857 34071 L43757 34071" />
+<path d="M42857 34071 L42857 33421" />
+<path d="M43757 32721 L43757 32071" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38974 33358 L38978 33358" />
+<path d="M38976 33356 L38976 33360" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38671 33060 L38671 33465" />
+<path d="M38671 33465 L38690 33513" />
+<path d="M38690 33513 L38709 33537" />
+<path d="M38709 33537 L38747 33560" />
+<path d="M38747 33560 L38824 33560" />
+<path d="M38824 33560 L38862 33537" />
+<path d="M38862 33537 L38881 33513" />
+<path d="M38881 33513 L38900 33465" />
+<path d="M38900 33465 L38900 33060" />
+<g style = "stroke-linecap:round;" >
+<path d="M38900 33060 L38900 33060" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39300 33560 L39071 33560" />
+<g style = "stroke-linecap:round;" >
+<path d="M39071 33560 L39071 33560" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39185 33560 L39185 33060" />
+<path d="M39185 33060 L39147 33132" />
+<path d="M39147 33132 L39109 33179" />
+<path d="M39109 33179 L39071 33203" />
+<g style = "stroke-linecap:round;" >
+<path d="M39071 33203 L39071 33203" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38974 34608 L38978 34608" />
+<path d="M38976 34606 L38976 34610" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37176 34668 L37367 34668" />
+<g style = "stroke-linecap:round;" >
+<path d="M37367 34668 L37367 34668" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37138 34810 L37271 34310" />
+<path d="M37271 34310 L37405 34810" />
+<g style = "stroke-linecap:round;" >
+<path d="M37405 34810 L37405 34810" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37481 34310 L37710 34310" />
+<g style = "stroke-linecap:round;" >
+<path d="M37710 34310 L37710 34310" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37595 34810 L37595 34310" />
+<g style = "stroke-linecap:round;" >
+<path d="M37595 34310 L37595 34310" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37862 34810 L37938 34810" />
+<path d="M37938 34810 L37977 34787" />
+<path d="M37977 34787 L37996 34763" />
+<path d="M37996 34763 L38034 34691" />
+<path d="M38034 34691 L38053 34596" />
+<path d="M38053 34596 L38053 34406" />
+<path d="M38053 34406 L38034 34358" />
+<path d="M38034 34358 L38015 34334" />
+<path d="M38015 34334 L37977 34310" />
+<path d="M37977 34310 L37900 34310" />
+<path d="M37900 34310 L37862 34334" />
+<path d="M37862 34334 L37843 34358" />
+<path d="M37843 34358 L37824 34406" />
+<path d="M37824 34406 L37824 34525" />
+<path d="M37824 34525 L37843 34572" />
+<path d="M37843 34572 L37862 34596" />
+<path d="M37862 34596 L37900 34620" />
+<path d="M37900 34620 L37977 34620" />
+<path d="M37977 34620 L38015 34596" />
+<path d="M38015 34596 L38034 34572" />
+<path d="M38034 34572 L38053 34525" />
+<g style = "stroke-linecap:round;" >
+<path d="M38053 34525 L38053 34525" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38300 34310 L38339 34310" />
+<path d="M38339 34310 L38377 34334" />
+<path d="M38377 34334 L38396 34358" />
+<path d="M38396 34358 L38415 34406" />
+<path d="M38415 34406 L38434 34501" />
+<path d="M38434 34501 L38434 34620" />
+<path d="M38434 34620 L38415 34715" />
+<path d="M38415 34715 L38396 34763" />
+<path d="M38396 34763 L38377 34787" />
+<path d="M38377 34787 L38339 34810" />
+<path d="M38339 34810 L38300 34810" />
+<path d="M38300 34810 L38262 34787" />
+<path d="M38262 34787 L38243 34763" />
+<path d="M38243 34763 L38224 34715" />
+<path d="M38224 34715 L38205 34620" />
+<path d="M38205 34620 L38205 34501" />
+<path d="M38205 34501 L38224 34406" />
+<path d="M38224 34406 L38243 34358" />
+<path d="M38243 34358 L38262 34334" />
+<path d="M38262 34334 L38300 34310" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38605 34310 L38605 34715" />
+<path d="M38605 34715 L38624 34763" />
+<path d="M38624 34763 L38643 34787" />
+<path d="M38643 34787 L38681 34810" />
+<path d="M38681 34810 L38758 34810" />
+<path d="M38758 34810 L38796 34787" />
+<path d="M38796 34787 L38815 34763" />
+<path d="M38815 34763 L38834 34715" />
+<path d="M38834 34715 L38834 34310" />
+<g style = "stroke-linecap:round;" >
+<path d="M38834 34310 L38834 34310" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39005 34787 L39062 34810" />
+<path d="M39062 34810 L39158 34810" />
+<path d="M39158 34810 L39196 34787" />
+<path d="M39196 34787 L39215 34763" />
+<path d="M39215 34763 L39234 34715" />
+<path d="M39234 34715 L39234 34668" />
+<path d="M39234 34668 L39215 34620" />
+<path d="M39215 34620 L39196 34596" />
+<path d="M39196 34596 L39158 34572" />
+<path d="M39158 34572 L39081 34548" />
+<path d="M39081 34548 L39043 34525" />
+<path d="M39043 34525 L39024 34501" />
+<path d="M39024 34501 L39005 34453" />
+<path d="M39005 34453 L39005 34406" />
+<path d="M39005 34406 L39024 34358" />
+<path d="M39024 34358 L39043 34334" />
+<path d="M39043 34334 L39081 34310" />
+<path d="M39081 34310 L39177 34310" />
+<path d="M39177 34310 L39234 34334" />
+<g style = "stroke-linecap:round;" >
+<path d="M39234 34334 L39234 34334" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39539 34548 L39596 34572" />
+<path d="M39596 34572 L39615 34596" />
+<path d="M39615 34596 L39634 34644" />
+<path d="M39634 34644 L39634 34715" />
+<path d="M39634 34715 L39615 34763" />
+<path d="M39615 34763 L39596 34787" />
+<path d="M39596 34787 L39558 34810" />
+<path d="M39558 34810 L39405 34810" />
+<path d="M39405 34810 L39405 34310" />
+<path d="M39405 34310 L39539 34310" />
+<path d="M39539 34310 L39577 34334" />
+<path d="M39577 34334 L39596 34358" />
+<path d="M39596 34358 L39615 34406" />
+<path d="M39615 34406 L39615 34453" />
+<path d="M39615 34453 L39596 34501" />
+<path d="M39596 34501 L39577 34525" />
+<path d="M39577 34525 L39539 34548" />
+<path d="M39539 34548 L39405 34548" />
+<g style = "stroke-linecap:round;" >
+<path d="M39405 34548 L39405 34548" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40015 34810 L39786 34810" />
+<g style = "stroke-linecap:round;" >
+<path d="M39786 34810 L39786 34810" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39900 34810 L39900 34310" />
+<path d="M39900 34310 L39862 34382" />
+<path d="M39862 34382 L39824 34429" />
+<path d="M39824 34429 L39786 34453" />
+<g style = "stroke-linecap:round;" >
+<path d="M39786 34453 L39786 34453" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40358 34310 L40281 34310" />
+<path d="M40281 34310 L40243 34334" />
+<path d="M40243 34334 L40224 34358" />
+<path d="M40224 34358 L40186 34429" />
+<path d="M40186 34429 L40167 34525" />
+<path d="M40167 34525 L40167 34715" />
+<path d="M40167 34715 L40186 34763" />
+<path d="M40186 34763 L40205 34787" />
+<path d="M40205 34787 L40243 34810" />
+<path d="M40243 34810 L40320 34810" />
+<path d="M40320 34810 L40358 34787" />
+<path d="M40358 34787 L40377 34763" />
+<path d="M40377 34763 L40396 34715" />
+<path d="M40396 34715 L40396 34596" />
+<path d="M40396 34596 L40377 34548" />
+<path d="M40377 34548 L40358 34525" />
+<path d="M40358 34525 L40320 34501" />
+<path d="M40320 34501 L40243 34501" />
+<path d="M40243 34501 L40205 34525" />
+<path d="M40205 34525 L40186 34548" />
+<path d="M40186 34548 L40167 34596" />
+<g style = "stroke-linecap:round;" >
+<path d="M40167 34596 L40167 34596" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40548 34358 L40567 34334" />
+<path d="M40567 34334 L40605 34310" />
+<path d="M40605 34310 L40701 34310" />
+<path d="M40701 34310 L40739 34334" />
+<path d="M40739 34334 L40758 34358" />
+<path d="M40758 34358 L40777 34406" />
+<path d="M40777 34406 L40777 34453" />
+<path d="M40777 34453 L40758 34525" />
+<path d="M40758 34525 L40529 34810" />
+<path d="M40529 34810 L40777 34810" />
+<g style = "stroke-linecap:round;" >
+<path d="M40777 34810 L40777 34810" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40506 34948 L40956 34948" />
+<path d="M40516 32768 L40956 32768" />
+<path d="M40956 34948 L40956 32768" />
+<path d="M40076 35418 L40076 35848" />
+<path d="M37866 35428 L37866 35848" />
+<path d="M37856 35848 L40076 35858" />
+<path d="M37876 31878 L40046 31868" />
+<path d="M37446 32568 L37446 35398" />
+<path d="M40056 31878 L40056 32288" />
+<path d="M37696 32328 L40476 32328" />
+<path d="M40496 35408 L40496 32368" />
+<path d="M37446 35408 L40446 35408" />
+<path d="M36996 32738 L36996 34958" />
+<path d="M36996 34958 L37446 34958" />
+<path d="M37450 32558 L37680 32328" />
+<path d="M36998 32738 L37450 32738" />
+<path d="M37876 32328 L37876 31876" />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="37858" cy="32732" rx="188" ry="188" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35185 27311 L35893 27311" />
+<path d="M35893 27311 L35893 28019" />
+<path d="M35893 28019 L35185 28019" />
+<path d="M35185 27311 L35185 28019" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="35539" cy="26665" rx="354" ry="354" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="34539" cy="26665" rx="354" ry="354" />
+</g>
+<g style="fill:#808000; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33537 26665 L33541 26665" />
+<path d="M33539 26663 L33539 26667" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33739 26703 L33720 26741" />
+<path d="M33720 26741 L33682 26779" />
+<path d="M33682 26779 L33625 26836" />
+<path d="M33625 26836 L33606 26875" />
+<path d="M33606 26875 L33606 26913" />
+<g style = "stroke-linecap:round;" >
+<path d="M33606 26913 L33606 26913" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33701 26894 L33682 26932" />
+<path d="M33682 26932 L33644 26970" />
+<path d="M33644 26970 L33568 26989" />
+<path d="M33568 26989 L33434 26989" />
+<path d="M33434 26989 L33358 26970" />
+<path d="M33358 26970 L33320 26932" />
+<path d="M33320 26932 L33301 26894" />
+<path d="M33301 26894 L33301 26817" />
+<path d="M33301 26817 L33320 26779" />
+<path d="M33320 26779 L33358 26741" />
+<path d="M33358 26741 L33434 26722" />
+<path d="M33434 26722 L33568 26722" />
+<path d="M33568 26722 L33644 26741" />
+<path d="M33644 26741 L33682 26779" />
+<path d="M33682 26779 L33701 26817" />
+<path d="M33701 26817 L33701 26894" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33701 26341 L33701 26570" />
+<g style = "stroke-linecap:round;" >
+<path d="M33701 26570 L33701 26570" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33701 26456 L33301 26456" />
+<path d="M33301 26456 L33358 26494" />
+<path d="M33358 26494 L33396 26532" />
+<path d="M33396 26532 L33415 26570" />
+<g style = "stroke-linecap:round;" >
+<path d="M33415 26570 L33415 26570" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37037 26665 L37041 26665" />
+<path d="M37039 26663 L37039 26667" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36972 27475 L36953 27513" />
+<path d="M36953 27513 L36934 27532" />
+<path d="M36934 27532 L36896 27551" />
+<path d="M36896 27551 L36877 27551" />
+<path d="M36877 27551 L36839 27532" />
+<path d="M36839 27532 L36820 27513" />
+<path d="M36820 27513 L36801 27475" />
+<path d="M36801 27475 L36801 27398" />
+<path d="M36801 27398 L36820 27360" />
+<path d="M36820 27360 L36839 27341" />
+<path d="M36839 27341 L36877 27322" />
+<path d="M36877 27322 L36896 27322" />
+<path d="M36896 27322 L36934 27341" />
+<path d="M36934 27341 L36953 27360" />
+<path d="M36953 27360 L36972 27398" />
+<path d="M36972 27398 L36972 27475" />
+<path d="M36972 27475 L36991 27513" />
+<path d="M36991 27513 L37010 27532" />
+<path d="M37010 27532 L37049 27551" />
+<path d="M37049 27551 L37125 27551" />
+<path d="M37125 27551 L37163 27532" />
+<path d="M37163 27532 L37182 27513" />
+<path d="M37182 27513 L37201 27475" />
+<path d="M37201 27475 L37201 27398" />
+<path d="M37201 27398 L37182 27360" />
+<path d="M37182 27360 L37163 27341" />
+<path d="M37163 27341 L37125 27322" />
+<path d="M37125 27322 L37049 27322" />
+<path d="M37049 27322 L37010 27341" />
+<path d="M37010 27341 L36991 27360" />
+<path d="M36991 27360 L36972 27398" />
+<g style = "stroke-linecap:round;" >
+<path d="M36972 27398 L36972 27398" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36801 27075 L36801 27036" />
+<path d="M36801 27036 L36820 26998" />
+<path d="M36820 26998 L36839 26979" />
+<path d="M36839 26979 L36877 26960" />
+<path d="M36877 26960 L36953 26941" />
+<path d="M36953 26941 L37049 26941" />
+<path d="M37049 26941 L37125 26960" />
+<path d="M37125 26960 L37163 26979" />
+<path d="M37163 26979 L37182 26998" />
+<path d="M37182 26998 L37201 27036" />
+<path d="M37201 27036 L37201 27075" />
+<path d="M37201 27075 L37182 27113" />
+<path d="M37182 27113 L37163 27132" />
+<path d="M37163 27132 L37125 27151" />
+<path d="M37125 27151 L37049 27170" />
+<path d="M37049 27170 L36953 27170" />
+<path d="M36953 27170 L36877 27151" />
+<path d="M36877 27151 L36839 27132" />
+<path d="M36839 27132 L36820 27113" />
+<path d="M36820 27113 L36801 27075" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36801 26579 L36801 26770" />
+<path d="M36801 26770 L36991 26789" />
+<path d="M36991 26789 L36972 26770" />
+<path d="M36972 26770 L36953 26732" />
+<path d="M36953 26732 L36953 26636" />
+<path d="M36953 26636 L36972 26598" />
+<path d="M36972 26598 L36991 26579" />
+<path d="M36991 26579 L37029 26560" />
+<path d="M37029 26560 L37125 26560" />
+<path d="M37125 26560 L37163 26579" />
+<path d="M37163 26579 L37182 26598" />
+<path d="M37182 26598 L37201 26636" />
+<path d="M37201 26636 L37201 26732" />
+<path d="M37201 26732 L37182 26770" />
+<path d="M37182 26770 L37163 26789" />
+<g style = "stroke-linecap:round;" >
+<path d="M37163 26789 L37163 26789" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36801 26313 L36801 26274" />
+<path d="M36801 26274 L36820 26236" />
+<path d="M36820 26236 L36839 26217" />
+<path d="M36839 26217 L36877 26198" />
+<path d="M36877 26198 L36953 26179" />
+<path d="M36953 26179 L37049 26179" />
+<path d="M37049 26179 L37125 26198" />
+<path d="M37125 26198 L37163 26217" />
+<path d="M37163 26217 L37182 26236" />
+<path d="M37182 26236 L37201 26274" />
+<path d="M37201 26274 L37201 26313" />
+<path d="M37201 26313 L37182 26351" />
+<path d="M37182 26351 L37163 26370" />
+<path d="M37163 26370 L37125 26389" />
+<path d="M37125 26389 L37049 26408" />
+<path d="M37049 26408 L36953 26408" />
+<path d="M36953 26408 L36877 26389" />
+<path d="M36877 26389 L36839 26370" />
+<path d="M36839 26370 L36820 26351" />
+<path d="M36820 26351 L36801 26313" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37201 26008 L36801 26008" />
+<path d="M36801 26008 L36801 25913" />
+<path d="M36801 25913 L36820 25855" />
+<path d="M36820 25855 L36858 25817" />
+<path d="M36858 25817 L36896 25798" />
+<path d="M36896 25798 L36972 25779" />
+<path d="M36972 25779 L37029 25779" />
+<path d="M37029 25779 L37106 25798" />
+<path d="M37106 25798 L37144 25817" />
+<path d="M37144 25817 L37182 25855" />
+<path d="M37182 25855 L37201 25913" />
+<path d="M37201 25913 L37201 26008" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34039 26665 L35539 28165" />
+<path d="M35539 28165 L36039 28165" />
+<path d="M36039 28165 L36539 27665" />
+<path d="M36539 27665 L36539 26665" />
+<path d="M35539 25665 L36539 26665" />
+<path d="M34539 25665 L35539 25665" />
+<path d="M34039 26165 L34539 25665" />
+<path d="M34039 26165 L34039 26665" />
+</g>
+</svg>
diff --git a/circuit/fridge-lock-brd.svg b/circuit/fridge-lock-brd.svg
new file mode 100644
index 0000000..55e931f
--- /dev/null
+++ b/circuit/fridge-lock-brd.svg
@@ -0,0 +1,8093 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="27cm" height="19cm" viewBox="0 0 117000 82670 "
+>
+ <title>SVG Picture created as fridge-lock-brd.svg </title>
+ <desc>Picture generated by wxSVG v0101 </desc>
+ <g style="fill:black; stroke:black; stroke-width:1">
+</g>
+<g style="fill:#000000; fill-opacity:0.0;
+ stroke:#FFFF00; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:150"
+ transform="translate(0 0) scale(1 1)">
+<path d="M26772 43307 L46457 43307" />
+<path d="M26772 23622 L46457 23622" />
+<path d="M46457 23622 L46457 43307" />
+</g>
+<g style="fill:#000000; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40746 24803 L40750 24803" />
+<path d="M40748 24801 L40748 24805" />
+</g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37021 25127 L37021 24327" />
+<g style = "stroke-linecap:round;" >
+<path d="M37021 24327 L37021 24327" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37021 24708 L37364 24708" />
+<g style = "stroke-linecap:round;" >
+<path d="M37364 24708 L37364 24708" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37364 25127 L37364 24327" />
+<g style = "stroke-linecap:round;" >
+<path d="M37364 24327 L37364 24327" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37593 24593 L37736 25127" />
+<g style = "stroke-linecap:round;" >
+<path d="M37736 25127 L37736 25127" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37878 24593 L37736 25127" />
+<path d="M37736 25127 L37678 25317" />
+<path d="M37678 25317 L37650 25355" />
+<path d="M37650 25355 L37593 25393" />
+<g style = "stroke-linecap:round;" >
+<path d="M37593 25393 L37593 25393" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38107 24593 L38107 25393" />
+<g style = "stroke-linecap:round;" >
+<path d="M38107 25393 L38107 25393" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38107 24632 L38164 24593" />
+<path d="M38164 24593 L38278 24593" />
+<path d="M38278 24593 L38335 24632" />
+<path d="M38335 24632 L38364 24670" />
+<path d="M38364 24670 L38393 24746" />
+<path d="M38393 24746 L38393 24974" />
+<path d="M38393 24974 L38364 25051" />
+<path d="M38364 25051 L38335 25089" />
+<path d="M38335 25089 L38278 25127" />
+<path d="M38278 25127 L38164 25127" />
+<path d="M38164 25127 L38107 25089" />
+<g style = "stroke-linecap:round;" >
+<path d="M38107 25089 L38107 25089" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38878 25089 L38821 25127" />
+<path d="M38821 25127 L38707 25127" />
+<path d="M38707 25127 L38650 25089" />
+<path d="M38650 25089 L38621 25013" />
+<path d="M38621 25013 L38621 24708" />
+<path d="M38621 24708 L38650 24632" />
+<path d="M38650 24632 L38707 24593" />
+<path d="M38707 24593 L38821 24593" />
+<path d="M38821 24593 L38878 24632" />
+<path d="M38878 24632 L38907 24708" />
+<path d="M38907 24708 L38907 24784" />
+<path d="M38907 24784 L38621 24860" />
+<g style = "stroke-linecap:round;" >
+<path d="M38621 24860 L38621 24860" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39164 25127 L39164 24593" />
+<g style = "stroke-linecap:round;" >
+<path d="M39164 24593 L39164 24593" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39164 24746 L39192 24670" />
+<path d="M39192 24670 L39221 24632" />
+<path d="M39221 24632 L39278 24593" />
+<path d="M39278 24593 L39335 24593" />
+<g style = "stroke-linecap:round;" >
+<path d="M39335 24593 L39335 24593" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39621 25127 L39563 25089" />
+<path d="M39563 25089 L39535 25013" />
+<path d="M39535 25013 L39535 24327" />
+<g style = "stroke-linecap:round;" >
+<path d="M39535 24327 L39535 24327" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39935 25127 L39877 25089" />
+<path d="M39877 25089 L39849 25051" />
+<path d="M39849 25051 L39820 24974" />
+<path d="M39820 24974 L39820 24746" />
+<path d="M39820 24746 L39849 24670" />
+<path d="M39849 24670 L39877 24632" />
+<path d="M39877 24632 L39935 24593" />
+<path d="M39935 24593 L40020 24593" />
+<path d="M40020 24593 L40077 24632" />
+<path d="M40077 24632 L40106 24670" />
+<path d="M40106 24670 L40135 24746" />
+<path d="M40135 24746 L40135 24974" />
+<path d="M40135 24974 L40106 25051" />
+<path d="M40106 25051 L40077 25089" />
+<path d="M40077 25089 L40020 25127" />
+<path d="M40020 25127 L39935 25127" />
+</g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40649 25089 L40592 25127" />
+<path d="M40592 25127 L40478 25127" />
+<path d="M40478 25127 L40420 25089" />
+<path d="M40420 25089 L40392 25051" />
+<path d="M40392 25051 L40363 24974" />
+<path d="M40363 24974 L40363 24746" />
+<path d="M40363 24746 L40392 24670" />
+<path d="M40392 24670 L40420 24632" />
+<path d="M40420 24632 L40478 24593" />
+<path d="M40478 24593 L40592 24593" />
+<path d="M40592 24593 L40649 24632" />
+<g style = "stroke-linecap:round;" >
+<path d="M40649 24632 L40649 24632" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40906 25127 L40906 24327" />
+<g style = "stroke-linecap:round;" >
+<path d="M40906 24327 L40906 24327" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40963 24822 L41134 25127" />
+<g style = "stroke-linecap:round;" >
+<path d="M41134 25127 L41134 25127" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M41134 24593 L40906 24898" />
+<g style = "stroke-linecap:round;" >
+<path d="M40906 24898 L40906 24898" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M41763 24327 L42106 24327" />
+<g style = "stroke-linecap:round;" >
+<path d="M42106 24327 L42106 24327" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M41935 25127 L41935 24327" />
+<g style = "stroke-linecap:round;" >
+<path d="M41935 24327 L41935 24327" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M42306 24822 L42763 24822" />
+<g style = "stroke-linecap:round;" >
+<path d="M42763 24822 L42763 24822" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43306 24327 L43192 24327" />
+<path d="M43192 24327 L43135 24365" />
+<path d="M43135 24365 L43106 24403" />
+<path d="M43106 24403 L43049 24517" />
+<path d="M43049 24517 L43020 24670" />
+<path d="M43020 24670 L43020 24974" />
+<path d="M43020 24974 L43049 25051" />
+<path d="M43049 25051 L43077 25089" />
+<path d="M43077 25089 L43135 25127" />
+<path d="M43135 25127 L43249 25127" />
+<path d="M43249 25127 L43306 25089" />
+<path d="M43306 25089 L43335 25051" />
+<path d="M43335 25051 L43363 24974" />
+<path d="M43363 24974 L43363 24784" />
+<path d="M43363 24784 L43335 24708" />
+<path d="M43335 24708 L43306 24670" />
+<path d="M43306 24670 L43249 24632" />
+<path d="M43249 24632 L43135 24632" />
+<path d="M43135 24632 L43077 24670" />
+<path d="M43077 24670 L43049 24708" />
+<path d="M43049 24708 L43020 24784" />
+<g style = "stroke-linecap:round;" >
+<path d="M43020 24784 L43020 24784" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43734 24327 L43791 24327" />
+<path d="M43791 24327 L43848 24365" />
+<path d="M43848 24365 L43877 24403" />
+<path d="M43877 24403 L43906 24479" />
+<path d="M43906 24479 L43934 24632" />
+<path d="M43934 24632 L43934 24822" />
+<path d="M43934 24822 L43906 24974" />
+<path d="M43906 24974 L43877 25051" />
+<path d="M43877 25051 L43848 25089" />
+<path d="M43848 25089 L43791 25127" />
+<path d="M43791 25127 L43734 25127" />
+<path d="M43734 25127 L43677 25089" />
+<path d="M43677 25089 L43648 25051" />
+<path d="M43648 25051 L43620 24974" />
+<path d="M43620 24974 L43591 24822" />
+<path d="M43591 24822 L43591 24632" />
+<path d="M43591 24632 L43620 24479" />
+<path d="M43620 24479 L43648 24403" />
+<path d="M43648 24403 L43677 24365" />
+<path d="M43677 24365 L43734 24327" />
+</g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44305 24327 L44362 24327" />
+<path d="M44362 24327 L44419 24365" />
+<path d="M44419 24365 L44448 24403" />
+<path d="M44448 24403 L44477 24479" />
+<path d="M44477 24479 L44505 24632" />
+<path d="M44505 24632 L44505 24822" />
+<path d="M44505 24822 L44477 24974" />
+<path d="M44477 24974 L44448 25051" />
+<path d="M44448 25051 L44419 25089" />
+<path d="M44419 25089 L44362 25127" />
+<path d="M44362 25127 L44305 25127" />
+<path d="M44305 25127 L44248 25089" />
+<path d="M44248 25089 L44219 25051" />
+<path d="M44219 25051 L44191 24974" />
+<path d="M44191 24974 L44162 24822" />
+<path d="M44162 24822 L44162 24632" />
+<path d="M44162 24632 L44191 24479" />
+<path d="M44191 24479 L44219 24403" />
+<path d="M44219 24403 L44248 24365" />
+<path d="M44248 24365 L44305 24327" />
+</g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32085 42323 L32089 42323" />
+<path d="M32087 42321 L32087 42325" />
+</g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28545 42647 L28545 41847" />
+<path d="M28545 41847 L28773 41847" />
+<path d="M28773 41847 L28831 41885" />
+<path d="M28831 41885 L28859 41923" />
+<path d="M28859 41923 L28888 41999" />
+<path d="M28888 41999 L28888 42113" />
+<path d="M28888 42113 L28859 42190" />
+<path d="M28859 42190 L28831 42228" />
+<path d="M28831 42228 L28773 42266" />
+<path d="M28773 42266 L28545 42266" />
+<g style = "stroke-linecap:round;" >
+<path d="M28545 42266 L28545 42266" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29145 42647 L29145 41847" />
+<g style = "stroke-linecap:round;" >
+<path d="M29145 41847 L29145 41847" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29431 42647 L29431 41847" />
+<path d="M29431 41847 L29774 42647" />
+<path d="M29774 42647 L29774 41847" />
+<g style = "stroke-linecap:round;" >
+<path d="M29774 41847 L29774 41847" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30374 41885 L30317 41847" />
+<path d="M30317 41847 L30231 41847" />
+<path d="M30231 41847 L30146 41885" />
+<path d="M30146 41885 L30088 41961" />
+<path d="M30088 41961 L30060 42037" />
+<path d="M30060 42037 L30031 42190" />
+<path d="M30031 42190 L30031 42304" />
+<path d="M30031 42304 L30060 42456" />
+<path d="M30060 42456 L30088 42533" />
+<path d="M30088 42533 L30146 42609" />
+<path d="M30146 42609 L30231 42647" />
+<path d="M30231 42647 L30288 42647" />
+<path d="M30288 42647 L30374 42609" />
+<path d="M30374 42609 L30403 42571" />
+<path d="M30403 42571 L30403 42304" />
+<path d="M30403 42304 L30288 42304" />
+<g style = "stroke-linecap:round;" >
+<path d="M30288 42304 L30288 42304" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31403 42647 L31117 42647" />
+<path d="M31117 42647 L31117 41847" />
+<g style = "stroke-linecap:round;" >
+<path d="M31117 41847 L31117 41847" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31860 42647 L31860 42228" />
+<path d="M31860 42228 L31831 42152" />
+<path d="M31831 42152 L31774 42113" />
+<path d="M31774 42113 L31660 42113" />
+<path d="M31660 42113 L31603 42152" />
+<g style = "stroke-linecap:round;" >
+<path d="M31603 42152 L31603 42152" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31860 42609 L31803 42647" />
+<path d="M31803 42647 L31660 42647" />
+<path d="M31660 42647 L31603 42609" />
+<path d="M31603 42609 L31574 42533" />
+<path d="M31574 42533 L31574 42456" />
+<path d="M31574 42456 L31603 42380" />
+<path d="M31603 42380 L31660 42342" />
+<path d="M31660 42342 L31803 42342" />
+<path d="M31803 42342 L31860 42304" />
+<g style = "stroke-linecap:round;" >
+<path d="M31860 42304 L31860 42304" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32146 42647 L32146 41847" />
+<g style = "stroke-linecap:round;" >
+<path d="M32146 41847 L32146 41847" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32146 42152 L32203 42113" />
+<path d="M32203 42113 L32317 42113" />
+<path d="M32317 42113 L32374 42152" />
+<path d="M32374 42152 L32403 42190" />
+<path d="M32403 42190 L32432 42266" />
+<path d="M32432 42266 L32432 42494" />
+<path d="M32432 42494 L32403 42571" />
+<path d="M32403 42571 L32374 42609" />
+<path d="M32374 42609 L32317 42647" />
+<path d="M32317 42647 L32203 42647" />
+<path d="M32203 42647 L32146 42609" />
+<g style = "stroke-linecap:round;" >
+<path d="M32146 42609 L32146 42609" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32660 42609 L32717 42647" />
+<path d="M32717 42647 L32832 42647" />
+<path d="M32832 42647 L32889 42609" />
+<path d="M32889 42609 L32917 42533" />
+<path d="M32917 42533 L32917 42494" />
+<path d="M32917 42494 L32889 42418" />
+<path d="M32889 42418 L32832 42380" />
+<path d="M32832 42380 L32746 42380" />
+<path d="M32746 42380 L32689 42342" />
+<path d="M32689 42342 L32660 42266" />
+<path d="M32660 42266 L32660 42228" />
+<path d="M32660 42228 L32689 42152" />
+<path d="M32689 42152 L32746 42113" />
+<path d="M32746 42113 L32832 42113" />
+<path d="M32832 42113 L32889 42152" />
+<g style = "stroke-linecap:round;" >
+<path d="M32889 42152 L32889 42152" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33603 41923 L33632 41885" />
+<path d="M33632 41885 L33689 41847" />
+<path d="M33689 41847 L33832 41847" />
+<path d="M33832 41847 L33889 41885" />
+<path d="M33889 41885 L33918 41923" />
+<path d="M33918 41923 L33946 41999" />
+<path d="M33946 41999 L33946 42075" />
+<path d="M33946 42075 L33918 42190" />
+<path d="M33918 42190 L33575 42647" />
+<path d="M33575 42647 L33946 42647" />
+<g style = "stroke-linecap:round;" >
+<path d="M33946 42647 L33946 42647" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34317 41847 L34374 41847" />
+<path d="M34374 41847 L34431 41885" />
+<path d="M34431 41885 L34460 41923" />
+<path d="M34460 41923 L34489 41999" />
+<path d="M34489 41999 L34517 42152" />
+<path d="M34517 42152 L34517 42342" />
+<path d="M34517 42342 L34489 42494" />
+<path d="M34489 42494 L34460 42571" />
+<path d="M34460 42571 L34431 42609" />
+<path d="M34431 42609 L34374 42647" />
+<path d="M34374 42647 L34317 42647" />
+<path d="M34317 42647 L34260 42609" />
+<path d="M34260 42609 L34231 42571" />
+<path d="M34231 42571 L34203 42494" />
+<path d="M34203 42494 L34174 42342" />
+<path d="M34174 42342 L34174 42152" />
+<path d="M34174 42152 L34203 41999" />
+<path d="M34203 41999 L34231 41923" />
+<path d="M34231 41923 L34260 41885" />
+<path d="M34260 41885 L34317 41847" />
+</g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35088 42647 L34745 42647" />
+<g style = "stroke-linecap:round;" >
+<path d="M34745 42647 L34745 42647" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34917 42647 L34917 41847" />
+<path d="M34917 41847 L34860 41961" />
+<path d="M34860 41961 L34802 42037" />
+<path d="M34802 42037 L34745 42075" />
+<g style = "stroke-linecap:round;" >
+<path d="M34745 42075 L34745 42075" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35659 42647 L35316 42647" />
+<g style = "stroke-linecap:round;" >
+<path d="M35316 42647 L35316 42647" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35488 42647 L35488 41847" />
+<path d="M35488 41847 L35431 41961" />
+<path d="M35431 41961 L35373 42037" />
+<path d="M35373 42037 L35316 42075" />
+<g style = "stroke-linecap:round;" >
+<path d="M35316 42075 L35316 42075" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43896 38583 L43900 38583" />
+<path d="M43898 38581 L43898 38585" />
+</g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44137 40609 L43546 40609" />
+<path d="M43546 40609 L43546 40515" />
+<path d="M43546 40515 L43574 40459" />
+<path d="M43574 40459 L43630 40422" />
+<path d="M43630 40422 L43686 40403" />
+<path d="M43686 40403 L43799 40384" />
+<path d="M43799 40384 L43883 40384" />
+<path d="M43883 40384 L43996 40403" />
+<path d="M43996 40403 L44052 40422" />
+<path d="M44052 40422 L44109 40459" />
+<path d="M44109 40459 L44137 40515" />
+<path d="M44137 40515 L44137 40609" />
+</g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43546 40140 L43546 40065" />
+<path d="M43546 40065 L43574 40028" />
+<path d="M43574 40028 L43630 39990" />
+<path d="M43630 39990 L43743 39971" />
+<path d="M43743 39971 L43940 39971" />
+<path d="M43940 39971 L44052 39990" />
+<path d="M44052 39990 L44109 40028" />
+<path d="M44109 40028 L44137 40065" />
+<path d="M44137 40065 L44137 40140" />
+<path d="M44137 40140 L44109 40178" />
+<path d="M44109 40178 L44052 40215" />
+<path d="M44052 40215 L43940 40234" />
+<path d="M43940 40234 L43743 40234" />
+<path d="M43743 40234 L43630 40215" />
+<path d="M43630 40215 L43574 40178" />
+<path d="M43574 40178 L43546 40140" />
+</g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43546 39727 L43546 39652" />
+<path d="M43546 39652 L43574 39615" />
+<path d="M43574 39615 L43630 39577" />
+<path d="M43630 39577 L43743 39558" />
+<path d="M43743 39558 L43940 39558" />
+<path d="M43940 39558 L44052 39577" />
+<path d="M44052 39577 L44109 39615" />
+<path d="M44109 39615 L44137 39652" />
+<path d="M44137 39652 L44137 39727" />
+<path d="M44137 39727 L44109 39765" />
+<path d="M44109 39765 L44052 39802" />
+<path d="M44052 39802 L43940 39821" />
+<path d="M43940 39821 L43743 39821" />
+<path d="M43743 39821 L43630 39802" />
+<path d="M43630 39802 L43574 39765" />
+<path d="M43574 39765 L43546 39727" />
+</g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44137 39164 L43855 39295" />
+<g style = "stroke-linecap:round;" >
+<path d="M43855 39295 L43855 39295" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44137 39389 L43546 39389" />
+<path d="M43546 39389 L43546 39239" />
+<path d="M43546 39239 L43574 39202" />
+<path d="M43574 39202 L43602 39183" />
+<path d="M43602 39183 L43658 39164" />
+<path d="M43658 39164 L43743 39164" />
+<path d="M43743 39164 L43799 39183" />
+<path d="M43799 39183 L43827 39202" />
+<path d="M43827 39202 L43855 39239" />
+<path d="M43855 39239 L43855 39389" />
+<g style = "stroke-linecap:round;" >
+<path d="M43855 39389 L43855 39389" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44109 38714 L44137 38658" />
+<path d="M44137 38658 L44137 38564" />
+<path d="M44137 38564 L44109 38526" />
+<path d="M44109 38526 L44080 38508" />
+<path d="M44080 38508 L44024 38489" />
+<path d="M44024 38489 L43968 38489" />
+<path d="M43968 38489 L43912 38508" />
+<path d="M43912 38508 L43883 38526" />
+<path d="M43883 38526 L43855 38564" />
+<path d="M43855 38564 L43827 38639" />
+<path d="M43827 38639 L43799 38676" />
+<path d="M43799 38676 L43771 38695" />
+<path d="M43771 38695 L43715 38714" />
+<path d="M43715 38714 L43658 38714" />
+<path d="M43658 38714 L43602 38695" />
+<path d="M43602 38695 L43574 38676" />
+<path d="M43574 38676 L43546 38639" />
+<path d="M43546 38639 L43546 38545" />
+<path d="M43546 38545 L43574 38489" />
+<g style = "stroke-linecap:round;" >
+<path d="M43574 38489 L43574 38489" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43827 38320 L43827 38189" />
+<g style = "stroke-linecap:round;" >
+<path d="M43827 38189 L43827 38189" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44137 38133 L44137 38320" />
+<path d="M44137 38320 L43546 38320" />
+<path d="M43546 38320 L43546 38133" />
+<g style = "stroke-linecap:round;" >
+<path d="M43546 38133 L43546 38133" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44137 37964 L43546 37964" />
+<path d="M43546 37964 L44137 37739" />
+<path d="M44137 37739 L43546 37739" />
+<g style = "stroke-linecap:round;" >
+<path d="M43546 37739 L43546 37739" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44109 37570 L44137 37514" />
+<path d="M44137 37514 L44137 37420" />
+<path d="M44137 37420 L44109 37382" />
+<path d="M44109 37382 L44080 37364" />
+<path d="M44080 37364 L44024 37345" />
+<path d="M44024 37345 L43968 37345" />
+<path d="M43968 37345 L43912 37364" />
+<path d="M43912 37364 L43883 37382" />
+<path d="M43883 37382 L43855 37420" />
+<path d="M43855 37420 L43827 37495" />
+<path d="M43827 37495 L43799 37532" />
+<path d="M43799 37532 L43771 37551" />
+<path d="M43771 37551 L43715 37570" />
+<path d="M43715 37570 L43658 37570" />
+<path d="M43658 37570 L43602 37551" />
+<path d="M43602 37551 L43574 37532" />
+<path d="M43574 37532 L43546 37495" />
+<path d="M43546 37495 L43546 37401" />
+<path d="M43546 37401 L43574 37345" />
+<g style = "stroke-linecap:round;" >
+<path d="M43574 37345 L43574 37345" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43546 37101 L43546 37026" />
+<path d="M43546 37026 L43574 36989" />
+<path d="M43574 36989 L43630 36951" />
+<path d="M43630 36951 L43743 36932" />
+<path d="M43743 36932 L43940 36932" />
+<path d="M43940 36932 L44052 36951" />
+<path d="M44052 36951 L44109 36989" />
+<path d="M44109 36989 L44137 37026" />
+<path d="M44137 37026 L44137 37101" />
+<path d="M44137 37101 L44109 37139" />
+<path d="M44109 37139 L44052 37176" />
+<path d="M44052 37176 L43940 37195" />
+<path d="M43940 37195 L43743 37195" />
+<path d="M43743 37195 L43630 37176" />
+<path d="M43630 37176 L43574 37139" />
+<path d="M43574 37139 L43546 37101" />
+</g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44137 36538 L43855 36669" />
+<g style = "stroke-linecap:round;" >
+<path d="M43855 36669 L43855 36669" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44137 36763 L43546 36763" />
+<path d="M43546 36763 L43546 36613" />
+<path d="M43546 36613 L43574 36576" />
+<path d="M43574 36576 L43602 36557" />
+<path d="M43602 36557 L43658 36538" />
+<path d="M43658 36538 L43743 36538" />
+<path d="M43743 36538 L43799 36557" />
+<path d="M43799 36557 L43827 36576" />
+<path d="M43827 36576 L43855 36613" />
+<path d="M43855 36613 L43855 36763" />
+<g style = "stroke-linecap:round;" >
+<path d="M43855 36763 L43855 36763" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32281 26181 L32285 26181" />
+<path d="M32283 26179 L32283 26183" />
+</g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32522 28001 L31931 28001" />
+<path d="M31931 28001 L32353 27870" />
+<path d="M32353 27870 L31931 27739" />
+<path d="M31931 27739 L32522 27739" />
+<g style = "stroke-linecap:round;" >
+<path d="M32522 27739 L32522 27739" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32353 27570 L32353 27382" />
+<g style = "stroke-linecap:round;" >
+<path d="M32353 27382 L32353 27382" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32522 27607 L31931 27476" />
+<path d="M31931 27476 L32522 27345" />
+<g style = "stroke-linecap:round;" >
+<path d="M32522 27345 L32522 27345" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31959 27007 L31931 27044" />
+<path d="M31931 27044 L31931 27101" />
+<path d="M31931 27101 L31959 27157" />
+<path d="M31959 27157 L32015 27194" />
+<path d="M32015 27194 L32071 27213" />
+<path d="M32071 27213 L32184 27232" />
+<path d="M32184 27232 L32268 27232" />
+<path d="M32268 27232 L32381 27213" />
+<path d="M32381 27213 L32437 27194" />
+<path d="M32437 27194 L32494 27157" />
+<path d="M32494 27157 L32522 27101" />
+<path d="M32522 27101 L32522 27063" />
+<path d="M32522 27063 L32494 27007" />
+<path d="M32494 27007 L32465 26988" />
+<path d="M32465 26988 L32268 26988" />
+<path d="M32268 26988 L32268 27063" />
+<g style = "stroke-linecap:round;" >
+<path d="M32268 27063 L32268 27063" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32297 26819 L32297 26519" />
+<g style = "stroke-linecap:round;" >
+<path d="M32297 26519 L32297 26519" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32522 26669 L32071 26669" />
+<g style = "stroke-linecap:round;" >
+<path d="M32071 26669 L32071 26669" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32494 26312 L32522 26312" />
+<path d="M32522 26312 L32578 26331" />
+<path d="M32578 26331 L32606 26350" />
+<g style = "stroke-linecap:round;" >
+<path d="M32606 26350 L32606 26350" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32522 25843 L31931 25843" />
+<path d="M31931 25843 L32353 25712" />
+<path d="M32353 25712 L31931 25581" />
+<path d="M31931 25581 L32522 25581" />
+<g style = "stroke-linecap:round;" >
+<path d="M32522 25581 L32522 25581" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32353 25412 L32353 25224" />
+<g style = "stroke-linecap:round;" >
+<path d="M32353 25224 L32353 25224" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32522 25449 L31931 25318" />
+<path d="M31931 25318 L32522 25187" />
+<g style = "stroke-linecap:round;" >
+<path d="M32522 25187 L32522 25187" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31959 24849 L31931 24886" />
+<path d="M31931 24886 L31931 24943" />
+<path d="M31931 24943 L31959 24999" />
+<path d="M31959 24999 L32015 25036" />
+<path d="M32015 25036 L32071 25055" />
+<path d="M32071 25055 L32184 25074" />
+<path d="M32184 25074 L32268 25074" />
+<path d="M32268 25074 L32381 25055" />
+<path d="M32381 25055 L32437 25036" />
+<path d="M32437 25036 L32494 24999" />
+<path d="M32494 24999 L32522 24943" />
+<path d="M32522 24943 L32522 24905" />
+<path d="M32522 24905 L32494 24849" />
+<path d="M32494 24849 L32465 24830" />
+<path d="M32465 24830 L32268 24830" />
+<path d="M32268 24830 L32268 24905" />
+<g style = "stroke-linecap:round;" >
+<path d="M32268 24905 L32268 24905" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32297 24661 L32297 24361" />
+<g style = "stroke-linecap:round;" >
+<path d="M32297 24361 L32297 24361" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M27754 26378 L27758 26378" />
+<path d="M27756 26376 L27756 26380" />
+</g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M27770 27747 L27770 27447" />
+<g style = "stroke-linecap:round;" >
+<path d="M27770 27447 L27770 27447" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M27995 27597 L27544 27597" />
+<g style = "stroke-linecap:round;" >
+<path d="M27544 27597 L27544 27597" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M27995 27053 L27995 27278" />
+<g style = "stroke-linecap:round;" >
+<path d="M27995 27278 L27995 27278" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M27995 27165 L27404 27165" />
+<path d="M27404 27165 L27488 27203" />
+<path d="M27488 27203 L27544 27240" />
+<path d="M27544 27240 L27573 27278" />
+<g style = "stroke-linecap:round;" >
+<path d="M27573 27278 L27573 27278" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M27460 26903 L27432 26884" />
+<path d="M27432 26884 L27404 26847" />
+<path d="M27404 26847 L27404 26753" />
+<path d="M27404 26753 L27432 26715" />
+<path d="M27432 26715 L27460 26697" />
+<path d="M27460 26697 L27516 26678" />
+<path d="M27516 26678 L27573 26678" />
+<path d="M27573 26678 L27657 26697" />
+<path d="M27657 26697 L27995 26922" />
+<path d="M27995 26922 L27995 26678" />
+<g style = "stroke-linecap:round;" >
+<path d="M27995 26678 L27995 26678" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M27967 26490 L27995 26490" />
+<path d="M27995 26490 L28051 26509" />
+<path d="M28051 26509 L28079 26528" />
+<g style = "stroke-linecap:round;" >
+<path d="M28079 26528 L28079 26528" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M27432 25815 L27404 25852" />
+<path d="M27404 25852 L27404 25909" />
+<path d="M27404 25909 L27432 25965" />
+<path d="M27432 25965 L27488 26002" />
+<path d="M27488 26002 L27544 26021" />
+<path d="M27544 26021 L27657 26040" />
+<path d="M27657 26040 L27741 26040" />
+<path d="M27741 26040 L27854 26021" />
+<path d="M27854 26021 L27910 26002" />
+<path d="M27910 26002 L27967 25965" />
+<path d="M27967 25965 L27995 25909" />
+<path d="M27995 25909 L27995 25871" />
+<path d="M27995 25871 L27967 25815" />
+<path d="M27967 25815 L27938 25796" />
+<path d="M27938 25796 L27741 25796" />
+<path d="M27741 25796 L27741 25871" />
+<g style = "stroke-linecap:round;" >
+<path d="M27741 25871 L27741 25871" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M27995 25627 L27404 25627" />
+<path d="M27404 25627 L27995 25402" />
+<path d="M27995 25402 L27404 25402" />
+<g style = "stroke-linecap:round;" >
+<path d="M27404 25402 L27404 25402" />
+</g></g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:99"
+ transform="translate(0 0) scale(1 1)">
+<path d="M27995 25214 L27404 25214" />
+<path d="M27404 25214 L27404 25120" />
+<path d="M27404 25120 L27432 25064" />
+<path d="M27432 25064 L27488 25027" />
+<path d="M27488 25027 L27544 25008" />
+<path d="M27544 25008 L27657 24989" />
+<path d="M27657 24989 L27741 24989" />
+<path d="M27741 24989 L27854 25008" />
+<path d="M27854 25008 L27910 25027" />
+<path d="M27910 25027 L27967 25064" />
+<path d="M27967 25064 L27995 25120" />
+<path d="M27995 25120 L27995 25214" />
+</g>
+<g style="fill:#A00000; fill-opacity:0.0;
+ stroke:#FFFF00; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:150"
+ transform="translate(0 0) scale(1 1)">
+<path d="M26772 23622 L26772 43307" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="27559" cy="42126" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:157"
+ transform="translate(0 0) scale(1 1)">
+<path d="M27559 42126 L27953 42126" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:157"
+ transform="translate(0 0) scale(1 1)">
+<path d="M27559 42126 L27559 42520" />
+<path d="M27559 41732 L27559 42126" />
+<path d="M27166 42126 L27953 42126" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:157"
+ transform="translate(0 0) scale(1 1)">
+<path d="M27166 42126 L27559 42126" />
+<path d="M27559 42520 L27559 41732" />
+<path d="M45472 25198 L45472 24410" />
+<path d="M45079 24804 L45472 24804" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:157"
+ transform="translate(0 0) scale(1 1)">
+<path d="M45079 24804 L45866 24804" />
+<path d="M45472 24410 L45472 24804" />
+<path d="M45472 24804 L45472 25198" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:157"
+ transform="translate(0 0) scale(1 1)">
+<path d="M45472 24804 L45866 24804" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="45472" cy="24804" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="45472" cy="42126" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:157"
+ transform="translate(0 0) scale(1 1)">
+<path d="M45472 42126 L45866 42126" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:157"
+ transform="translate(0 0) scale(1 1)">
+<path d="M45472 42126 L45472 42520" />
+<path d="M45472 41732 L45472 42126" />
+<path d="M45079 42126 L45866 42126" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:157"
+ transform="translate(0 0) scale(1 1)">
+<path d="M45079 42126 L45472 42126" />
+<path d="M45472 42520 L45472 41732" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:316"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29134 26878 L31102 26878" />
+<path d="M31102 25878 L33752 25878" />
+<path d="M33752 25878 L34539 26665" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:315"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30102 29709 L32965 29709" />
+<path d="M28059 25878 L29134 25878" />
+<path d="M27953 25984 L28059 25878" />
+<path d="M27953 27756 L27953 25984" />
+<path d="M27953 27756 L29134 28937" />
+<path d="M29134 28937 L29330 28937" />
+<path d="M29330 28937 L30102 29709" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="42278" cy="35203" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36527 33376 L37080 33376" />
+<path d="M31359 39370 L31359 38810" />
+<path d="M31359 37795 L31359 38810" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:315"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32965 29709 L35009 27665" />
+<path d="M35009 27665 L35539 27665" />
+<path d="M35539 27665 L36054 27665" />
+<path d="M36054 27665 L36453 28064" />
+<path d="M36453 28064 L37415 28064" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44322 33721 L44882 33721" />
+<path d="M43307 33721 L44322 33721" />
+<path d="M43307 33721 L43307 34181" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:315"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38280 27199 L38280 26929" />
+<path d="M37415 28064 L38280 27199" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40676 38382 L40676 35567" />
+<path d="M38890 40168 L40676 38382" />
+<path d="M38890 41552 L38890 40168" />
+<path d="M39124 34015 L40676 35567" />
+<path d="M39124 34015 L39124 31958" />
+<path d="M36079 34725 L36571 35218" />
+<path d="M36571 35218 L37599 35218" />
+<path d="M37599 35218 L37654 35163" />
+<path d="M37654 35163 L37976 35163" />
+<path d="M37976 35163 L39124 34015" />
+<path d="M36527 34277 L36527 33376" />
+<path d="M36079 34725 L36527 34277" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37415 28064 L39256 29905" />
+<path d="M39256 31733 L39256 29905" />
+<path d="M39256 31733 L42225 34702" />
+<path d="M42225 35184 L42225 34702" />
+<path d="M41559 35850 L42225 35184" />
+<path d="M41559 38122 L41559 35850" />
+<path d="M41559 38122 L42520 39083" />
+<path d="M42259 35184 L42278 35203" />
+<path d="M42225 35184 L42259 35184" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M42278 35203 L42285 35203" />
+<path d="M42285 35203 L43307 34181" />
+<path d="M40676 35567 L41914 35567" />
+<path d="M41914 35567 L42278 35203" />
+<path d="M36068 34736 L36079 34725" />
+<path d="M34575 34736 L36068 34736" />
+<path d="M34444 34867 L34575 34736" />
+<path d="M34444 35765 L34444 34867" />
+<path d="M32414 37795 L34444 35765" />
+<path d="M31359 37795 L32414 37795" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="36903" cy="30592" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="35212" cy="33157" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36903 30592 L37888 30592" />
+<path d="M37888 30592 L38494 31198" />
+<path d="M38494 31958 L38494 31198" />
+<path d="M35039 33996 L35039 33536" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35212 32283 L35212 33157" />
+<path d="M35212 32283 L36903 30592" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35039 33536 L35212 33363" />
+<path d="M35212 33157 L35212 33363" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="37437" cy="29965" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40846 32748 L41400 32748" />
+<path d="M44882 30571 L44882 30111" />
+<path d="M42395 31199 L42395 30155" />
+<path d="M41400 32194 L42395 31199" />
+<path d="M41400 32748 L41400 32194" />
+<path d="M42395 30155 L42439 30111" />
+<path d="M42439 30111 L44882 30111" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37181 29709 L37437 29965" />
+<path d="M33965 29709 L37181 29709" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37437 29965 L37461 29989" />
+<path d="M37461 29989 L42229 29989" />
+<path d="M42229 29989 L42395 30155" />
+<path d="M35114 38583 L35913 37784" />
+<path d="M35913 37784 L36574 37784" />
+<path d="M36574 37784 L38176 36182" />
+<path d="M38176 35738 L38176 36182" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="37218" cy="27302" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36581 26665 L37218 27302" />
+<path d="M35539 26665 L36581 26665" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37218 27302 L39187 29271" />
+<path d="M39187 29271 L41732 29271" />
+<path d="M34114 38583 L36959 35738" />
+<path d="M36959 35738 L37866 35738" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="38808" cy="30939" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="35807" cy="32913" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33465 33996 L34025 33996" />
+<path d="M38808 31958 L38808 30939" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35807 32913 L36834 32913" />
+<path d="M36834 32913 L38808 30939" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35640 32746 L35807 32913" />
+<path d="M35039 32746 L35640 32746" />
+<path d="M34025 33760 L35039 32746" />
+<path d="M34025 33996 L34025 33760" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="39708" cy="31012" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39438 31958 L39438 31404" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39707 31012 L39708 31012" />
+<path d="M39707 27356 L39707 31012" />
+<path d="M39280 26929 L39707 27356" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39708 31134 L39708 31012" />
+<path d="M39438 31404 L39708 31134" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="41801" cy="34867" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40846 34958 L41400 34958" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40124 36544 L41801 34867" />
+<path d="M40124 37011 L40124 36544" />
+<path d="M39893 37242 L40124 37011" />
+<path d="M38161 37242 L39893 37242" />
+<path d="M33965 33046 L38161 37242" />
+<path d="M33965 31709 L33965 33046" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M41710 34958 L41801 34867" />
+<path d="M41400 34958 L41710 34958" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="39824" cy="37639" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40076 35738 L40076 36291" />
+<path d="M40076 37387 L40076 36291" />
+<path d="M39824 37639 L40076 37387" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37229 37639 L39824 37639" />
+<path d="M32418 32828 L37229 37639" />
+<path d="M32418 31256 L32418 32828" />
+<path d="M32418 31256 L32965 30709" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="39672" cy="36818" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39756 35738 L39756 36291" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38076 36818 L39672 36818" />
+<path d="M34480 33222 L38076 36818" />
+<path d="M34480 31224 L34480 33222" />
+<path d="M33965 30709 L34480 31224" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39672 36818 L39756 36734" />
+<path d="M39756 36291 L39756 36734" />
+<path d="M39436 35738 L39436 36291" />
+<path d="M39114 38583 L39114 38068" />
+<path d="M39114 38068 L39221 37961" />
+<path d="M39221 36626 L39221 37961" />
+<path d="M39221 36626 L39436 36411" />
+<path d="M39436 36291 L39436 36411" />
+<path d="M38114 38583 L38982 37715" />
+<path d="M38982 36526 L38982 37715" />
+<path d="M38982 36526 L39116 36392" />
+<path d="M39116 35738 L39116 36392" />
+<path d="M38806 35738 L38806 36291" />
+<path d="M37114 38583 L38743 36954" />
+<path d="M38743 36354 L38743 36954" />
+<path d="M38743 36354 L38806 36291" />
+<path d="M36527 32746 L37080 32746" />
+<path d="M30315 31958 L30855 31958" />
+<path d="M30855 33249 L30855 31958" />
+<path d="M29774 34330 L30855 33249" />
+<path d="M29774 36950 L29774 34330" />
+<path d="M29774 36950 L30059 37235" />
+<path d="M30059 37795 L30059 37235" />
+<path d="M30855 33249 L34197 33249" />
+<path d="M34197 33249 L35025 32421" />
+<path d="M35025 32421 L36202 32421" />
+<path d="M36202 32421 L36527 32746" />
+<path d="M30315 36968 L30519 37172" />
+<path d="M30519 39370 L30519 37172" />
+<path d="M30059 39370 L30519 39370" />
+<path d="M30315 35758 L30315 36968" />
+<path d="M30315 35758 L30855 35758" />
+<path d="M36417 33061 L37080 33061" />
+<path d="M36013 33465 L36417 33061" />
+<path d="M36013 34055 L36013 33465" />
+<path d="M35574 34494 L36013 34055" />
+<path d="M32119 34494 L35574 34494" />
+<path d="M30855 35758 L32119 34494" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="33150" cy="36198" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="34401" cy="39647" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34401 39647 L37265 39647" />
+<path d="M37265 39647 L38378 40760" />
+<path d="M38378 41552 L38378 40760" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33150 38396 L33150 36198" />
+<path d="M33150 38396 L34401 39647" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33150 36198 L33465 35883" />
+<path d="M33465 35296 L33465 35883" />
+<path d="M38122 40888 L38122 41552" />
+<path d="M38077 40843 L38122 40888" />
+<path d="M35029 40843 L38077 40843" />
+<path d="M33584 39398 L35029 40843" />
+<path d="M33584 38363 L33584 39398" />
+<path d="M33584 38363 L35039 36908" />
+<path d="M35039 35296 L35039 36908" />
+<path d="M36114 38583 L38406 36291" />
+<path d="M38406 36291 L38496 36291" />
+<path d="M38496 35738 L38496 36291" />
+<path d="M40293 32470 L41732 31031" />
+<path d="M40293 34638 L40293 32470" />
+<path d="M40293 34638 L40846 34638" />
+<path d="M41732 30571 L41732 31031" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="42390" cy="34305" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43307 30571 L43307 31031" />
+<path d="M40846 34318 L41340 34318" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M42520 38083 L42520 37569" />
+<path d="M42390 34305 L43290 35205" />
+<path d="M43290 36799 L43290 35205" />
+<path d="M42520 37569 L43290 36799" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M42377 34318 L42390 34305" />
+<path d="M41340 34318 L42377 34318" />
+<path d="M42390 31948 L42390 34305" />
+<path d="M42390 31948 L43307 31031" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="32965" cy="32567" rx="236" ry="236" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44322 32421 L44882 32421" />
+<path d="M43587 32421 L44322 32421" />
+<path d="M43307 32421 L43587 32421" />
+<path d="M37080 33691 L37634 33691" />
+<path d="M37634 33055 L37634 33691" />
+<path d="M37634 33055 L38178 32511" />
+<path d="M43307 29271 L43307 29731" />
+<path d="M38178 32174 L38178 32511" />
+<path d="M38178 32174 L38178 31958" />
+<path d="M38178 31958 L38178 31404" />
+<path d="M36859 31404 L38178 31404" />
+<path d="M36507 31052 L36859 31404" />
+<path d="M37866 41553 L37866 41121" />
+<path d="M32965 32566 L34082 32566" />
+<path d="M34082 32566 L35596 31052" />
+<path d="M35596 31052 L36507 31052" />
+<path d="M30832 41121 L37866 41121" />
+<path d="M29534 39823 L30832 41121" />
+<path d="M29534 30991 L29534 39823" />
+<path d="M29534 30991 L29777 30748" />
+<path d="M29777 30748 L31147 30748" />
+<path d="M31147 30748 L32965 32566" />
+<path d="M43307 29271 L44882 29271" />
+<path d="M44882 31961 L45443 31400" />
+<path d="M45443 29832 L45443 31400" />
+<path d="M45342 29731 L45443 29832" />
+<path d="M44882 29731 L45342 29731" />
+<path d="M44882 29271 L44882 29731" />
+<path d="M44882 32421 L44882 31961" />
+<path d="M36507 30287 L36507 31052" />
+<path d="M36507 30287 L37310 29484" />
+<path d="M37310 29484 L37687 29484" />
+<path d="M37687 29484 L37934 29731" />
+<path d="M37934 29731 L43307 29731" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32965 31709 L32965 32567" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:158"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32965 32566 L32965 32567" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:100"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43137 43032 L46182 43032" />
+<path d="M46182 42186 L46182 43032" />
+<path d="M46169 42252 L46182 42186" />
+<path d="M46098 42358 L46169 42252" />
+<path d="M45992 42429 L46098 42358" />
+<path d="M45866 42454 L45992 42429" />
+<path d="M45831 42454 L45866 42454" />
+<path d="M45800 42485 L45831 42454" />
+<path d="M45800 42520 L45800 42485" />
+<path d="M45775 42646 L45800 42520" />
+<path d="M45704 42752 L45775 42646" />
+<path d="M45598 42823 L45704 42752" />
+<path d="M45472 42848 L45598 42823" />
+<path d="M45346 42823 L45472 42848" />
+<path d="M45240 42752 L45346 42823" />
+<path d="M45169 42646 L45240 42752" />
+<path d="M45144 42520 L45169 42646" />
+<path d="M45144 42485 L45144 42520" />
+<path d="M45112 42454 L45144 42485" />
+<path d="M45079 42454 L45112 42454" />
+<path d="M44953 42429 L45079 42454" />
+<path d="M44847 42358 L44953 42429" />
+<path d="M44776 42252 L44847 42358" />
+<path d="M44751 42126 L44776 42252" />
+<path d="M44751 42126 L44776 42000" />
+<path d="M44776 42000 L44847 41894" />
+<path d="M44847 41894 L44953 41823" />
+<path d="M44953 41823 L45079 41798" />
+<path d="M45079 41798 L45112 41798" />
+<path d="M45112 41798 L45144 41766" />
+<path d="M45144 41732 L45144 41766" />
+<path d="M45144 41732 L45169 41606" />
+<path d="M45169 41606 L45240 41500" />
+<path d="M45240 41500 L45346 41429" />
+<path d="M45346 41429 L45472 41404" />
+<path d="M45472 41404 L45598 41429" />
+<path d="M45598 41429 L45704 41500" />
+<path d="M45704 41500 L45775 41606" />
+<path d="M45775 41606 L45800 41732" />
+<path d="M45800 41766 L45800 41732" />
+<path d="M45800 41766 L45831 41798" />
+<path d="M45831 41798 L45866 41798" />
+<path d="M45866 41798 L45992 41823" />
+<path d="M45992 41823 L46098 41894" />
+<path d="M46098 41894 L46169 42000" />
+<path d="M46169 42000 L46182 42065" />
+<path d="M46182 24864 L46182 42065" />
+<path d="M46169 24930 L46182 24864" />
+<path d="M46098 25036 L46169 24930" />
+<path d="M45992 25107 L46098 25036" />
+<path d="M45866 25132 L45992 25107" />
+<path d="M45831 25132 L45866 25132" />
+<path d="M45800 25163 L45831 25132" />
+<path d="M45800 25198 L45800 25163" />
+<path d="M45775 25324 L45800 25198" />
+<path d="M45704 25430 L45775 25324" />
+<path d="M45598 25501 L45704 25430" />
+<path d="M45472 25526 L45598 25501" />
+<path d="M45346 25501 L45472 25526" />
+<path d="M45240 25430 L45346 25501" />
+<path d="M45169 25324 L45240 25430" />
+<path d="M45144 25198 L45169 25324" />
+<path d="M45144 25163 L45144 25198" />
+<path d="M45112 25132 L45144 25163" />
+<path d="M45079 25132 L45112 25132" />
+<path d="M44953 25107 L45079 25132" />
+<path d="M44879 25057 L44953 25107" />
+<path d="M44879 25623 L44879 25057" />
+<path d="M36498 25623 L44879 25623" />
+<path d="M36498 23897 L36498 25623" />
+<path d="M27047 23897 L36498 23897" />
+<path d="M27047 24665 L27047 23897" />
+<path d="M27047 24665 L28419 24665" />
+<path d="M28419 28189 L28419 24665" />
+<path d="M27047 28189 L28419 28189" />
+<path d="M27047 41821 L27047 28189" />
+<path d="M27047 41821 L27166 41798" />
+<path d="M27166 41798 L27199 41798" />
+<path d="M27199 41798 L27231 41766" />
+<path d="M27231 41732 L27231 41766" />
+<path d="M27231 41732 L27256 41606" />
+<path d="M27256 41606 L27327 41500" />
+<path d="M27327 41500 L27433 41429" />
+<path d="M27433 41429 L27559 41404" />
+<path d="M27559 41404 L27685 41429" />
+<path d="M27685 41429 L27791 41500" />
+<path d="M27791 41500 L27862 41606" />
+<path d="M27862 41606 L27887 41732" />
+<path d="M27887 41766 L27887 41732" />
+<path d="M27887 41766 L27918 41798" />
+<path d="M27918 41798 L27953 41798" />
+<path d="M27953 41798 L28022 41811" />
+<path d="M28022 41383 L28022 41811" />
+<path d="M28022 41383 L28730 41383" />
+<path d="M28639 27443 L28730 27481" />
+<path d="M28569 27373 L28639 27443" />
+<path d="M28531 27281 L28569 27373" />
+<path d="M28531 26474 L28531 27281" />
+<path d="M28531 26474 L28569 26383" />
+<path d="M28569 26383 L28639 26313" />
+<path d="M28639 26313 L28693 26290" />
+<path d="M28622 26219 L28693 26290" />
+<path d="M28531 25997 L28622 26219" />
+<path d="M28531 25757 L28531 25997" />
+<path d="M28531 25757 L28623 25536" />
+<path d="M28623 25536 L28793 25366" />
+<path d="M28793 25366 L29015 25275" />
+<path d="M29015 25275 L29255 25275" />
+<path d="M29255 25275 L29476 25367" />
+<path d="M29476 25367 L29646 25537" />
+<path d="M29646 25537 L29737 25759" />
+<path d="M29737 25999 L29737 25759" />
+<path d="M29645 26220 L29737 25999" />
+<path d="M29574 26290 L29645 26220" />
+<path d="M29574 26290 L29629 26313" />
+<path d="M29629 26313 L29699 26383" />
+<path d="M29699 26383 L29737 26475" />
+<path d="M29737 27282 L29737 26475" />
+<path d="M29699 27373 L29737 27282" />
+<path d="M29629 27443 L29699 27373" />
+<path d="M29537 27481 L29629 27443" />
+<path d="M28730 27481 L29537 27481" />
+<path d="M28730 41383 L30642 41383" />
+<path d="M30599 41354 L30642 41383" />
+<path d="M30597 41351 L30599 41354" />
+<path d="M29301 40056 L30597 41351" />
+<path d="M29230 39949 L29301 40056" />
+<path d="M29204 39823 L29230 39949" />
+<path d="M29204 39823 L29205 39818" />
+<path d="M29205 30995 L29205 39818" />
+<path d="M29204 30991 L29205 30995" />
+<path d="M29204 30991 L29230 30865" />
+<path d="M29230 30865 L29301 30758" />
+<path d="M29301 30758 L29544 30515" />
+<path d="M29544 30515 L29651 30444" />
+<path d="M29651 30444 L29777 30419" />
+<path d="M29777 30419 L31142 30419" />
+<path d="M31142 30419 L31147 30418" />
+<path d="M31147 30418 L31273 30444" />
+<path d="M31273 30444 L31380 30515" />
+<path d="M31380 30515 L31522 30657" />
+<path d="M31522 27473 L31522 28442" />
+<path d="M31505 27481 L31522 27473" />
+<path d="M30698 27481 L31505 27481" />
+<path d="M30607 27443 L30698 27481" />
+<path d="M30537 27373 L30607 27443" />
+<path d="M30499 27281 L30537 27373" />
+<path d="M30499 26474 L30499 27281" />
+<path d="M30499 26474 L30537 26383" />
+<path d="M30537 26383 L30607 26313" />
+<path d="M30607 26313 L30661 26290" />
+<path d="M30590 26219 L30661 26290" />
+<path d="M30499 25997 L30590 26219" />
+<path d="M30499 25757 L30499 25997" />
+<path d="M30499 25757 L30591 25536" />
+<path d="M30591 25536 L30761 25366" />
+<path d="M30761 25366 L30983 25275" />
+<path d="M30983 25275 L31223 25275" />
+<path d="M31223 25275 L31444 25367" />
+<path d="M31444 25367 L31522 25445" />
+<path d="M31522 24017 L31522 25445" />
+<path d="M31522 24017 L32946 24017" />
+<path d="M32946 28442 L32946 24017" />
+<path d="M31522 28442 L32946 28442" />
+<path d="M31522 30657 L32388 31523" />
+<path d="M32388 31523 L32454 31367" />
+<path d="M32454 31367 L32611 31208" />
+<path d="M32453 31050 L32611 31208" />
+<path d="M32362 30828 L32453 31050" />
+<path d="M32362 30588 L32362 30828" />
+<path d="M32362 30588 L32454 30367" />
+<path d="M32454 30367 L32612 30209" />
+<path d="M32453 30050 L32612 30209" />
+<path d="M32362 29828 L32453 30050" />
+<path d="M32362 29588 L32362 29828" />
+<path d="M32362 29588 L32454 29367" />
+<path d="M32454 29367 L32624 29197" />
+<path d="M32624 29197 L32846 29106" />
+<path d="M32846 29106 L33086 29106" />
+<path d="M33086 29106 L33307 29198" />
+<path d="M33307 29198 L33465 29356" />
+<path d="M33465 29356 L33624 29197" />
+<path d="M33624 29197 L33846 29106" />
+<path d="M33846 29106 L34086 29106" />
+<path d="M34086 29106 L34307 29198" />
+<path d="M34307 29198 L34477 29368" />
+<path d="M34477 29368 L34568 29590" />
+<path d="M34568 29830 L34568 29590" />
+<path d="M34476 30051 L34568 29830" />
+<path d="M34317 30208 L34476 30051" />
+<path d="M34317 30208 L34477 30368" />
+<path d="M34477 30368 L34568 30590" />
+<path d="M34568 30830 L34568 30590" />
+<path d="M34476 31051 L34568 30830" />
+<path d="M34405 31121 L34476 31051" />
+<path d="M34405 31121 L34460 31144" />
+<path d="M34460 31144 L34530 31214" />
+<path d="M34530 31214 L34568 31306" />
+<path d="M34568 31614 L34568 31306" />
+<path d="M34568 31614 L35135 31047" />
+<path d="M35044 28230 L35135 28268" />
+<path d="M34974 28160 L35044 28230" />
+<path d="M34936 28068 L34974 28160" />
+<path d="M34936 27261 L34936 28068" />
+<path d="M34936 27261 L34974 27170" />
+<path d="M34974 27170 L35044 27100" />
+<path d="M35044 27100 L35098 27077" />
+<path d="M35039 27018 L35098 27077" />
+<path d="M34880 27177 L35039 27018" />
+<path d="M34658 27268 L34880 27177" />
+<path d="M34418 27268 L34658 27268" />
+<path d="M34197 27176 L34418 27268" />
+<path d="M34027 27006 L34197 27176" />
+<path d="M33936 26784 L34027 27006" />
+<path d="M33936 26544 L33936 26784" />
+<path d="M33936 26544 L34028 26323" />
+<path d="M34028 26323 L34198 26153" />
+<path d="M34198 26153 L34420 26062" />
+<path d="M34420 26062 L34660 26062" />
+<path d="M34660 26062 L34881 26154" />
+<path d="M34881 26154 L35039 26311" />
+<path d="M35039 26311 L35198 26153" />
+<path d="M35198 26153 L35420 26062" />
+<path d="M35420 26062 L35660 26062" />
+<path d="M35660 26062 L35881 26154" />
+<path d="M35881 26154 L36051 26324" />
+<path d="M36051 26324 L36142 26546" />
+<path d="M36142 26786 L36142 26546" />
+<path d="M36050 27007 L36142 26786" />
+<path d="M35979 27077 L36050 27007" />
+<path d="M35979 27077 L36034 27100" />
+<path d="M36034 27100 L36104 27170" />
+<path d="M36104 27170 L36142 27262" />
+<path d="M36142 28069 L36142 27262" />
+<path d="M36104 28160 L36142 28069" />
+<path d="M36034 28230 L36104 28160" />
+<path d="M35942 28268 L36034 28230" />
+<path d="M35135 28268 L35942 28268" />
+<path d="M35135 31047 L35363 30819" />
+<path d="M35363 30819 L35470 30748" />
+<path d="M35470 30748 L35596 30723" />
+<path d="M35596 30723 L36178 30723" />
+<path d="M36178 30291 L36178 30723" />
+<path d="M36177 30287 L36178 30291" />
+<path d="M36177 30287 L36203 30161" />
+<path d="M36203 30161 L36274 30054" />
+<path d="M36274 30054 L37077 29251" />
+<path d="M37077 29251 L37184 29180" />
+<path d="M37184 29180 L37310 29155" />
+<path d="M37310 29155 L37682 29155" />
+<path d="M37682 29155 L37687 29154" />
+<path d="M37687 29154 L37813 29180" />
+<path d="M37813 29180 L37920 29251" />
+<path d="M37920 29251 L38070 29402" />
+<path d="M38070 29402 L38852 29402" />
+<path d="M37238 27788 L38852 29402" />
+<path d="M37121 27788 L37238 27788" />
+<path d="M36942 27714 L37121 27788" />
+<path d="M36806 27577 L36942 27714" />
+<path d="M36732 27398 L36806 27577" />
+<path d="M36732 27205 L36732 27398" />
+<path d="M36732 27205 L36806 27026" />
+<path d="M36806 27026 L36943 26890" />
+<path d="M36943 26890 L37122 26816" />
+<path d="M37122 26816 L37315 26816" />
+<path d="M37315 26816 L37494 26890" />
+<path d="M37494 26890 L37630 27027" />
+<path d="M37630 27027 L37704 27206" />
+<path d="M37704 27322 L37704 27206" />
+<path d="M37704 27322 L39159 28777" />
+<path d="M38938 27440 L39159 27532" />
+<path d="M38780 27281 L38938 27440" />
+<path d="M38621 27441 L38780 27281" />
+<path d="M38399 27532 L38621 27441" />
+<path d="M38159 27532 L38399 27532" />
+<path d="M37938 27440 L38159 27532" />
+<path d="M37768 27270 L37938 27440" />
+<path d="M37677 27048 L37768 27270" />
+<path d="M37677 26808 L37677 27048" />
+<path d="M37677 26808 L37769 26587" />
+<path d="M37769 26587 L37939 26417" />
+<path d="M37939 26417 L38161 26326" />
+<path d="M38161 26326 L38401 26326" />
+<path d="M38401 26326 L38622 26418" />
+<path d="M38622 26418 L38780 26576" />
+<path d="M38780 26576 L38939 26417" />
+<path d="M38939 26417 L39161 26326" />
+<path d="M39161 26326 L39401 26326" />
+<path d="M39401 26326 L39622 26418" />
+<path d="M39622 26418 L39792 26588" />
+<path d="M39792 26588 L39883 26810" />
+<path d="M39883 27050 L39883 26810" />
+<path d="M39791 27271 L39883 27050" />
+<path d="M39621 27441 L39791 27271" />
+<path d="M39399 27532 L39621 27441" />
+<path d="M39159 27532 L39399 27532" />
+<path d="M39159 28777 L39323 28942" />
+<path d="M39323 28942 L41083 28942" />
+<path d="M41083 28921 L41083 28942" />
+<path d="M41083 28921 L41121 28830" />
+<path d="M41121 28830 L41191 28760" />
+<path d="M41191 28760 L41283 28722" />
+<path d="M41283 28722 L42182 28722" />
+<path d="M42182 28722 L42273 28760" />
+<path d="M42273 28760 L42343 28830" />
+<path d="M42343 28830 L42381 28922" />
+<path d="M42381 29402 L42381 28922" />
+<path d="M42381 29402 L42658 29402" />
+<path d="M42658 28921 L42658 29402" />
+<path d="M42658 28921 L42696 28830" />
+<path d="M42696 28830 L42766 28760" />
+<path d="M42766 28760 L42858 28722" />
+<path d="M42858 28722 L43757 28722" />
+<path d="M43757 28722 L43848 28760" />
+<path d="M43848 28760 L43918 28830" />
+<path d="M43918 28830 L43956 28922" />
+<path d="M43956 28942 L43956 28922" />
+<path d="M43956 28942 L44233 28942" />
+<path d="M44233 28921 L44233 28942" />
+<path d="M44233 28921 L44271 28830" />
+<path d="M44271 28830 L44341 28760" />
+<path d="M44341 28760 L44433 28722" />
+<path d="M44433 28722 L45332 28722" />
+<path d="M45332 28722 L45423 28760" />
+<path d="M45423 28760 L45493 28830" />
+<path d="M45493 28830 L45531 28922" />
+<path d="M45531 29468 L45531 28922" />
+<path d="M45531 29468 L45575 29498" />
+<path d="M45575 29498 L45673 29597" />
+<path d="M45673 29597 L45676 29599" />
+<path d="M45676 29599 L45747 29706" />
+<path d="M45747 29706 L45767 29810" />
+<path d="M45767 29810 L45772 29831" />
+<path d="M45771 29831 L45772 29831" />
+<path d="M45771 29831 L45772 29832" />
+<path d="M45772 31400 L45772 29832" />
+<path d="M45747 31526 L45772 31400" />
+<path d="M45676 31633 L45747 31526" />
+<path d="M45673 31634 L45676 31633" />
+<path d="M45405 31902 L45673 31634" />
+<path d="M45405 31902 L45423 31910" />
+<path d="M45423 31910 L45493 31980" />
+<path d="M45493 31980 L45531 32072" />
+<path d="M45531 32771 L45531 32072" />
+<path d="M45493 32862 L45531 32771" />
+<path d="M45423 32932 L45493 32862" />
+<path d="M45331 32970 L45423 32932" />
+<path d="M44432 32970 L45331 32970" />
+<path d="M44341 32932 L44432 32970" />
+<path d="M44271 32862 L44341 32932" />
+<path d="M44233 32770 L44271 32862" />
+<path d="M44233 32750 L44233 32770" />
+<path d="M43956 32750 L44233 32750" />
+<path d="M43956 32771 L43956 32750" />
+<path d="M43918 32862 L43956 32771" />
+<path d="M43848 32932 L43918 32862" />
+<path d="M43756 32970 L43848 32932" />
+<path d="M42857 32970 L43756 32970" />
+<path d="M42766 32932 L42857 32970" />
+<path d="M42719 32885 L42766 32932" />
+<path d="M42719 33257 L42719 32885" />
+<path d="M42719 33257 L42766 33210" />
+<path d="M42766 33210 L42858 33172" />
+<path d="M42858 33172 L43757 33172" />
+<path d="M43757 33172 L43848 33210" />
+<path d="M43848 33210 L43918 33280" />
+<path d="M43918 33280 L43956 33372" />
+<path d="M43956 33392 L43956 33372" />
+<path d="M43956 33392 L44233 33392" />
+<path d="M44233 33371 L44233 33392" />
+<path d="M44233 33371 L44271 33280" />
+<path d="M44271 33280 L44341 33210" />
+<path d="M44341 33210 L44433 33172" />
+<path d="M44433 33172 L45332 33172" />
+<path d="M45332 33172 L45423 33210" />
+<path d="M45423 33210 L45493 33280" />
+<path d="M45493 33280 L45531 33372" />
+<path d="M45531 34071 L45531 33372" />
+<path d="M45493 34162 L45531 34071" />
+<path d="M45423 34232 L45493 34162" />
+<path d="M45331 34270 L45423 34232" />
+<path d="M44432 34270 L45331 34270" />
+<path d="M44341 34232 L44432 34270" />
+<path d="M44271 34162 L44341 34232" />
+<path d="M44233 34070 L44271 34162" />
+<path d="M44233 34050 L44233 34070" />
+<path d="M43956 34050 L44233 34050" />
+<path d="M43956 34071 L43956 34050" />
+<path d="M43918 34162 L43956 34071" />
+<path d="M43848 34232 L43918 34162" />
+<path d="M43756 34270 L43848 34232" />
+<path d="M43618 34270 L43756 34270" />
+<path d="M43611 34307 L43618 34270" />
+<path d="M43540 34414 L43611 34307" />
+<path d="M43537 34415 L43540 34414" />
+<path d="M42764 35189 L43537 34415" />
+<path d="M42764 35300 L42764 35189" />
+<path d="M42690 35479 L42764 35300" />
+<path d="M42553 35615 L42690 35479" />
+<path d="M42374 35689 L42553 35615" />
+<path d="M42257 35689 L42374 35689" />
+<path d="M42147 35800 L42257 35689" />
+<path d="M42040 35871 L42147 35800" />
+<path d="M41914 35897 L42040 35871" />
+<path d="M41909 35896 L41914 35897" />
+<path d="M41005 35896 L41909 35896" />
+<path d="M41005 38382 L41005 35896" />
+<path d="M41004 38382 L41005 38382" />
+<path d="M41004 38382 L41005 38383" />
+<path d="M40980 38508 L41005 38383" />
+<path d="M40909 38615 L40980 38508" />
+<path d="M40906 38616 L40909 38615" />
+<path d="M39219 40304 L40906 38616" />
+<path d="M39219 41032 L39219 40304" />
+<path d="M39219 41032 L39234 41032" />
+<path d="M39234 41032 L39235 41033" />
+<path d="M39235 41033 L39457 41033" />
+<path d="M39457 41033 L39458 41032" />
+<path d="M39458 41032 L39533 41033" />
+<path d="M39533 41033 L39632 41033" />
+<path d="M39632 41033 L39723 41071" />
+<path d="M39723 41071 L39793 41141" />
+<path d="M39793 41141 L39831 41233" />
+<path d="M39831 41233 L39832 41583" />
+<path d="M39831 41584 L39832 41583" />
+<path d="M39831 41806 L39831 41584" />
+<path d="M39831 41806 L39832 41807" />
+<path d="M39831 41975 L39832 41807" />
+<path d="M39831 41975 L39940 41976" />
+<path d="M39940 41976 L40039 41976" />
+<path d="M40039 41976 L40130 42014" />
+<path d="M40130 42014 L40200 42084" />
+<path d="M40200 42084 L40238 42176" />
+<path d="M40238 42176 L40239 42487" />
+<path d="M40238 42488 L40239 42487" />
+<path d="M40238 42710 L40238 42488" />
+<path d="M40238 42710 L40239 42711" />
+<path d="M40238 43022 L40239 42711" />
+<path d="M40238 43023 L40238 43022" />
+<path d="M40234 43032 L40238 43023" />
+<path d="M40234 43032 L42399 43032" />
+<path d="M42178 39594 L42399 39686" />
+<path d="M42008 39424 L42178 39594" />
+<path d="M41917 39202 L42008 39424" />
+<path d="M41917 38962 L41917 39202" />
+<path d="M41917 38962 L42009 38741" />
+<path d="M42009 38741 L42079 38670" />
+<path d="M42025 38648 L42079 38670" />
+<path d="M41955 38578 L42025 38648" />
+<path d="M41917 38486 L41955 38578" />
+<path d="M41917 37679 L41917 38486" />
+<path d="M41917 37679 L41955 37588" />
+<path d="M41955 37588 L42025 37518" />
+<path d="M42025 37518 L42117 37480" />
+<path d="M42117 37480 L42924 37480" />
+<path d="M42924 37480 L43015 37518" />
+<path d="M43015 37518 L43085 37588" />
+<path d="M43085 37588 L43123 37680" />
+<path d="M43123 38487 L43123 37680" />
+<path d="M43085 38578 L43123 38487" />
+<path d="M43015 38648 L43085 38578" />
+<path d="M42960 38670 L43015 38648" />
+<path d="M42960 38670 L43032 38742" />
+<path d="M43032 38742 L43123 38964" />
+<path d="M43123 39204 L43123 38964" />
+<path d="M43031 39425 L43123 39204" />
+<path d="M42861 39595 L43031 39425" />
+<path d="M42639 39686 L42861 39595" />
+<path d="M42399 39686 L42639 39686" />
+<path d="M42399 43032 L43137 43032" />
+<path d="M43137 36213 L43137 41050" />
+<path d="M43137 36213 L44561 36213" />
+<path d="M44561 41050 L44561 36213" />
+<path d="M43137 41050 L44561 41050" />
+<path d="M36033 43032 L36520 43032" />
+<path d="M36516 43022 L36520 43032" />
+<path d="M36515 42711 L36516 43022" />
+<path d="M36515 42711 L36516 42710" />
+<path d="M36516 42488 L36516 42710" />
+<path d="M36515 42487 L36516 42488" />
+<path d="M36515 42487 L36516 42176" />
+<path d="M36516 42175 L36516 42176" />
+<path d="M36516 42175 L36554 42084" />
+<path d="M36554 42084 L36624 42014" />
+<path d="M36624 42014 L36715 41976" />
+<path d="M36715 41976 L36814 41976" />
+<path d="M36814 41976 L36922 41975" />
+<path d="M36922 41807 L36922 41975" />
+<path d="M36922 41807 L36923 41806" />
+<path d="M36923 41584 L36923 41806" />
+<path d="M36922 41583 L36923 41584" />
+<path d="M36922 41450 L36922 41583" />
+<path d="M36033 41450 L36922 41450" />
+<path d="M36033 43032 L36033 41450" />
+<path d="M27047 43032 L28022 43032" />
+<path d="M28022 42440 L28022 43032" />
+<path d="M27953 42454 L28022 42440" />
+<path d="M27918 42454 L27953 42454" />
+<path d="M27887 42485 L27918 42454" />
+<path d="M27887 42520 L27887 42485" />
+<path d="M27862 42646 L27887 42520" />
+<path d="M27791 42752 L27862 42646" />
+<path d="M27685 42823 L27791 42752" />
+<path d="M27559 42848 L27685 42823" />
+<path d="M27433 42823 L27559 42848" />
+<path d="M27327 42752 L27433 42823" />
+<path d="M27256 42646 L27327 42752" />
+<path d="M27231 42520 L27256 42646" />
+<path d="M27231 42485 L27231 42520" />
+<path d="M27199 42454 L27231 42485" />
+<path d="M27166 42454 L27199 42454" />
+<path d="M27047 42430 L27166 42454" />
+<path d="M27047 43032 L27047 42430" />
+<path d="M30968 40792 L34512 40792" />
+<path d="M33351 39631 L34512 40792" />
+<path d="M33280 39524 L33351 39631" />
+<path d="M33254 39398 L33280 39524" />
+<path d="M33254 39398 L33255 39393" />
+<path d="M33255 38367 L33255 39393" />
+<path d="M33254 38363 L33255 38367" />
+<path d="M33254 38363 L33280 38237" />
+<path d="M33280 38237 L33351 38130" />
+<path d="M33351 38130 L34710 36771" />
+<path d="M34710 35948 L34710 36771" />
+<path d="M34677 35998 L34710 35948" />
+<path d="M34674 35999 L34677 35998" />
+<path d="M32647 38028 L34674 35999" />
+<path d="M32540 38099 L32647 38028" />
+<path d="M32414 38125 L32540 38099" />
+<path d="M32409 38124 L32414 38125" />
+<path d="M31908 38124 L32409 38124" />
+<path d="M31908 38245 L31908 38124" />
+<path d="M31870 38336 L31908 38245" />
+<path d="M31800 38406 L31870 38336" />
+<path d="M31708 38444 L31800 38406" />
+<path d="M31688 38444 L31708 38444" />
+<path d="M31688 38721 L31688 38444" />
+<path d="M31688 38721 L31709 38721" />
+<path d="M31709 38721 L31800 38759" />
+<path d="M31800 38759 L31870 38829" />
+<path d="M31870 38829 L31908 38921" />
+<path d="M31908 39820 L31908 38921" />
+<path d="M31870 39911 L31908 39820" />
+<path d="M31800 39981 L31870 39911" />
+<path d="M31708 40019 L31800 39981" />
+<path d="M31009 40019 L31708 40019" />
+<path d="M30918 39981 L31009 40019" />
+<path d="M30848 39911 L30918 39981" />
+<path d="M30810 39819 L30848 39911" />
+<path d="M30810 39515 L30810 39819" />
+<path d="M30752 39603 L30810 39515" />
+<path d="M30645 39674 L30752 39603" />
+<path d="M30608 39681 L30645 39674" />
+<path d="M30608 39820 L30608 39681" />
+<path d="M30570 39911 L30608 39820" />
+<path d="M30500 39981 L30570 39911" />
+<path d="M30408 40019 L30500 39981" />
+<path d="M30195 40019 L30408 40019" />
+<path d="M30195 40019 L30968 40792" />
+<path d="M35165 40514 L37666 40514" />
+<path d="M37127 39975 L37666 40514" />
+<path d="M34759 39976 L37127 39975" />
+<path d="M34693 40041 L34759 39976" />
+<path d="M34693 40041 L35165 40514" />
+<path d="M37498 39414 L38561 40477" />
+<path d="M38561 40172 L38561 40477" />
+<path d="M38560 40168 L38561 40172" />
+<path d="M38560 40168 L38586 40042" />
+<path d="M38586 40042 L38657 39935" />
+<path d="M38657 39935 L39406 39186" />
+<path d="M38710 39186 L39406 39186" />
+<path d="M38619 39148 L38710 39186" />
+<path d="M38549 39078 L38619 39148" />
+<path d="M38528 39028 L38549 39078" />
+<path d="M38458 39099 L38528 39028" />
+<path d="M38234 39191 L38458 39099" />
+<path d="M37992 39191 L38234 39191" />
+<path d="M37769 39098 L37992 39191" />
+<path d="M37614 38943 L37769 39098" />
+<path d="M37458 39099 L37614 38943" />
+<path d="M37234 39191 L37458 39099" />
+<path d="M36992 39191 L37234 39191" />
+<path d="M36769 39098 L36992 39191" />
+<path d="M36613 38943 L36769 39098" />
+<path d="M36458 39099 L36613 38943" />
+<path d="M36234 39191 L36458 39099" />
+<path d="M35992 39191 L36234 39191" />
+<path d="M35769 39098 L35992 39191" />
+<path d="M35614 38943 L35769 39098" />
+<path d="M35458 39099 L35614 38943" />
+<path d="M35234 39191 L35458 39099" />
+<path d="M34992 39191 L35234 39191" />
+<path d="M34769 39098 L34992 39191" />
+<path d="M34614 38943 L34769 39098" />
+<path d="M34458 39099 L34614 38943" />
+<path d="M34307 39161 L34458 39099" />
+<path d="M34307 39161 L34498 39161" />
+<path d="M34498 39161 L34677 39235" />
+<path d="M34677 39235 L34759 39318" />
+<path d="M34759 39318 L37260 39318" />
+<path d="M37260 39318 L37265 39317" />
+<path d="M37265 39317 L37391 39343" />
+<path d="M37391 39343 L37498 39414" />
+<path d="M33913 39261 L34005 39354" />
+<path d="M34005 39354 L34126 39235" />
+<path d="M34126 39235 L34232 39191" />
+<path d="M33992 39191 L34232 39191" />
+<path d="M33913 39158 L33992 39191" />
+<path d="M33913 39261 L33913 39158" />
+<path d="M39717 38875 L39717 38180" />
+<path d="M39717 38875 L40347 38245" />
+<path d="M40347 37562 L40347 38245" />
+<path d="M40310 37618 L40347 37562" />
+<path d="M40310 37736 L40310 37618" />
+<path d="M40236 37915 L40310 37736" />
+<path d="M40099 38051 L40236 37915" />
+<path d="M39920 38125 L40099 38051" />
+<path d="M39727 38125 L39920 38125" />
+<path d="M39687 38108 L39727 38125" />
+<path d="M39687 38108 L39717 38180" />
+<path d="M30848 38829 L30848 38336" />
+<path d="M30848 38829 L30918 38759" />
+<path d="M30918 38759 L31010 38721" />
+<path d="M31010 38721 L31030 38721" />
+<path d="M31030 38444 L31030 38721" />
+<path d="M31009 38444 L31030 38444" />
+<path d="M30918 38406 L31009 38444" />
+<path d="M30848 38336 L30918 38406" />
+<path d="M29863 38721 L30190 38721" />
+<path d="M30190 38444 L30190 38721" />
+<path d="M29863 38444 L30190 38444" />
+<path d="M29863 38721 L29863 38444" />
+<path d="M38236 37975 L38250 37981" />
+<path d="M38250 37981 L38653 37578" />
+<path d="M38653 37509 L38653 37578" />
+<path d="M38187 37975 L38653 37509" />
+<path d="M38187 37975 L38236 37975" />
+<path d="M35236 37975 L35250 37981" />
+<path d="M35250 37981 L35680 37551" />
+<path d="M35680 37551 L35787 37480" />
+<path d="M35787 37480 L35886 37460" />
+<path d="M35886 37460 L35912 37455" />
+<path d="M35912 37455 L36437 37455" />
+<path d="M36437 37455 L37593 36298" />
+<path d="M37567 36272 L37593 36298" />
+<path d="M37529 36180 L37567 36272" />
+<path d="M37529 36067 L37529 36180" />
+<path d="M37095 36067 L37529 36067" />
+<path d="M35187 37975 L37095 36067" />
+<path d="M35187 37975 L35236 37975" />
+<path d="M37236 37975 L37250 37980" />
+<path d="M37250 37980 L38414 36817" />
+<path d="M38414 36748 L38414 36817" />
+<path d="M37187 37975 L38414 36748" />
+<path d="M37187 37975 L37236 37975" />
+<path d="M31908 37466 L32277 37466" />
+<path d="M32277 37466 L33059 36684" />
+<path d="M33053 36684 L33059 36684" />
+<path d="M32874 36610 L33053 36684" />
+<path d="M32738 36473 L32874 36610" />
+<path d="M32664 36294 L32738 36473" />
+<path d="M32664 36101 L32664 36294" />
+<path d="M32664 36101 L32738 35922" />
+<path d="M32738 35922 L32875 35786" />
+<path d="M32875 35786 L32894 35777" />
+<path d="M32854 35737 L32894 35777" />
+<path d="M32816 35645 L32854 35737" />
+<path d="M32816 34946 L32816 35645" />
+<path d="M32816 34946 L32854 34855" />
+<path d="M32854 34855 L32886 34823" />
+<path d="M32255 34823 L32886 34823" />
+<path d="M31088 35991 L32255 34823" />
+<path d="M30981 36062 L31088 35991" />
+<path d="M30944 36069 L30981 36062" />
+<path d="M30944 36858 L30944 36069" />
+<path d="M30906 36949 L30944 36858" />
+<path d="M30836 37019 L30906 36949" />
+<path d="M30811 37029 L30836 37019" />
+<path d="M30811 37029 L30823 37046" />
+<path d="M30823 37046 L30848 37172" />
+<path d="M30848 37254 L30848 37172" />
+<path d="M30848 37254 L30918 37184" />
+<path d="M30918 37184 L31010 37146" />
+<path d="M31010 37146 L31709 37146" />
+<path d="M31709 37146 L31800 37184" />
+<path d="M31800 37184 L31870 37254" />
+<path d="M31870 37254 L31908 37346" />
+<path d="M31908 37466 L31908 37346" />
+<path d="M35368 36863 L35368 35845" />
+<path d="M35368 36863 L36684 35547" />
+<path d="M36574 35547 L36684 35547" />
+<path d="M36570 35548 L36574 35547" />
+<path d="M36444 35522 L36570 35548" />
+<path d="M36373 35474 L36444 35522" />
+<path d="M36338 35451 L36373 35474" />
+<path d="M36337 35450 L36338 35451" />
+<path d="M35953 35065 L36337 35450" />
+<path d="M35688 35065 L35953 35065" />
+<path d="M35688 35646 L35688 35065" />
+<path d="M35650 35737 L35688 35646" />
+<path d="M35580 35807 L35650 35737" />
+<path d="M35488 35845 L35580 35807" />
+<path d="M35368 35845 L35488 35845" />
+<path d="M33777 35966 L33794 35883" />
+<path d="M33777 35966 L33898 35845" />
+<path d="M33794 35845 L33898 35845" />
+<path d="M33794 35883 L33794 35845" />
+<path d="M34114 35629 L34114 34947" />
+<path d="M34114 35629 L34115 35628" />
+<path d="M34115 34871 L34115 35628" />
+<path d="M34114 34867 L34115 34871" />
+<path d="M34114 34867 L34123 34823" />
+<path d="M34044 34823 L34123 34823" />
+<path d="M34044 34823 L34076 34855" />
+<path d="M34076 34855 L34114 34947" />
+<path d="M30944 35203 L30944 34659" />
+<path d="M30944 35203 L31886 34261" />
+<path d="M31886 34261 L31993 34190" />
+<path d="M31993 34190 L32119 34165" />
+<path d="M32119 34165 L32816 34165" />
+<path d="M32816 33646 L32816 34165" />
+<path d="M32816 33646 L32844 33578" />
+<path d="M30991 33578 L32844 33578" />
+<path d="M30110 34459 L30991 33578" />
+<path d="M30110 34459 L30745 34459" />
+<path d="M30745 34459 L30836 34497" />
+<path d="M30836 34497 L30906 34567" />
+<path d="M30906 34567 L30944 34659" />
+<path d="M39574 35096 L39596 35105" />
+<path d="M39596 35105 L39619 35096" />
+<path d="M39619 35096 L39739 35096" />
+<path d="M39123 34480 L39739 35096" />
+<path d="M38508 35096 L39123 34480" />
+<path d="M38508 35096 L38634 35096" />
+<path d="M38634 35096 L38651 35103" />
+<path d="M38651 35103 L38669 35096" />
+<path d="M38669 35096 L38944 35096" />
+<path d="M38944 35096 L38961 35103" />
+<path d="M38961 35103 L38979 35096" />
+<path d="M38979 35096 L39254 35096" />
+<path d="M39254 35096 L39276 35105" />
+<path d="M39276 35105 L39299 35096" />
+<path d="M39299 35096 L39574 35096" />
+<path d="M37722 34834 L37839 34834" />
+<path d="M37839 34834 L38795 33878" />
+<path d="M38795 32600 L38795 33878" />
+<path d="M38670 32600 L38795 32600" />
+<path d="M38650 32591 L38670 32600" />
+<path d="M38631 32600 L38650 32591" />
+<path d="M38489 32600 L38631 32600" />
+<path d="M38482 32637 L38489 32600" />
+<path d="M38411 32744 L38482 32637" />
+<path d="M38408 32745 L38411 32744" />
+<path d="M37963 33191 L38408 32745" />
+<path d="M37963 33691 L37963 33191" />
+<path d="M37938 33817 L37963 33691" />
+<path d="M37867 33924 L37938 33817" />
+<path d="M37760 33995 L37867 33924" />
+<path d="M37722 34002 L37760 33995" />
+<path d="M37722 34045 L37722 34002" />
+<path d="M37722 34045 L37723 34112" />
+<path d="M37722 34111 L37723 34112" />
+<path d="M37722 34144 L37722 34111" />
+<path d="M37713 34163 L37722 34144" />
+<path d="M37713 34163 L37722 34183" />
+<path d="M37722 34216 L37722 34183" />
+<path d="M37722 34216 L37723 34215" />
+<path d="M37722 34282 L37723 34215" />
+<path d="M37722 34360 L37722 34282" />
+<path d="M37722 34360 L37723 34427" />
+<path d="M37722 34426 L37723 34427" />
+<path d="M37722 34459 L37722 34426" />
+<path d="M37713 34478 L37722 34459" />
+<path d="M37713 34478 L37722 34498" />
+<path d="M37722 34531 L37722 34498" />
+<path d="M37722 34531 L37723 34530" />
+<path d="M37722 34597 L37723 34530" />
+<path d="M37722 34675 L37722 34597" />
+<path d="M37722 34675 L37723 34742" />
+<path d="M37722 34741 L37723 34742" />
+<path d="M37722 34774 L37722 34741" />
+<path d="M37713 34793 L37722 34774" />
+<path d="M37713 34793 L37722 34813" />
+<path d="M37722 34834 L37722 34813" />
+<path d="M39453 33878 L39964 34389" />
+<path d="M39964 32600 L39964 34389" />
+<path d="M39963 32600 L39964 32600" />
+<path d="M39962 32601 L39963 32600" />
+<path d="M39931 32600 L39962 32601" />
+<path d="M39930 32600 L39931 32600" />
+<path d="M39918 32594 L39930 32600" />
+<path d="M39911 32591 L39918 32594" />
+<path d="M39891 32600 L39911 32591" />
+<path d="M39860 32601 L39891 32600" />
+<path d="M39858 32600 L39860 32601" />
+<path d="M39648 32600 L39858 32600" />
+<path d="M39648 32601 L39648 32600" />
+<path d="M39617 32600 L39648 32601" />
+<path d="M39616 32600 L39617 32600" />
+<path d="M39595 32591 L39616 32600" />
+<path d="M39575 32600 L39595 32591" />
+<path d="M39453 32600 L39575 32600" />
+<path d="M39453 33878 L39453 32600" />
+<path d="M34300 34165 L34390 34165" />
+<path d="M34390 33861 L34390 34165" />
+<path d="M34354 33897 L34390 33861" />
+<path d="M34354 33996 L34354 33897" />
+<path d="M34329 34122 L34354 33996" />
+<path d="M34300 34165 L34329 34122" />
+<path d="M41488 33989 L42018 33989" />
+<path d="M42018 33989 L42061 33946" />
+<path d="M42061 31999 L42061 33946" />
+<path d="M41729 32331 L42061 31999" />
+<path d="M41729 32748 L41729 32331" />
+<path d="M41704 32874 L41729 32748" />
+<path d="M41633 32981 L41704 32874" />
+<path d="M41526 33052 L41633 32981" />
+<path d="M41488 33059 L41526 33052" />
+<path d="M41488 33097 L41488 33059" />
+<path d="M41488 33097 L41489 33164" />
+<path d="M41488 33163 L41489 33164" />
+<path d="M41488 33196 L41488 33163" />
+<path d="M41478 33218 L41488 33196" />
+<path d="M41478 33218 L41488 33240" />
+<path d="M41488 33273 L41488 33240" />
+<path d="M41488 33273 L41489 33272" />
+<path d="M41488 33339 L41489 33272" />
+<path d="M41488 33417 L41488 33339" />
+<path d="M41488 33417 L41489 33484" />
+<path d="M41488 33483 L41489 33484" />
+<path d="M41488 33516 L41488 33483" />
+<path d="M41480 33533 L41488 33516" />
+<path d="M41480 33533 L41488 33550" />
+<path d="M41488 33583 L41488 33550" />
+<path d="M41488 33583 L41489 33582" />
+<path d="M41488 33649 L41489 33582" />
+<path d="M41488 33727 L41488 33649" />
+<path d="M41488 33727 L41489 33794" />
+<path d="M41488 33793 L41489 33794" />
+<path d="M41488 33826 L41488 33793" />
+<path d="M41478 33848 L41488 33826" />
+<path d="M41478 33848 L41488 33870" />
+<path d="M41488 33903 L41488 33870" />
+<path d="M41488 33903 L41489 33902" />
+<path d="M41488 33969 L41489 33902" />
+<path d="M41488 33989 L41488 33969" />
+<path d="M29863 33775 L29863 33247" />
+<path d="M29863 33775 L30381 33257" />
+<path d="M29885 33257 L30381 33257" />
+<path d="M29863 33247 L29885 33257" />
+<path d="M35650 33555 L35684 33637" />
+<path d="M35684 33469 L35684 33637" />
+<path d="M35683 33465 L35684 33469" />
+<path d="M35683 33465 L35697 33393" />
+<path d="M35648 33373 L35697 33393" />
+<path d="M35624 33433 L35648 33373" />
+<path d="M35574 33482 L35624 33433" />
+<path d="M35574 33482 L35580 33485" />
+<path d="M35580 33485 L35650 33555" />
+<path d="M33299 32920 L34060 32920" />
+<path d="M34060 32920 L34084 32895" />
+<path d="M34082 32896 L34084 32895" />
+<path d="M34077 32895 L34082 32896" />
+<path d="M33324 32895 L34077 32895" />
+<path d="M33299 32920 L33324 32895" />
+<path d="M31184 32920 L32630 32920" />
+<path d="M32553 32842 L32630 32920" />
+<path d="M32479 32663 L32553 32842" />
+<path d="M32479 32546 L32479 32663" />
+<path d="M31010 31077 L32479 32546" />
+<path d="M30944 31077 L31010 31077" />
+<path d="M30944 31646 L30944 31077" />
+<path d="M30944 31646 L30981 31654" />
+<path d="M30981 31654 L31088 31725" />
+<path d="M31088 31725 L31159 31832" />
+<path d="M31159 31832 L31184 31958" />
+<path d="M31184 32920 L31184 31958" />
+<path d="M40817 32411 L41071 32411" />
+<path d="M41071 32198 L41071 32411" />
+<path d="M41070 32194 L41071 32198" />
+<path d="M41070 32194 L41079 32149" />
+<path d="M40817 32411 L41079 32149" />
+<path d="M37523 32409 L37531 32411" />
+<path d="M37527 32401 L37531 32411" />
+<path d="M37527 32302 L37527 32401" />
+<path d="M37526 32070 L37527 32302" />
+<path d="M37526 32070 L37527 32069" />
+<path d="M37527 31847 L37527 32069" />
+<path d="M37526 31846 L37527 31847" />
+<path d="M37526 31733 L37526 31846" />
+<path d="M36859 31733 L37526 31733" />
+<path d="M36858 31732 L36859 31733" />
+<path d="M36858 31733 L36858 31732" />
+<path d="M36837 31728 L36858 31733" />
+<path d="M36733 31708 L36837 31728" />
+<path d="M36626 31637 L36733 31708" />
+<path d="M36624 31634 L36626 31637" />
+<path d="M36370 31381 L36624 31634" />
+<path d="M35733 31381 L36370 31381" />
+<path d="M35021 32092 L35733 31381" />
+<path d="M35021 32092 L36197 32092" />
+<path d="M36197 32092 L36202 32091" />
+<path d="M36202 32091 L36328 32117" />
+<path d="M36328 32117 L36435 32188" />
+<path d="M36435 32188 L36655 32409" />
+<path d="M36655 32409 L37523 32409" />
+<path d="M33322 32237 L33433 32237" />
+<path d="M33400 32204 L33433 32237" />
+<path d="M33377 32149 L33400 32204" />
+<path d="M33306 32220 L33377 32149" />
+<path d="M33306 32220 L33322 32237" />
+<path d="M43956 32092 L44233 32092" />
+<path d="M44233 32071 L44233 32092" />
+<path d="M44233 32071 L44271 31980" />
+<path d="M44271 31980 L44341 31910" />
+<path d="M44341 31910 L44433 31872" />
+<path d="M44433 31872 L44570 31872" />
+<path d="M44570 31872 L44578 31835" />
+<path d="M44578 31835 L44649 31728" />
+<path d="M44649 31728 L45114 31263" />
+<path d="M45114 31120 L45114 31263" />
+<path d="M44432 31120 L45114 31120" />
+<path d="M44341 31082 L44432 31120" />
+<path d="M44271 31012 L44341 31082" />
+<path d="M44233 30920 L44271 31012" />
+<path d="M44233 30440 L44233 30920" />
+<path d="M43956 30440 L44233 30440" />
+<path d="M43956 30921 L43956 30440" />
+<path d="M43918 31012 L43956 30921" />
+<path d="M43848 31082 L43918 31012" />
+<path d="M43756 31120 L43848 31082" />
+<path d="M43618 31120 L43756 31120" />
+<path d="M43611 31157 L43618 31120" />
+<path d="M43540 31264 L43611 31157" />
+<path d="M43537 31265 L43540 31264" />
+<path d="M42931 31872 L43537 31265" />
+<path d="M42931 31872 L43757 31872" />
+<path d="M43757 31872 L43848 31910" />
+<path d="M43848 31910 L43918 31980" />
+<path d="M43918 31980 L43956 32072" />
+<path d="M43956 32092 L43956 32072" />
+<path d="M40405 31892 L40405 31847" />
+<path d="M40405 31892 L41207 31089" />
+<path d="M41191 31082 L41207 31089" />
+<path d="M41121 31012 L41191 31082" />
+<path d="M41083 30920 L41121 31012" />
+<path d="M41083 30318 L41083 30920" />
+<path d="M38059 30318 L41083 30318" />
+<path d="M38059 30318 L38121 30359" />
+<path d="M38121 30359 L38410 30648" />
+<path d="M38410 30648 L38533 30527" />
+<path d="M38533 30527 L38712 30453" />
+<path d="M38712 30453 L38905 30453" />
+<path d="M38905 30453 L39084 30527" />
+<path d="M39084 30527 L39220 30664" />
+<path d="M39220 30664 L39272 30791" />
+<path d="M39272 30791 L39296 30736" />
+<path d="M39296 30736 L39433 30600" />
+<path d="M39433 30600 L39612 30526" />
+<path d="M39612 30526 L39805 30526" />
+<path d="M39805 30526 L39984 30600" />
+<path d="M39984 30600 L40120 30737" />
+<path d="M40120 30737 L40194 30916" />
+<path d="M40194 31109 L40194 30916" />
+<path d="M40120 31288 L40194 31109" />
+<path d="M40091 31316 L40120 31288" />
+<path d="M40091 31316 L40172 31316" />
+<path d="M40172 31316 L40174 31315" />
+<path d="M40174 31315 L40205 31316" />
+<path d="M40205 31316 L40206 31316" />
+<path d="M40206 31316 L40297 31354" />
+<path d="M40297 31354 L40367 31424" />
+<path d="M40367 31424 L40405 31515" />
+<path d="M40405 31614 L40405 31515" />
+<path d="M40405 31614 L40406 31846" />
+<path d="M40405 31847 L40406 31846" />
+<path d="M33317 31208 L33377 31268" />
+<path d="M33377 31268 L33400 31214" />
+<path d="M33400 31214 L33470 31144" />
+<path d="M33470 31144 L33524 31121" />
+<path d="M33464 31061 L33524 31121" />
+<path d="M33317 31208 L33464 31061" />
+<path d="M42724 31148 L42724 31040" />
+<path d="M42724 31148 L42783 31089" />
+<path d="M42766 31082 L42783 31089" />
+<path d="M42724 31040 L42766 31082" />
+<path d="M37006 31075 L37905 31075" />
+<path d="M37751 30921 L37905 31075" />
+<path d="M37261 30921 L37751 30921" />
+<path d="M37178 31004 L37261 30921" />
+<path d="M37006 31075 L37178 31004" />
+<path d="M33318 30209 L33464 30355" />
+<path d="M33464 30355 L33611 30208" />
+<path d="M33465 30062 L33611 30208" />
+<path d="M33318 30209 L33465 30062" />
+<path d="M43848 29782 L44341 29782" />
+<path d="M44271 29712 L44341 29782" />
+<path d="M44233 29620 L44271 29712" />
+<path d="M44233 29600 L44233 29620" />
+<path d="M43956 29600 L44233 29600" />
+<path d="M43956 29621 L43956 29600" />
+<path d="M43918 29712 L43956 29621" />
+<path d="M43848 29782 L43918 29712" />
+<path d="M46169 24678 L46182 24743" />
+<path d="M46182 23897 L46182 24743" />
+<path d="M44879 23897 L46182 23897" />
+<path d="M44879 24550 L44879 23897" />
+<path d="M44879 24550 L44953 24501" />
+<path d="M44953 24501 L45079 24476" />
+<path d="M45079 24476 L45112 24476" />
+<path d="M45112 24476 L45144 24444" />
+<path d="M45144 24410 L45144 24444" />
+<path d="M45144 24410 L45169 24284" />
+<path d="M45169 24284 L45240 24178" />
+<path d="M45240 24178 L45346 24107" />
+<path d="M45346 24107 L45472 24082" />
+<path d="M45472 24082 L45598 24107" />
+<path d="M45598 24107 L45704 24178" />
+<path d="M45704 24178 L45775 24284" />
+<path d="M45775 24284 L45800 24410" />
+<path d="M45800 24444 L45800 24410" />
+<path d="M45800 24444 L45831 24476" />
+<path d="M45831 24476 L45866 24476" />
+<path d="M45866 24476 L45992 24501" />
+<path d="M45992 24501 L46098 24572" />
+<path d="M46098 24572 L46169 24678" />
+<path d="M27047 23897 L36498 23897" />
+<path d="M27047 23977 L36498 23977" />
+<path d="M27047 24057 L31522 24057" />
+<path d="M32946 24057 L36498 24057" />
+<path d="M27047 24137 L31522 24137" />
+<path d="M32946 24137 L36498 24137" />
+<path d="M27047 24217 L31522 24217" />
+<path d="M32946 24217 L36498 24217" />
+<path d="M27047 24297 L31522 24297" />
+<path d="M32946 24297 L36498 24297" />
+<path d="M27047 24377 L31522 24377" />
+<path d="M32946 24377 L36498 24377" />
+<path d="M27047 24457 L31522 24457" />
+<path d="M32946 24457 L36498 24457" />
+<path d="M27047 24537 L31522 24537" />
+<path d="M32946 24537 L36498 24537" />
+<path d="M27047 24617 L31522 24617" />
+<path d="M32946 24617 L36498 24617" />
+<path d="M28419 24697 L31522 24697" />
+<path d="M32946 24697 L36498 24697" />
+<path d="M28419 24777 L31522 24777" />
+<path d="M32946 24777 L36498 24777" />
+<path d="M28419 24857 L31522 24857" />
+<path d="M32946 24857 L36498 24857" />
+<path d="M28419 24937 L31522 24937" />
+<path d="M32946 24937 L36498 24937" />
+<path d="M46164 24937 L46182 24937" />
+<path d="M28419 25017 L31522 25017" />
+<path d="M32946 25017 L36498 25017" />
+<path d="M46110 25017 L46182 25017" />
+<path d="M28419 25097 L31522 25097" />
+<path d="M32946 25097 L36498 25097" />
+<path d="M44879 25097 L44938 25097" />
+<path d="M46006 25097 L46182 25097" />
+<path d="M28419 25177 L31522 25177" />
+<path d="M32946 25177 L36498 25177" />
+<path d="M44879 25177 L45144 25177" />
+<path d="M45800 25177 L46182 25177" />
+<path d="M28419 25257 L31522 25257" />
+<path d="M32946 25257 L36498 25257" />
+<path d="M44879 25257 L45155 25257" />
+<path d="M45788 25257 L46182 25257" />
+<path d="M28419 25337 L28864 25337" />
+<path d="M29404 25337 L30832 25337" />
+<path d="M31372 25337 L31522 25337" />
+<path d="M32946 25337 L36498 25337" />
+<path d="M44879 25337 L45177 25337" />
+<path d="M45766 25337 L46182 25337" />
+<path d="M28419 25417 L28742 25417" />
+<path d="M29526 25417 L30710 25417" />
+<path d="M31494 25417 L31522 25417" />
+<path d="M32946 25417 L36498 25417" />
+<path d="M44879 25417 L45231 25417" />
+<path d="M45712 25417 L46182 25417" />
+<path d="M28419 25497 L28662 25497" />
+<path d="M29606 25497 L30630 25497" />
+<path d="M32946 25497 L36498 25497" />
+<path d="M44879 25497 L45340 25497" />
+<path d="M45603 25497 L46182 25497" />
+<path d="M28419 25577 L28606 25577" />
+<path d="M29663 25577 L30574 25577" />
+<path d="M32946 25577 L36498 25577" />
+<path d="M44879 25577 L46182 25577" />
+<path d="M28419 25657 L28573 25657" />
+<path d="M29696 25657 L30541 25657" />
+<path d="M32946 25657 L46182 25657" />
+<path d="M28419 25737 L28540 25737" />
+<path d="M29728 25737 L30508 25737" />
+<path d="M32946 25737 L46182 25737" />
+<path d="M28419 25817 L28531 25817" />
+<path d="M29737 25817 L30499 25817" />
+<path d="M32946 25817 L46182 25817" />
+<path d="M28419 25897 L28531 25897" />
+<path d="M29737 25897 L30499 25897" />
+<path d="M32946 25897 L46182 25897" />
+<path d="M28419 25977 L28531 25977" />
+<path d="M29737 25977 L30499 25977" />
+<path d="M32946 25977 L46182 25977" />
+<path d="M28419 26057 L28555 26057" />
+<path d="M29712 26057 L30523 26057" />
+<path d="M32946 26057 L46182 26057" />
+<path d="M28419 26137 L28588 26137" />
+<path d="M29679 26137 L30556 26137" />
+<path d="M32946 26137 L34238 26137" />
+<path d="M34841 26137 L35238 26137" />
+<path d="M35841 26137 L46182 26137" />
+<path d="M28419 26217 L28621 26217" />
+<path d="M29646 26217 L30589 26217" />
+<path d="M32946 26217 L34134 26217" />
+<path d="M34945 26217 L35134 26217" />
+<path d="M35944 26217 L46182 26217" />
+<path d="M28419 26297 L28677 26297" />
+<path d="M29591 26297 L30645 26297" />
+<path d="M32946 26297 L34054 26297" />
+<path d="M35025 26297 L35054 26297" />
+<path d="M36024 26297 L46182 26297" />
+<path d="M28419 26377 L28575 26377" />
+<path d="M29693 26377 L30543 26377" />
+<path d="M32946 26377 L34006 26377" />
+<path d="M36073 26377 L38037 26377" />
+<path d="M38524 26377 L39037 26377" />
+<path d="M39524 26377 L46182 26377" />
+<path d="M28419 26457 L28539 26457" />
+<path d="M29730 26457 L30507 26457" />
+<path d="M32946 26457 L33973 26457" />
+<path d="M36106 26457 L37899 26457" />
+<path d="M38661 26457 L38899 26457" />
+<path d="M39661 26457 L46182 26457" />
+<path d="M28419 26537 L28531 26537" />
+<path d="M29737 26537 L30499 26537" />
+<path d="M32946 26537 L33939 26537" />
+<path d="M36139 26537 L37819 26537" />
+<path d="M38741 26537 L38819 26537" />
+<path d="M39741 26537 L46182 26537" />
+<path d="M28419 26617 L28531 26617" />
+<path d="M29737 26617 L30499 26617" />
+<path d="M32946 26617 L33936 26617" />
+<path d="M36142 26617 L37757 26617" />
+<path d="M39804 26617 L46182 26617" />
+<path d="M28419 26697 L28531 26697" />
+<path d="M29737 26697 L30499 26697" />
+<path d="M32946 26697 L33936 26697" />
+<path d="M36142 26697 L37724 26697" />
+<path d="M39837 26697 L46182 26697" />
+<path d="M28419 26777 L28531 26777" />
+<path d="M29737 26777 L30499 26777" />
+<path d="M32946 26777 L33936 26777" />
+<path d="M36142 26777 L37690 26777" />
+<path d="M39870 26777 L46182 26777" />
+<path d="M28419 26857 L28531 26857" />
+<path d="M29737 26857 L30499 26857" />
+<path d="M32946 26857 L33965 26857" />
+<path d="M36112 26857 L37023 26857" />
+<path d="M37415 26857 L37677 26857" />
+<path d="M39883 26857 L46182 26857" />
+<path d="M28419 26937 L28531 26937" />
+<path d="M29737 26937 L30499 26937" />
+<path d="M32946 26937 L33998 26937" />
+<path d="M36079 26937 L36896 26937" />
+<path d="M37541 26937 L37677 26937" />
+<path d="M39883 26937 L46182 26937" />
+<path d="M28419 27017 L28531 27017" />
+<path d="M29737 27017 L30499 27017" />
+<path d="M32946 27017 L34038 27017" />
+<path d="M36039 27017 L36816 27017" />
+<path d="M37621 27017 L37677 27017" />
+<path d="M39883 27017 L46182 27017" />
+<path d="M28419 27097 L28531 27097" />
+<path d="M29737 27097 L30499 27097" />
+<path d="M32946 27097 L34118 27097" />
+<path d="M34960 27097 L35052 27097" />
+<path d="M36027 27097 L36777 27097" />
+<path d="M37659 27097 L37697 27097" />
+<path d="M39863 27097 L46182 27097" />
+<path d="M28419 27177 L28531 27177" />
+<path d="M29737 27177 L30499 27177" />
+<path d="M32946 27177 L34199 27177" />
+<path d="M34880 27177 L34972 27177" />
+<path d="M36107 27177 L36744 27177" />
+<path d="M37693 27177 L37729 27177" />
+<path d="M39830 27177 L46182 27177" />
+<path d="M28419 27257 L28531 27257" />
+<path d="M29737 27257 L30499 27257" />
+<path d="M32946 27257 L34391 27257" />
+<path d="M34684 27257 L34938 27257" />
+<path d="M36140 27257 L36732 27257" />
+<path d="M37704 27257 L37762 27257" />
+<path d="M39796 27257 L46182 27257" />
+<path d="M28419 27337 L28554 27337" />
+<path d="M29714 27337 L30522 27337" />
+<path d="M32946 27337 L34936 27337" />
+<path d="M36142 27337 L36732 27337" />
+<path d="M37719 27337 L37835 27337" />
+<path d="M38724 27337 L38835 27337" />
+<path d="M39725 27337 L46182 27337" />
+<path d="M28419 27417 L28613 27417" />
+<path d="M29655 27417 L30581 27417" />
+<path d="M32946 27417 L34936 27417" />
+<path d="M36142 27417 L36739 27417" />
+<path d="M37799 27417 L37915 27417" />
+<path d="M38644 27417 L38915 27417" />
+<path d="M39645 27417 L46182 27417" />
+<path d="M28419 27497 L31522 27497" />
+<path d="M32946 27497 L34936 27497" />
+<path d="M36142 27497 L36772 27497" />
+<path d="M37879 27497 L38074 27497" />
+<path d="M38484 27497 L39074 27497" />
+<path d="M39484 27497 L46182 27497" />
+<path d="M28419 27577 L31522 27577" />
+<path d="M32946 27577 L34936 27577" />
+<path d="M36142 27577 L36806 27577" />
+<path d="M37959 27577 L46182 27577" />
+<path d="M28419 27657 L31522 27657" />
+<path d="M32946 27657 L34936 27657" />
+<path d="M36142 27657 L36885 27657" />
+<path d="M38039 27657 L46182 27657" />
+<path d="M28419 27737 L31522 27737" />
+<path d="M32946 27737 L34936 27737" />
+<path d="M36142 27737 L36997 27737" />
+<path d="M38119 27737 L46182 27737" />
+<path d="M28419 27817 L31522 27817" />
+<path d="M32946 27817 L34936 27817" />
+<path d="M36142 27817 L37267 27817" />
+<path d="M38199 27817 L46182 27817" />
+<path d="M28419 27897 L31522 27897" />
+<path d="M32946 27897 L34936 27897" />
+<path d="M36142 27897 L37347 27897" />
+<path d="M38279 27897 L46182 27897" />
+<path d="M28419 27977 L31522 27977" />
+<path d="M32946 27977 L34936 27977" />
+<path d="M36142 27977 L37427 27977" />
+<path d="M38359 27977 L46182 27977" />
+<path d="M28419 28057 L31522 28057" />
+<path d="M32946 28057 L34936 28057" />
+<path d="M36142 28057 L37507 28057" />
+<path d="M38439 28057 L46182 28057" />
+<path d="M28419 28137 L31522 28137" />
+<path d="M32946 28137 L34964 28137" />
+<path d="M36113 28137 L37587 28137" />
+<path d="M38519 28137 L46182 28137" />
+<path d="M27047 28217 L31522 28217" />
+<path d="M32946 28217 L35031 28217" />
+<path d="M36047 28217 L37667 28217" />
+<path d="M38599 28217 L46182 28217" />
+<path d="M27047 28297 L31522 28297" />
+<path d="M32946 28297 L37747 28297" />
+<path d="M38679 28297 L46182 28297" />
+<path d="M27047 28377 L31522 28377" />
+<path d="M32946 28377 L37827 28377" />
+<path d="M38759 28377 L46182 28377" />
+<path d="M27047 28457 L37907 28457" />
+<path d="M38839 28457 L46182 28457" />
+<path d="M27047 28537 L37987 28537" />
+<path d="M38919 28537 L46182 28537" />
+<path d="M27047 28617 L38067 28617" />
+<path d="M38999 28617 L46182 28617" />
+<path d="M27047 28697 L38147 28697" />
+<path d="M39079 28697 L46182 28697" />
+<path d="M27047 28777 L38227 28777" />
+<path d="M39159 28777 L41174 28777" />
+<path d="M42290 28777 L42749 28777" />
+<path d="M43865 28777 L44324 28777" />
+<path d="M45440 28777 L46182 28777" />
+<path d="M27047 28857 L38307 28857" />
+<path d="M39239 28857 L41110 28857" />
+<path d="M42355 28857 L42685 28857" />
+<path d="M43930 28857 L44260 28857" />
+<path d="M45505 28857 L46182 28857" />
+<path d="M27047 28937 L38387 28937" />
+<path d="M39319 28937 L41083 28937" />
+<path d="M42381 28937 L42658 28937" />
+<path d="M43956 28937 L44233 28937" />
+<path d="M45531 28937 L46182 28937" />
+<path d="M27047 29017 L38467 29017" />
+<path d="M42381 29017 L42658 29017" />
+<path d="M45531 29017 L46182 29017" />
+<path d="M27047 29097 L38547 29097" />
+<path d="M42381 29097 L42658 29097" />
+<path d="M45531 29097 L46182 29097" />
+<path d="M27047 29177 L32673 29177" />
+<path d="M33257 29177 L33673 29177" />
+<path d="M34257 29177 L37200 29177" />
+<path d="M37799 29177 L38627 29177" />
+<path d="M42381 29177 L42658 29177" />
+<path d="M45531 29177 L46182 29177" />
+<path d="M27047 29257 L32564 29257" />
+<path d="M33366 29257 L33564 29257" />
+<path d="M34366 29257 L37071 29257" />
+<path d="M37926 29257 L38707 29257" />
+<path d="M42381 29257 L42658 29257" />
+<path d="M45531 29257 L46182 29257" />
+<path d="M27047 29337 L32484 29337" />
+<path d="M33446 29337 L33484 29337" />
+<path d="M34446 29337 L36991 29337" />
+<path d="M38006 29337 L38787 29337" />
+<path d="M42381 29337 L42658 29337" />
+<path d="M45531 29337 L46182 29337" />
+<path d="M27047 29417 L32434 29417" />
+<path d="M34498 29417 L36911 29417" />
+<path d="M45531 29417 L46182 29417" />
+<path d="M27047 29497 L32400 29497" />
+<path d="M34530 29497 L36831 29497" />
+<path d="M45574 29497 L46182 29497" />
+<path d="M27047 29577 L32367 29577" />
+<path d="M34563 29577 L36751 29577" />
+<path d="M45654 29577 L46182 29577" />
+<path d="M27047 29657 L32362 29657" />
+<path d="M34568 29657 L36671 29657" />
+<path d="M45715 29657 L46182 29657" />
+<path d="M27047 29737 L32362 29737" />
+<path d="M34568 29737 L36591 29737" />
+<path d="M45753 29737 L46182 29737" />
+<path d="M27047 29817 L32362 29817" />
+<path d="M34568 29817 L36511 29817" />
+<path d="M45769 29817 L46182 29817" />
+<path d="M27047 29897 L32390 29897" />
+<path d="M34540 29897 L36431 29897" />
+<path d="M45772 29897 L46182 29897" />
+<path d="M27047 29977 L32423 29977" />
+<path d="M34506 29977 L36351 29977" />
+<path d="M45772 29977 L46182 29977" />
+<path d="M27047 30057 L32460 30057" />
+<path d="M34469 30057 L36273 30057" />
+<path d="M45772 30057 L46182 30057" />
+<path d="M27047 30137 L32540 30137" />
+<path d="M34388 30137 L36219 30137" />
+<path d="M45772 30137 L46182 30137" />
+<path d="M27047 30217 L32604 30217" />
+<path d="M34326 30217 L36192 30217" />
+<path d="M45772 30217 L46182 30217" />
+<path d="M27047 30297 L32524 30297" />
+<path d="M34406 30297 L36178 30297" />
+<path d="M45772 30297 L46182 30297" />
+<path d="M27047 30377 L32450 30377" />
+<path d="M34481 30377 L36178 30377" />
+<path d="M45772 30377 L46182 30377" />
+<path d="M27047 30457 L29632 30457" />
+<path d="M31293 30457 L32417 30457" />
+<path d="M34514 30457 L36178 30457" />
+<path d="M45772 30457 L46182 30457" />
+<path d="M27047 30537 L29522 30537" />
+<path d="M31402 30537 L32384 30537" />
+<path d="M34547 30537 L36178 30537" />
+<path d="M45772 30537 L46182 30537" />
+<path d="M27047 30617 L29442 30617" />
+<path d="M31482 30617 L32362 30617" />
+<path d="M34568 30617 L36178 30617" />
+<path d="M45772 30617 L46182 30617" />
+<path d="M27047 30697 L29362 30697" />
+<path d="M31562 30697 L32362 30697" />
+<path d="M34568 30697 L36178 30697" />
+<path d="M45772 30697 L46182 30697" />
+<path d="M27047 30777 L29289 30777" />
+<path d="M31642 30777 L32362 30777" />
+<path d="M34568 30777 L35427 30777" />
+<path d="M45772 30777 L46182 30777" />
+<path d="M27047 30857 L29236 30857" />
+<path d="M31722 30857 L32373 30857" />
+<path d="M34556 30857 L35325 30857" />
+<path d="M45772 30857 L46182 30857" />
+<path d="M27047 30937 L29216 30937" />
+<path d="M31802 30937 L32406 30937" />
+<path d="M34523 30937 L35245 30937" />
+<path d="M45772 30937 L46182 30937" />
+<path d="M27047 31017 L29205 31017" />
+<path d="M31882 31017 L32439 31017" />
+<path d="M34490 31017 L35165 31017" />
+<path d="M45772 31017 L46182 31017" />
+<path d="M27047 31097 L29205 31097" />
+<path d="M31962 31097 L32500 31097" />
+<path d="M34429 31097 L35085 31097" />
+<path d="M45772 31097 L46182 31097" />
+<path d="M27047 31177 L29205 31177" />
+<path d="M32042 31177 L32580 31177" />
+<path d="M34493 31177 L35005 31177" />
+<path d="M45772 31177 L46182 31177" />
+<path d="M27047 31257 L29205 31257" />
+<path d="M32122 31257 L32563 31257" />
+<path d="M34548 31257 L34925 31257" />
+<path d="M45772 31257 L46182 31257" />
+<path d="M27047 31337 L29205 31337" />
+<path d="M32202 31337 L32484 31337" />
+<path d="M34568 31337 L34845 31337" />
+<path d="M45772 31337 L46182 31337" />
+<path d="M27047 31417 L29205 31417" />
+<path d="M32282 31417 L32433 31417" />
+<path d="M34568 31417 L34765 31417" />
+<path d="M45768 31417 L46182 31417" />
+<path d="M27047 31497 L29205 31497" />
+<path d="M32362 31497 L32399 31497" />
+<path d="M34568 31497 L34685 31497" />
+<path d="M45752 31497 L46182 31497" />
+<path d="M27047 31577 L29205 31577" />
+<path d="M34568 31577 L34605 31577" />
+<path d="M45713 31577 L46182 31577" />
+<path d="M27047 31657 L29205 31657" />
+<path d="M45650 31657 L46182 31657" />
+<path d="M27047 31737 L29205 31737" />
+<path d="M45570 31737 L46182 31737" />
+<path d="M27047 31817 L29205 31817" />
+<path d="M45490 31817 L46182 31817" />
+<path d="M27047 31897 L29205 31897" />
+<path d="M45410 31897 L46182 31897" />
+<path d="M27047 31977 L29205 31977" />
+<path d="M45490 31977 L46182 31977" />
+<path d="M27047 32057 L29205 32057" />
+<path d="M45525 32057 L46182 32057" />
+<path d="M27047 32137 L29205 32137" />
+<path d="M45531 32137 L46182 32137" />
+<path d="M27047 32217 L29205 32217" />
+<path d="M45531 32217 L46182 32217" />
+<path d="M27047 32297 L29205 32297" />
+<path d="M45531 32297 L46182 32297" />
+<path d="M27047 32377 L29205 32377" />
+<path d="M45531 32377 L46182 32377" />
+<path d="M27047 32457 L29205 32457" />
+<path d="M45531 32457 L46182 32457" />
+<path d="M27047 32537 L29205 32537" />
+<path d="M45531 32537 L46182 32537" />
+<path d="M27047 32617 L29205 32617" />
+<path d="M45531 32617 L46182 32617" />
+<path d="M27047 32697 L29205 32697" />
+<path d="M45531 32697 L46182 32697" />
+<path d="M27047 32777 L29205 32777" />
+<path d="M43953 32777 L44235 32777" />
+<path d="M45528 32777 L46182 32777" />
+<path d="M27047 32857 L29205 32857" />
+<path d="M43920 32857 L44268 32857" />
+<path d="M45495 32857 L46182 32857" />
+<path d="M27047 32937 L29205 32937" />
+<path d="M42719 32937 L42777 32937" />
+<path d="M43835 32937 L44352 32937" />
+<path d="M45410 32937 L46182 32937" />
+<path d="M27047 33017 L29205 33017" />
+<path d="M42719 33017 L46182 33017" />
+<path d="M27047 33097 L29205 33097" />
+<path d="M42719 33097 L46182 33097" />
+<path d="M27047 33177 L29205 33177" />
+<path d="M42719 33177 L42846 33177" />
+<path d="M43769 33177 L44421 33177" />
+<path d="M45344 33177 L46182 33177" />
+<path d="M27047 33257 L29205 33257" />
+<path d="M43895 33257 L44294 33257" />
+<path d="M45470 33257 L46182 33257" />
+<path d="M27047 33337 L29205 33337" />
+<path d="M43942 33337 L44248 33337" />
+<path d="M45517 33337 L46182 33337" />
+<path d="M27047 33417 L29205 33417" />
+<path d="M45531 33417 L46182 33417" />
+<path d="M27047 33497 L29205 33497" />
+<path d="M45531 33497 L46182 33497" />
+<path d="M27047 33577 L29205 33577" />
+<path d="M45531 33577 L46182 33577" />
+<path d="M27047 33657 L29205 33657" />
+<path d="M45531 33657 L46182 33657" />
+<path d="M27047 33737 L29205 33737" />
+<path d="M45531 33737 L46182 33737" />
+<path d="M27047 33817 L29205 33817" />
+<path d="M45531 33817 L46182 33817" />
+<path d="M27047 33897 L29205 33897" />
+<path d="M45531 33897 L46182 33897" />
+<path d="M27047 33977 L29205 33977" />
+<path d="M45531 33977 L46182 33977" />
+<path d="M27047 34057 L29205 34057" />
+<path d="M43956 34057 L44233 34057" />
+<path d="M45531 34057 L46182 34057" />
+<path d="M27047 34137 L29205 34137" />
+<path d="M43928 34137 L44260 34137" />
+<path d="M45503 34137 L46182 34137" />
+<path d="M27047 34217 L29205 34217" />
+<path d="M43863 34217 L44326 34217" />
+<path d="M45438 34217 L46182 34217" />
+<path d="M27047 34297 L29205 34297" />
+<path d="M43612 34297 L46182 34297" />
+<path d="M27047 34377 L29205 34377" />
+<path d="M43564 34377 L46182 34377" />
+<path d="M27047 34457 L29205 34457" />
+<path d="M43495 34457 L46182 34457" />
+<path d="M27047 34537 L29205 34537" />
+<path d="M43415 34537 L46182 34537" />
+<path d="M27047 34617 L29205 34617" />
+<path d="M43335 34617 L46182 34617" />
+<path d="M27047 34697 L29205 34697" />
+<path d="M43255 34697 L46182 34697" />
+<path d="M27047 34777 L29205 34777" />
+<path d="M43175 34777 L46182 34777" />
+<path d="M27047 34857 L29205 34857" />
+<path d="M43095 34857 L46182 34857" />
+<path d="M27047 34937 L29205 34937" />
+<path d="M43015 34937 L46182 34937" />
+<path d="M27047 35017 L29205 35017" />
+<path d="M42935 35017 L46182 35017" />
+<path d="M27047 35097 L29205 35097" />
+<path d="M42855 35097 L46182 35097" />
+<path d="M27047 35177 L29205 35177" />
+<path d="M42775 35177 L46182 35177" />
+<path d="M27047 35257 L29205 35257" />
+<path d="M42764 35257 L46182 35257" />
+<path d="M27047 35337 L29205 35337" />
+<path d="M42748 35337 L46182 35337" />
+<path d="M27047 35417 L29205 35417" />
+<path d="M42715 35417 L46182 35417" />
+<path d="M27047 35497 L29205 35497" />
+<path d="M42671 35497 L46182 35497" />
+<path d="M27047 35577 L29205 35577" />
+<path d="M42591 35577 L46182 35577" />
+<path d="M27047 35657 L29205 35657" />
+<path d="M42451 35657 L46182 35657" />
+<path d="M27047 35737 L29205 35737" />
+<path d="M42209 35737 L46182 35737" />
+<path d="M27047 35817 L29205 35817" />
+<path d="M42121 35817 L46182 35817" />
+<path d="M27047 35897 L29205 35897" />
+<path d="M41005 35897 L46182 35897" />
+<path d="M27047 35977 L29205 35977" />
+<path d="M41005 35977 L46182 35977" />
+<path d="M27047 36057 L29205 36057" />
+<path d="M41005 36057 L46182 36057" />
+<path d="M27047 36137 L29205 36137" />
+<path d="M41005 36137 L46182 36137" />
+<path d="M27047 36217 L29205 36217" />
+<path d="M41005 36217 L43137 36217" />
+<path d="M44561 36217 L46182 36217" />
+<path d="M27047 36297 L29205 36297" />
+<path d="M41005 36297 L43137 36297" />
+<path d="M44561 36297 L46182 36297" />
+<path d="M27047 36377 L29205 36377" />
+<path d="M41005 36377 L43137 36377" />
+<path d="M44561 36377 L46182 36377" />
+<path d="M27047 36457 L29205 36457" />
+<path d="M41005 36457 L43137 36457" />
+<path d="M44561 36457 L46182 36457" />
+<path d="M27047 36537 L29205 36537" />
+<path d="M41005 36537 L43137 36537" />
+<path d="M44561 36537 L46182 36537" />
+<path d="M27047 36617 L29205 36617" />
+<path d="M41005 36617 L43137 36617" />
+<path d="M44561 36617 L46182 36617" />
+<path d="M27047 36697 L29205 36697" />
+<path d="M41005 36697 L43137 36697" />
+<path d="M44561 36697 L46182 36697" />
+<path d="M27047 36777 L29205 36777" />
+<path d="M41005 36777 L43137 36777" />
+<path d="M44561 36777 L46182 36777" />
+<path d="M27047 36857 L29205 36857" />
+<path d="M41005 36857 L43137 36857" />
+<path d="M44561 36857 L46182 36857" />
+<path d="M27047 36937 L29205 36937" />
+<path d="M41005 36937 L43137 36937" />
+<path d="M44561 36937 L46182 36937" />
+<path d="M27047 37017 L29205 37017" />
+<path d="M41005 37017 L43137 37017" />
+<path d="M44561 37017 L46182 37017" />
+<path d="M27047 37097 L29205 37097" />
+<path d="M41005 37097 L43137 37097" />
+<path d="M44561 37097 L46182 37097" />
+<path d="M27047 37177 L29205 37177" />
+<path d="M41005 37177 L43137 37177" />
+<path d="M44561 37177 L46182 37177" />
+<path d="M27047 37257 L29205 37257" />
+<path d="M41005 37257 L43137 37257" />
+<path d="M44561 37257 L46182 37257" />
+<path d="M27047 37337 L29205 37337" />
+<path d="M41005 37337 L43137 37337" />
+<path d="M44561 37337 L46182 37337" />
+<path d="M27047 37417 L29205 37417" />
+<path d="M41005 37417 L43137 37417" />
+<path d="M44561 37417 L46182 37417" />
+<path d="M27047 37497 L29205 37497" />
+<path d="M41005 37497 L42076 37497" />
+<path d="M42965 37497 L43137 37497" />
+<path d="M44561 37497 L46182 37497" />
+<path d="M27047 37577 L29205 37577" />
+<path d="M41005 37577 L41966 37577" />
+<path d="M43074 37577 L43137 37577" />
+<path d="M44561 37577 L46182 37577" />
+<path d="M27047 37657 L29205 37657" />
+<path d="M41005 37657 L41927 37657" />
+<path d="M43114 37657 L43137 37657" />
+<path d="M44561 37657 L46182 37657" />
+<path d="M27047 37737 L29205 37737" />
+<path d="M41005 37737 L41917 37737" />
+<path d="M43123 37737 L43137 37737" />
+<path d="M44561 37737 L46182 37737" />
+<path d="M27047 37817 L29205 37817" />
+<path d="M41005 37817 L41917 37817" />
+<path d="M43123 37817 L43137 37817" />
+<path d="M44561 37817 L46182 37817" />
+<path d="M27047 37897 L29205 37897" />
+<path d="M41005 37897 L41917 37897" />
+<path d="M43123 37897 L43137 37897" />
+<path d="M44561 37897 L46182 37897" />
+<path d="M27047 37977 L29205 37977" />
+<path d="M41005 37977 L41917 37977" />
+<path d="M43123 37977 L43137 37977" />
+<path d="M44561 37977 L46182 37977" />
+<path d="M27047 38057 L29205 38057" />
+<path d="M41005 38057 L41917 38057" />
+<path d="M43123 38057 L43137 38057" />
+<path d="M44561 38057 L46182 38057" />
+<path d="M27047 38137 L29205 38137" />
+<path d="M41005 38137 L41917 38137" />
+<path d="M43123 38137 L43137 38137" />
+<path d="M44561 38137 L46182 38137" />
+<path d="M27047 38217 L29205 38217" />
+<path d="M41005 38217 L41917 38217" />
+<path d="M43123 38217 L43137 38217" />
+<path d="M44561 38217 L46182 38217" />
+<path d="M27047 38297 L29205 38297" />
+<path d="M41005 38297 L41917 38297" />
+<path d="M43123 38297 L43137 38297" />
+<path d="M44561 38297 L46182 38297" />
+<path d="M27047 38377 L29205 38377" />
+<path d="M41005 38377 L41917 38377" />
+<path d="M43123 38377 L43137 38377" />
+<path d="M44561 38377 L46182 38377" />
+<path d="M27047 38457 L29205 38457" />
+<path d="M40990 38457 L41917 38457" />
+<path d="M43123 38457 L43137 38457" />
+<path d="M44561 38457 L46182 38457" />
+<path d="M27047 38537 L29205 38537" />
+<path d="M40960 38537 L41938 38537" />
+<path d="M43102 38537 L43137 38537" />
+<path d="M44561 38537 L46182 38537" />
+<path d="M27047 38617 L29205 38617" />
+<path d="M40905 38617 L41994 38617" />
+<path d="M43046 38617 L43137 38617" />
+<path d="M44561 38617 L46182 38617" />
+<path d="M27047 38697 L29205 38697" />
+<path d="M40825 38697 L42053 38697" />
+<path d="M42987 38697 L43137 38697" />
+<path d="M44561 38697 L46182 38697" />
+<path d="M27047 38777 L29205 38777" />
+<path d="M40745 38777 L41995 38777" />
+<path d="M43047 38777 L43137 38777" />
+<path d="M44561 38777 L46182 38777" />
+<path d="M27047 38857 L29205 38857" />
+<path d="M40665 38857 L41961 38857" />
+<path d="M43080 38857 L43137 38857" />
+<path d="M44561 38857 L46182 38857" />
+<path d="M27047 38937 L29205 38937" />
+<path d="M40585 38937 L41928 38937" />
+<path d="M43112 38937 L43137 38937" />
+<path d="M44561 38937 L46182 38937" />
+<path d="M27047 39017 L29205 39017" />
+<path d="M40505 39017 L41917 39017" />
+<path d="M43123 39017 L43137 39017" />
+<path d="M44561 39017 L46182 39017" />
+<path d="M27047 39097 L29205 39097" />
+<path d="M40425 39097 L41917 39097" />
+<path d="M43123 39097 L43137 39097" />
+<path d="M44561 39097 L46182 39097" />
+<path d="M27047 39177 L29205 39177" />
+<path d="M40345 39177 L41917 39177" />
+<path d="M43123 39177 L43137 39177" />
+<path d="M44561 39177 L46182 39177" />
+<path d="M27047 39257 L29205 39257" />
+<path d="M40265 39257 L41939 39257" />
+<path d="M43100 39257 L43137 39257" />
+<path d="M44561 39257 L46182 39257" />
+<path d="M27047 39337 L29205 39337" />
+<path d="M40185 39337 L41972 39337" />
+<path d="M43067 39337 L43137 39337" />
+<path d="M44561 39337 L46182 39337" />
+<path d="M27047 39417 L29205 39417" />
+<path d="M40105 39417 L42005 39417" />
+<path d="M43034 39417 L43137 39417" />
+<path d="M44561 39417 L46182 39417" />
+<path d="M27047 39497 L29205 39497" />
+<path d="M40025 39497 L42081 39497" />
+<path d="M42959 39497 L43137 39497" />
+<path d="M44561 39497 L46182 39497" />
+<path d="M27047 39577 L29205 39577" />
+<path d="M39945 39577 L42161 39577" />
+<path d="M42879 39577 L43137 39577" />
+<path d="M44561 39577 L46182 39577" />
+<path d="M27047 39657 L29205 39657" />
+<path d="M39865 39657 L42329 39657" />
+<path d="M42709 39657 L43137 39657" />
+<path d="M44561 39657 L46182 39657" />
+<path d="M27047 39737 L29205 39737" />
+<path d="M39785 39737 L43137 39737" />
+<path d="M44561 39737 L46182 39737" />
+<path d="M27047 39817 L29205 39817" />
+<path d="M39705 39817 L43137 39817" />
+<path d="M44561 39817 L46182 39817" />
+<path d="M27047 39897 L29219 39897" />
+<path d="M39625 39897 L43137 39897" />
+<path d="M44561 39897 L46182 39897" />
+<path d="M27047 39977 L29248 39977" />
+<path d="M39545 39977 L43137 39977" />
+<path d="M44561 39977 L46182 39977" />
+<path d="M27047 40057 L29302 40057" />
+<path d="M39465 40057 L43137 40057" />
+<path d="M44561 40057 L46182 40057" />
+<path d="M27047 40137 L29382 40137" />
+<path d="M39385 40137 L43137 40137" />
+<path d="M44561 40137 L46182 40137" />
+<path d="M27047 40217 L29462 40217" />
+<path d="M39305 40217 L43137 40217" />
+<path d="M44561 40217 L46182 40217" />
+<path d="M27047 40297 L29542 40297" />
+<path d="M39225 40297 L43137 40297" />
+<path d="M44561 40297 L46182 40297" />
+<path d="M27047 40377 L29622 40377" />
+<path d="M39219 40377 L43137 40377" />
+<path d="M44561 40377 L46182 40377" />
+<path d="M27047 40457 L29702 40457" />
+<path d="M39219 40457 L43137 40457" />
+<path d="M44561 40457 L46182 40457" />
+<path d="M27047 40537 L29782 40537" />
+<path d="M39219 40537 L43137 40537" />
+<path d="M44561 40537 L46182 40537" />
+<path d="M27047 40617 L29862 40617" />
+<path d="M39219 40617 L43137 40617" />
+<path d="M44561 40617 L46182 40617" />
+<path d="M27047 40697 L29942 40697" />
+<path d="M39219 40697 L43137 40697" />
+<path d="M44561 40697 L46182 40697" />
+<path d="M27047 40777 L30022 40777" />
+<path d="M39219 40777 L43137 40777" />
+<path d="M44561 40777 L46182 40777" />
+<path d="M27047 40857 L30102 40857" />
+<path d="M39219 40857 L43137 40857" />
+<path d="M44561 40857 L46182 40857" />
+<path d="M27047 40937 L30182 40937" />
+<path d="M39219 40937 L43137 40937" />
+<path d="M44561 40937 L46182 40937" />
+<path d="M27047 41017 L30262 41017" />
+<path d="M39219 41017 L43137 41017" />
+<path d="M44561 41017 L46182 41017" />
+<path d="M27047 41097 L30342 41097" />
+<path d="M39749 41097 L46182 41097" />
+<path d="M27047 41177 L30422 41177" />
+<path d="M39808 41177 L46182 41177" />
+<path d="M27047 41257 L30502 41257" />
+<path d="M39832 41257 L46182 41257" />
+<path d="M27047 41337 L30582 41337" />
+<path d="M39832 41337 L46182 41337" />
+<path d="M27047 41417 L27494 41417" />
+<path d="M27625 41417 L28022 41417" />
+<path d="M39832 41417 L45407 41417" />
+<path d="M45538 41417 L46182 41417" />
+<path d="M27047 41497 L27332 41497" />
+<path d="M27787 41497 L28022 41497" />
+<path d="M39832 41497 L45245 41497" />
+<path d="M45700 41497 L46182 41497" />
+<path d="M27047 41577 L27276 41577" />
+<path d="M27843 41577 L28022 41577" />
+<path d="M39832 41577 L45189 41577" />
+<path d="M45756 41577 L46182 41577" />
+<path d="M27047 41657 L27246 41657" />
+<path d="M27873 41657 L28022 41657" />
+<path d="M39831 41657 L45159 41657" />
+<path d="M45786 41657 L46182 41657" />
+<path d="M27047 41737 L27231 41737" />
+<path d="M27887 41737 L28022 41737" />
+<path d="M39831 41737 L45144 41737" />
+<path d="M45800 41737 L46182 41737" />
+<path d="M27047 41817 L27068 41817" />
+<path d="M39831 41817 L44984 41817" />
+<path d="M45962 41817 L46182 41817" />
+<path d="M39831 41897 L44845 41897" />
+<path d="M46101 41897 L46182 41897" />
+<path d="M40042 41977 L44792 41977" />
+<path d="M46154 41977 L46182 41977" />
+<path d="M40173 42057 L44765 42057" />
+<path d="M46181 42057 L46182 42057" />
+<path d="M40222 42137 L44753 42137" />
+<path d="M40239 42217 L44769 42217" />
+<path d="M46175 42217 L46182 42217" />
+<path d="M40239 42297 L44806 42297" />
+<path d="M46138 42297 L46182 42297" />
+<path d="M40239 42377 L44875 42377" />
+<path d="M46069 42377 L46182 42377" />
+<path d="M40239 42457 L45115 42457" />
+<path d="M45828 42457 L46182 42457" />
+<path d="M40238 42537 L45147 42537" />
+<path d="M45796 42537 L46182 42537" />
+<path d="M40238 42617 L45163 42617" />
+<path d="M45780 42617 L46182 42617" />
+<path d="M40238 42697 L45203 42697" />
+<path d="M45740 42697 L46182 42697" />
+<path d="M40238 42777 L45277 42777" />
+<path d="M45666 42777 L46182 42777" />
+<path d="M40238 42857 L46182 42857" />
+<path d="M40238 42937 L46182 42937" />
+<path d="M40238 43017 L46182 43017" />
+<path d="M36033 41450 L36922 41450" />
+<path d="M36033 41530 L36922 41530" />
+<path d="M36033 41610 L36923 41610" />
+<path d="M36033 41690 L36923 41690" />
+<path d="M36033 41770 L36923 41770" />
+<path d="M36033 41850 L36922 41850" />
+<path d="M36033 41930 L36922 41930" />
+<path d="M36033 42010 L36634 42010" />
+<path d="M36033 42090 L36552 42090" />
+<path d="M36033 42170 L36519 42170" />
+<path d="M36033 42250 L36516 42250" />
+<path d="M36033 42330 L36516 42330" />
+<path d="M36033 42410 L36516 42410" />
+<path d="M36033 42490 L36516 42490" />
+<path d="M36033 42570 L36516 42570" />
+<path d="M36033 42650 L36516 42650" />
+<path d="M36033 42730 L36515 42730" />
+<path d="M36033 42810 L36515 42810" />
+<path d="M36033 42890 L36515 42890" />
+<path d="M36033 42970 L36515 42970" />
+<path d="M27047 42430 L27047 42430" />
+<path d="M27047 42510 L27231 42510" />
+<path d="M27887 42510 L28022 42510" />
+<path d="M27047 42590 L27244 42590" />
+<path d="M27873 42590 L28022 42590" />
+<path d="M27047 42670 L27272 42670" />
+<path d="M27845 42670 L28022 42670" />
+<path d="M27047 42750 L27325 42750" />
+<path d="M27792 42750 L28022 42750" />
+<path d="M27047 42830 L27468 42830" />
+<path d="M27649 42830 L28022 42830" />
+<path d="M27047 42910 L28022 42910" />
+<path d="M27047 42990 L28022 42990" />
+<path d="M34710 35948 L34710 35948" />
+<path d="M34645 36028 L34710 36028" />
+<path d="M34565 36108 L34710 36108" />
+<path d="M34485 36188 L34710 36188" />
+<path d="M34405 36268 L34710 36268" />
+<path d="M34325 36348 L34710 36348" />
+<path d="M34245 36428 L34710 36428" />
+<path d="M34165 36508 L34710 36508" />
+<path d="M34085 36588 L34710 36588" />
+<path d="M34005 36668 L34710 36668" />
+<path d="M33925 36748 L34710 36748" />
+<path d="M33845 36828 L34653 36828" />
+<path d="M33765 36908 L34573 36908" />
+<path d="M33685 36988 L34493 36988" />
+<path d="M33606 37068 L34413 37068" />
+<path d="M33526 37148 L34333 37148" />
+<path d="M33446 37228 L34253 37228" />
+<path d="M33366 37308 L34173 37308" />
+<path d="M33286 37388 L34093 37388" />
+<path d="M33206 37468 L34013 37468" />
+<path d="M33126 37548 L33933 37548" />
+<path d="M33046 37628 L33853 37628" />
+<path d="M32966 37708 L33773 37708" />
+<path d="M32886 37788 L33693 37788" />
+<path d="M32806 37868 L33613 37868" />
+<path d="M32726 37948 L33533 37948" />
+<path d="M32647 38028 L33453 38028" />
+<path d="M32496 38108 L33373 38108" />
+<path d="M31908 38188 L33313 38188" />
+<path d="M31898 38268 L33274 38268" />
+<path d="M31858 38348 L33258 38348" />
+<path d="M31746 38428 L33255 38428" />
+<path d="M31688 38508 L33255 38508" />
+<path d="M31688 38588 L33255 38588" />
+<path d="M31688 38668 L33255 38668" />
+<path d="M31774 38748 L33255 38748" />
+<path d="M31869 38828 L33255 38828" />
+<path d="M31903 38908 L33255 38908" />
+<path d="M31908 38988 L33255 38988" />
+<path d="M31908 39068 L33255 39068" />
+<path d="M31908 39148 L33255 39148" />
+<path d="M31908 39228 L33255 39228" />
+<path d="M31908 39308 L33255 39308" />
+<path d="M31908 39388 L33255 39388" />
+<path d="M31908 39468 L33268 39468" />
+<path d="M30788 39548 L30810 39548" />
+<path d="M31908 39548 L33295 39548" />
+<path d="M30714 39628 L30810 39628" />
+<path d="M31908 39628 L33349 39628" />
+<path d="M30608 39708 L30810 39708" />
+<path d="M31908 39708 L33428 39708" />
+<path d="M30608 39788 L30810 39788" />
+<path d="M31908 39788 L33508 39788" />
+<path d="M30587 39868 L30830 39868" />
+<path d="M31887 39868 L33588 39868" />
+<path d="M30533 39948 L30885 39948" />
+<path d="M31833 39948 L33668 39948" />
+<path d="M30204 40028 L33748 40028" />
+<path d="M30284 40108 L33828 40108" />
+<path d="M30364 40188 L33908 40188" />
+<path d="M30444 40268 L33988 40268" />
+<path d="M30524 40348 L34068 40348" />
+<path d="M30604 40428 L34148 40428" />
+<path d="M30684 40508 L34228 40508" />
+<path d="M30764 40588 L34308 40588" />
+<path d="M30844 40668 L34388 40668" />
+<path d="M30924 40748 L34468 40748" />
+<path d="M37127 39975 L37127 39975" />
+<path d="M34707 40055 L37207 40055" />
+<path d="M34787 40135 L37287 40135" />
+<path d="M34867 40215 L37367 40215" />
+<path d="M34947 40295 L37447 40295" />
+<path d="M35027 40375 L37527 40375" />
+<path d="M35107 40455 L37607 40455" />
+<path d="M34614 38943 L34614 38943" />
+<path d="M35614 38943 L35614 38943" />
+<path d="M36613 38943 L36613 38943" />
+<path d="M37614 38943 L37614 38943" />
+<path d="M34534 39023 L34694 39023" />
+<path d="M35534 39023 L35694 39023" />
+<path d="M36533 39023 L36693 39023" />
+<path d="M37534 39023 L37694 39023" />
+<path d="M34448 39103 L34780 39103" />
+<path d="M35448 39103 L35780 39103" />
+<path d="M36448 39103 L36780 39103" />
+<path d="M37448 39103 L37780 39103" />
+<path d="M38448 39103 L38574 39103" />
+<path d="M34552 39183 L34972 39183" />
+<path d="M35253 39183 L35972 39183" />
+<path d="M36253 39183 L36972 39183" />
+<path d="M37253 39183 L37972 39183" />
+<path d="M38253 39183 L38702 39183" />
+<path d="M34705 39263 L39329 39263" />
+<path d="M37391 39343 L39249 39343" />
+<path d="M37507 39423 L39169 39423" />
+<path d="M37587 39503 L39089 39503" />
+<path d="M37667 39583 L39009 39583" />
+<path d="M37747 39663 L38929 39663" />
+<path d="M37827 39743 L38849 39743" />
+<path d="M37907 39823 L38769 39823" />
+<path d="M37987 39903 L38689 39903" />
+<path d="M38067 39983 L38626 39983" />
+<path d="M38147 40063 L38582 40063" />
+<path d="M38227 40143 L38566 40143" />
+<path d="M38307 40223 L38561 40223" />
+<path d="M38387 40303 L38561 40303" />
+<path d="M38467 40383 L38561 40383" />
+<path d="M38547 40463 L38561 40463" />
+<path d="M33913 39158 L33913 39158" />
+<path d="M33913 39238 L34123 39238" />
+<path d="M33970 39318 L34042 39318" />
+<path d="M40347 37562 L40347 37562" />
+<path d="M40310 37642 L40347 37642" />
+<path d="M40310 37722 L40347 37722" />
+<path d="M40282 37802 L40347 37802" />
+<path d="M40249 37882 L40347 37882" />
+<path d="M40188 37962 L40347 37962" />
+<path d="M40108 38042 L40347 38042" />
+<path d="M39693 38122 L39719 38122" />
+<path d="M39927 38122 L40347 38122" />
+<path d="M39717 38202 L40347 38202" />
+<path d="M39717 38282 L40310 38282" />
+<path d="M39717 38362 L40230 38362" />
+<path d="M39717 38442 L40150 38442" />
+<path d="M39717 38522 L40070 38522" />
+<path d="M39717 38602 L39990 38602" />
+<path d="M39717 38682 L39910 38682" />
+<path d="M39717 38762 L39830 38762" />
+<path d="M39717 38842 L39750 38842" />
+<path d="M30848 38336 L30848 38336" />
+<path d="M30848 38416 L30941 38416" />
+<path d="M30848 38496 L31030 38496" />
+<path d="M30848 38576 L31030 38576" />
+<path d="M30848 38656 L31030 38656" />
+<path d="M30848 38736 L30974 38736" />
+<path d="M30848 38816 L30861 38816" />
+<path d="M29863 38444 L30190 38444" />
+<path d="M29863 38524 L30190 38524" />
+<path d="M29863 38604 L30190 38604" />
+<path d="M29863 38684 L30190 38684" />
+<path d="M38653 37509 L38653 37509" />
+<path d="M38573 37589 L38642 37589" />
+<path d="M38493 37669 L38562 37669" />
+<path d="M38413 37749 L38482 37749" />
+<path d="M38333 37829 L38402 37829" />
+<path d="M38253 37909 L38322 37909" />
+<path d="M37095 36067 L37529 36067" />
+<path d="M37015 36147 L37529 36147" />
+<path d="M36935 36227 L37548 36227" />
+<path d="M36855 36307 L37585 36307" />
+<path d="M36775 36387 L37505 36387" />
+<path d="M36695 36467 L37425 36467" />
+<path d="M36615 36547 L37345 36547" />
+<path d="M36535 36627 L37265 36627" />
+<path d="M36455 36707 L37185 36707" />
+<path d="M36375 36787 L37105 36787" />
+<path d="M36295 36867 L37025 36867" />
+<path d="M36215 36947 L36945 36947" />
+<path d="M36135 37027 L36865 37027" />
+<path d="M36055 37107 L36785 37107" />
+<path d="M35975 37187 L36705 37187" />
+<path d="M35895 37267 L36625 37267" />
+<path d="M35815 37347 L36545 37347" />
+<path d="M35735 37427 L36465 37427" />
+<path d="M35655 37507 L35747 37507" />
+<path d="M35575 37587 L35644 37587" />
+<path d="M35495 37667 L35564 37667" />
+<path d="M35415 37747 L35484 37747" />
+<path d="M35335 37827 L35404 37827" />
+<path d="M35255 37907 L35324 37907" />
+<path d="M38414 36748 L38414 36748" />
+<path d="M38334 36828 L38403 36828" />
+<path d="M38254 36908 L38323 36908" />
+<path d="M38174 36988 L38243 36988" />
+<path d="M38094 37068 L38163 37068" />
+<path d="M38014 37148 L38083 37148" />
+<path d="M37934 37228 L38003 37228" />
+<path d="M37854 37308 L37923 37308" />
+<path d="M37774 37388 L37843 37388" />
+<path d="M37694 37468 L37763 37468" />
+<path d="M37614 37548 L37683 37548" />
+<path d="M37534 37628 L37603 37628" />
+<path d="M37454 37708 L37523 37708" />
+<path d="M37374 37788 L37443 37788" />
+<path d="M37294 37868 L37363 37868" />
+<path d="M37214 37948 L37283 37948" />
+<path d="M32255 34823 L32886 34823" />
+<path d="M32175 34903 L32834 34903" />
+<path d="M32095 34983 L32816 34983" />
+<path d="M32015 35063 L32816 35063" />
+<path d="M31935 35143 L32816 35143" />
+<path d="M31855 35223 L32816 35223" />
+<path d="M31775 35303 L32816 35303" />
+<path d="M31695 35383 L32816 35383" />
+<path d="M31615 35463 L32816 35463" />
+<path d="M31535 35543 L32816 35543" />
+<path d="M31455 35623 L32816 35623" />
+<path d="M31375 35703 L32839 35703" />
+<path d="M31295 35783 L32882 35783" />
+<path d="M31215 35863 L32798 35863" />
+<path d="M31135 35943 L32730 35943" />
+<path d="M31039 36023 L32697 36023" />
+<path d="M30944 36103 L32664 36103" />
+<path d="M30944 36183 L32664 36183" />
+<path d="M30944 36263 L32664 36263" />
+<path d="M30944 36343 L32684 36343" />
+<path d="M30944 36423 L32717 36423" />
+<path d="M30944 36503 L32767 36503" />
+<path d="M30944 36583 L32847 36583" />
+<path d="M30944 36663 L33002 36663" />
+<path d="M30944 36743 L33000 36743" />
+<path d="M30944 36823 L32920 36823" />
+<path d="M30925 36903 L32840 36903" />
+<path d="M30872 36983 L32760 36983" />
+<path d="M30827 37063 L32680 37063" />
+<path d="M30843 37143 L32600 37143" />
+<path d="M30848 37223 L30879 37223" />
+<path d="M31839 37223 L32520 37223" />
+<path d="M31891 37303 L32440 37303" />
+<path d="M31908 37383 L32360 37383" />
+<path d="M31908 37463 L32280 37463" />
+<path d="M35688 35065 L35953 35065" />
+<path d="M35688 35145 L36032 35145" />
+<path d="M35688 35225 L36112 35225" />
+<path d="M35688 35305 L36192 35305" />
+<path d="M35688 35385 L36272 35385" />
+<path d="M35688 35465 L36359 35465" />
+<path d="M35688 35545 L36555 35545" />
+<path d="M35688 35625 L36606 35625" />
+<path d="M35663 35705 L36526 35705" />
+<path d="M35602 35785 L36446 35785" />
+<path d="M35368 35865 L36366 35865" />
+<path d="M35368 35945 L36286 35945" />
+<path d="M35368 36025 L36206 36025" />
+<path d="M35368 36105 L36126 36105" />
+<path d="M35368 36185 L36046 36185" />
+<path d="M35368 36265 L35966 36265" />
+<path d="M35368 36345 L35886 36345" />
+<path d="M35368 36425 L35806 36425" />
+<path d="M35368 36505 L35726 36505" />
+<path d="M35368 36585 L35646 36585" />
+<path d="M35368 36665 L35566 36665" />
+<path d="M35368 36745 L35486 36745" />
+<path d="M35368 36825 L35406 36825" />
+<path d="M33794 35845 L33898 35845" />
+<path d="M33785 35925 L33818 35925" />
+<path d="M34044 34823 L34123 34823" />
+<path d="M34096 34903 L34115 34903" />
+<path d="M34114 34983 L34115 34983" />
+<path d="M34114 35063 L34115 35063" />
+<path d="M34114 35143 L34115 35143" />
+<path d="M34114 35223 L34115 35223" />
+<path d="M34114 35303 L34115 35303" />
+<path d="M34114 35383 L34115 35383" />
+<path d="M34114 35463 L34115 35463" />
+<path d="M34114 35543 L34115 35543" />
+<path d="M34114 35623 L34115 35623" />
+<path d="M30991 33578 L32844 33578" />
+<path d="M30911 33658 L32816 33658" />
+<path d="M30831 33738 L32816 33738" />
+<path d="M30751 33818 L32816 33818" />
+<path d="M30671 33898 L32816 33898" />
+<path d="M30591 33978 L32816 33978" />
+<path d="M30511 34058 L32816 34058" />
+<path d="M30431 34138 L32816 34138" />
+<path d="M30351 34218 L31951 34218" />
+<path d="M30271 34298 L31849 34298" />
+<path d="M30191 34378 L31769 34378" />
+<path d="M30111 34458 L31689 34458" />
+<path d="M30877 34538 L31609 34538" />
+<path d="M30928 34618 L31529 34618" />
+<path d="M30944 34698 L31449 34698" />
+<path d="M30944 34778 L31369 34778" />
+<path d="M30944 34858 L31289 34858" />
+<path d="M30944 34938 L31209 34938" />
+<path d="M30944 35018 L31129 35018" />
+<path d="M30944 35098 L31049 35098" />
+<path d="M30944 35178 L30969 35178" />
+<path d="M39123 34480 L39123 34480" />
+<path d="M39043 34560 L39203 34560" />
+<path d="M38963 34640 L39283 34640" />
+<path d="M38883 34720 L39363 34720" />
+<path d="M38803 34800 L39443 34800" />
+<path d="M38723 34880 L39523 34880" />
+<path d="M38643 34960 L39603 34960" />
+<path d="M38563 35040 L39683 35040" />
+<path d="M38650 32591 L38650 32591" />
+<path d="M38459 32671 L38795 32671" />
+<path d="M38402 32751 L38795 32751" />
+<path d="M38322 32831 L38795 32831" />
+<path d="M38242 32911 L38795 32911" />
+<path d="M38162 32991 L38795 32991" />
+<path d="M38082 33071 L38795 33071" />
+<path d="M38002 33151 L38795 33151" />
+<path d="M37963 33231 L38795 33231" />
+<path d="M37963 33311 L38795 33311" />
+<path d="M37963 33391 L38795 33391" />
+<path d="M37963 33471 L38795 33471" />
+<path d="M37963 33551 L38795 33551" />
+<path d="M37963 33631 L38795 33631" />
+<path d="M37959 33711 L38795 33711" />
+<path d="M37943 33791 L38795 33791" />
+<path d="M37902 33871 L38795 33871" />
+<path d="M37826 33951 L38722 33951" />
+<path d="M37722 34031 L38642 34031" />
+<path d="M37722 34111 L37722 34111" />
+<path d="M37723 34111 L38562 34111" />
+<path d="M37722 34191 L38482 34191" />
+<path d="M37722 34271 L38402 34271" />
+<path d="M37722 34351 L38322 34351" />
+<path d="M37722 34431 L38242 34431" />
+<path d="M37722 34511 L38162 34511" />
+<path d="M37722 34591 L38082 34591" />
+<path d="M37722 34671 L38002 34671" />
+<path d="M37722 34751 L37922 34751" />
+<path d="M37722 34831 L37842 34831" />
+<path d="M39595 32591 L39595 32591" />
+<path d="M39911 32591 L39911 32591" />
+<path d="M39453 32671 L39964 32671" />
+<path d="M39453 32751 L39964 32751" />
+<path d="M39453 32831 L39964 32831" />
+<path d="M39453 32911 L39964 32911" />
+<path d="M39453 32991 L39964 32991" />
+<path d="M39453 33071 L39964 33071" />
+<path d="M39453 33151 L39964 33151" />
+<path d="M39453 33231 L39964 33231" />
+<path d="M39453 33311 L39964 33311" />
+<path d="M39453 33391 L39964 33391" />
+<path d="M39453 33471 L39964 33471" />
+<path d="M39453 33551 L39964 33551" />
+<path d="M39453 33631 L39964 33631" />
+<path d="M39453 33711 L39964 33711" />
+<path d="M39453 33791 L39964 33791" />
+<path d="M39453 33871 L39964 33871" />
+<path d="M39526 33951 L39964 33951" />
+<path d="M39606 34031 L39964 34031" />
+<path d="M39686 34111 L39964 34111" />
+<path d="M39766 34191 L39964 34191" />
+<path d="M39846 34271 L39964 34271" />
+<path d="M39926 34351 L39964 34351" />
+<path d="M34390 33861 L34390 33861" />
+<path d="M34354 33941 L34390 33941" />
+<path d="M34349 34021 L34390 34021" />
+<path d="M34333 34101 L34390 34101" />
+<path d="M42061 31999 L42061 31999" />
+<path d="M41981 32079 L42061 32079" />
+<path d="M41901 32159 L42061 32159" />
+<path d="M41821 32239 L42061 32239" />
+<path d="M41741 32319 L42061 32319" />
+<path d="M41729 32399 L42061 32399" />
+<path d="M41729 32479 L42061 32479" />
+<path d="M41729 32559 L42061 32559" />
+<path d="M41729 32639 L42061 32639" />
+<path d="M41729 32719 L42061 32719" />
+<path d="M41718 32799 L42061 32799" />
+<path d="M41700 32879 L42061 32879" />
+<path d="M41647 32959 L42061 32959" />
+<path d="M41545 33039 L42061 33039" />
+<path d="M41489 33119 L42061 33119" />
+<path d="M41486 33199 L42061 33199" />
+<path d="M41488 33279 L42061 33279" />
+<path d="M41488 33359 L42061 33359" />
+<path d="M41489 33439 L42061 33439" />
+<path d="M41486 33519 L42061 33519" />
+<path d="M41488 33599 L42061 33599" />
+<path d="M41488 33679 L42061 33679" />
+<path d="M41489 33759 L42061 33759" />
+<path d="M41482 33839 L42061 33839" />
+<path d="M41488 33919 L42061 33919" />
+<path d="M29863 33247 L29863 33247" />
+<path d="M29863 33327 L30311 33327" />
+<path d="M29863 33407 L30231 33407" />
+<path d="M29863 33487 L30151 33487" />
+<path d="M29863 33567 L30071 33567" />
+<path d="M29863 33647 L29991 33647" />
+<path d="M29863 33727 L29911 33727" />
+<path d="M35648 33373 L35648 33373" />
+<path d="M35603 33453 L35686 33453" />
+<path d="M35628 33533 L35684 33533" />
+<path d="M35675 33613 L35684 33613" />
+<path d="M33324 32895 L34077 32895" />
+<path d="M34084 32895 L34084 32895" />
+<path d="M30944 31077 L31010 31077" />
+<path d="M30944 31157 L31090 31157" />
+<path d="M30944 31237 L31170 31237" />
+<path d="M30944 31317 L31250 31317" />
+<path d="M30944 31397 L31330 31397" />
+<path d="M30944 31477 L31410 31477" />
+<path d="M30944 31557 L31490 31557" />
+<path d="M30944 31637 L31570 31637" />
+<path d="M31076 31717 L31650 31717" />
+<path d="M31136 31797 L31730 31797" />
+<path d="M31168 31877 L31810 31877" />
+<path d="M31184 31957 L31890 31957" />
+<path d="M31184 32037 L31970 32037" />
+<path d="M31184 32117 L32050 32117" />
+<path d="M31184 32197 L32130 32197" />
+<path d="M31184 32277 L32210 32277" />
+<path d="M31184 32357 L32290 32357" />
+<path d="M31184 32437 L32370 32437" />
+<path d="M31184 32517 L32450 32517" />
+<path d="M31184 32597 L32479 32597" />
+<path d="M31184 32677 L32484 32677" />
+<path d="M31184 32757 L32517 32757" />
+<path d="M31184 32837 L32550 32837" />
+<path d="M31184 32917 L32627 32917" />
+<path d="M41079 32149 L41079 32149" />
+<path d="M40999 32229 L41071 32229" />
+<path d="M40919 32309 L41071 32309" />
+<path d="M40839 32389 L41071 32389" />
+<path d="M35733 31381 L36370 31381" />
+<path d="M35652 31461 L36450 31461" />
+<path d="M35572 31541 L36530 31541" />
+<path d="M35492 31621 L36610 31621" />
+<path d="M35412 31701 L36722 31701" />
+<path d="M35332 31781 L37526 31781" />
+<path d="M35252 31861 L37527 31861" />
+<path d="M35172 31941 L37527 31941" />
+<path d="M35092 32021 L37527 32021" />
+<path d="M36251 32101 L37526 32101" />
+<path d="M36425 32181 L37526 32181" />
+<path d="M36508 32261 L37526 32261" />
+<path d="M36588 32341 L37527 32341" />
+<path d="M33377 32149 L33377 32149" />
+<path d="M33315 32229 L33425 32229" />
+<path d="M43956 30440 L44233 30440" />
+<path d="M43956 30520 L44233 30520" />
+<path d="M43956 30600 L44233 30600" />
+<path d="M43956 30680 L44233 30680" />
+<path d="M43956 30760 L44233 30760" />
+<path d="M43956 30840 L44233 30840" />
+<path d="M43956 30920 L44233 30920" />
+<path d="M43923 31000 L44266 31000" />
+<path d="M43850 31080 L44339 31080" />
+<path d="M43609 31160 L45114 31160" />
+<path d="M43555 31240 L45114 31240" />
+<path d="M43482 31320 L45057 31320" />
+<path d="M43402 31400 L44977 31400" />
+<path d="M43322 31480 L44897 31480" />
+<path d="M43242 31560 L44817 31560" />
+<path d="M43162 31640 L44737 31640" />
+<path d="M43082 31720 L44657 31720" />
+<path d="M43002 31800 L44602 31800" />
+<path d="M43777 31880 L44414 31880" />
+<path d="M43898 31960 L44291 31960" />
+<path d="M43943 32040 L44246 32040" />
+<path d="M38059 30318 L41083 30318" />
+<path d="M38160 30398 L41083 30398" />
+<path d="M38240 30478 L38652 30478" />
+<path d="M38966 30478 L41083 30478" />
+<path d="M38320 30558 L38502 30558" />
+<path d="M39115 30558 L39535 30558" />
+<path d="M39883 30558 L41083 30558" />
+<path d="M38400 30638 L38421 30638" />
+<path d="M39195 30638 L39395 30638" />
+<path d="M40022 30638 L41083 30638" />
+<path d="M39243 30718 L39315 30718" />
+<path d="M40102 30718 L41083 30718" />
+<path d="M40146 30798 L41083 30798" />
+<path d="M40179 30878 L41083 30878" />
+<path d="M40194 30958 L41098 30958" />
+<path d="M40194 31038 L41147 31038" />
+<path d="M40190 31118 L41179 31118" />
+<path d="M40157 31198 L41099 31198" />
+<path d="M40124 31278 L41019 31278" />
+<path d="M40301 31358 L40939 31358" />
+<path d="M40373 31438 L40859 31438" />
+<path d="M40405 31518 L40779 31518" />
+<path d="M40405 31598 L40699 31598" />
+<path d="M40406 31678 L40619 31678" />
+<path d="M40406 31758 L40539 31758" />
+<path d="M40406 31838 L40459 31838" />
+<path d="M33464 31061 L33464 31061" />
+<path d="M33384 31141 L33478 31141" />
+<path d="M33330 31221 L33398 31221" />
+<path d="M42724 31040 L42724 31040" />
+<path d="M42724 31120 L42752 31120" />
+<path d="M37261 30921 L37751 30921" />
+<path d="M37181 31001 L37831 31001" />
+<path d="M33465 30062 L33465 30062" />
+<path d="M33385 30142 L33545 30142" />
+<path d="M33331 30222 L33597 30222" />
+<path d="M33411 30302 L33517 30302" />
+<path d="M43956 29600 L44233 29600" />
+<path d="M43931 29680 L44257 29680" />
+<path d="M43870 29760 L44319 29760" />
+<path d="M44879 23897 L46182 23897" />
+<path d="M44879 23977 L46182 23977" />
+<path d="M44879 24057 L46182 24057" />
+<path d="M44879 24137 L45302 24137" />
+<path d="M45643 24137 L46182 24137" />
+<path d="M44879 24217 L45214 24217" />
+<path d="M45731 24217 L46182 24217" />
+<path d="M44879 24297 L45167 24297" />
+<path d="M45778 24297 L46182 24297" />
+<path d="M44879 24377 L45151 24377" />
+<path d="M45794 24377 L46182 24377" />
+<path d="M44879 24457 L45131 24457" />
+<path d="M45813 24457 L46182 24457" />
+<path d="M44879 24537 L44899 24537" />
+<path d="M46046 24537 L46182 24537" />
+<path d="M46129 24617 L46182 24617" />
+<path d="M46173 24697 L46182 24697" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:1.0;
+ stroke:#00A000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:100"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34304 43032 L46182 43032" />
+<path d="M46182 42186 L46182 43032" />
+<path d="M46169 42252 L46182 42186" />
+<path d="M46098 42358 L46169 42252" />
+<path d="M45992 42429 L46098 42358" />
+<path d="M45866 42454 L45992 42429" />
+<path d="M45831 42454 L45866 42454" />
+<path d="M45800 42485 L45831 42454" />
+<path d="M45800 42520 L45800 42485" />
+<path d="M45775 42646 L45800 42520" />
+<path d="M45704 42752 L45775 42646" />
+<path d="M45598 42823 L45704 42752" />
+<path d="M45472 42848 L45598 42823" />
+<path d="M45346 42823 L45472 42848" />
+<path d="M45240 42752 L45346 42823" />
+<path d="M45169 42646 L45240 42752" />
+<path d="M45144 42520 L45169 42646" />
+<path d="M45144 42485 L45144 42520" />
+<path d="M45112 42454 L45144 42485" />
+<path d="M45079 42454 L45112 42454" />
+<path d="M44953 42429 L45079 42454" />
+<path d="M44847 42358 L44953 42429" />
+<path d="M44776 42252 L44847 42358" />
+<path d="M44751 42126 L44776 42252" />
+<path d="M44751 42126 L44776 42000" />
+<path d="M44776 42000 L44847 41894" />
+<path d="M44847 41894 L44953 41823" />
+<path d="M44953 41823 L45079 41798" />
+<path d="M45079 41798 L45112 41798" />
+<path d="M45112 41798 L45144 41766" />
+<path d="M45144 41732 L45144 41766" />
+<path d="M45144 41732 L45169 41606" />
+<path d="M45169 41606 L45240 41500" />
+<path d="M45240 41500 L45346 41429" />
+<path d="M45346 41429 L45472 41404" />
+<path d="M45472 41404 L45598 41429" />
+<path d="M45598 41429 L45704 41500" />
+<path d="M45704 41500 L45775 41606" />
+<path d="M45775 41606 L45800 41732" />
+<path d="M45800 41766 L45800 41732" />
+<path d="M45800 41766 L45831 41798" />
+<path d="M45831 41798 L45866 41798" />
+<path d="M45866 41798 L45992 41823" />
+<path d="M45992 41823 L46098 41894" />
+<path d="M46098 41894 L46169 42000" />
+<path d="M46169 42000 L46182 42065" />
+<path d="M46182 24864 L46182 42065" />
+<path d="M46169 24930 L46182 24864" />
+<path d="M46098 25036 L46169 24930" />
+<path d="M45992 25107 L46098 25036" />
+<path d="M45866 25132 L45992 25107" />
+<path d="M45831 25132 L45866 25132" />
+<path d="M45800 25163 L45831 25132" />
+<path d="M45800 25198 L45800 25163" />
+<path d="M45775 25324 L45800 25198" />
+<path d="M45704 25430 L45775 25324" />
+<path d="M45598 25501 L45704 25430" />
+<path d="M45472 25526 L45598 25501" />
+<path d="M45346 25501 L45472 25526" />
+<path d="M45240 25430 L45346 25501" />
+<path d="M45169 25324 L45240 25430" />
+<path d="M45144 25198 L45169 25324" />
+<path d="M45144 25163 L45144 25198" />
+<path d="M45112 25132 L45144 25163" />
+<path d="M45079 25132 L45112 25132" />
+<path d="M44953 25107 L45079 25132" />
+<path d="M44847 25036 L44953 25107" />
+<path d="M44776 24930 L44847 25036" />
+<path d="M44751 24804 L44776 24930" />
+<path d="M44751 24804 L44776 24678" />
+<path d="M44776 24678 L44847 24572" />
+<path d="M44847 24572 L44953 24501" />
+<path d="M44953 24501 L45079 24476" />
+<path d="M45079 24476 L45112 24476" />
+<path d="M45112 24476 L45144 24444" />
+<path d="M45144 24410 L45144 24444" />
+<path d="M45144 24410 L45169 24284" />
+<path d="M45169 24284 L45240 24178" />
+<path d="M45240 24178 L45346 24107" />
+<path d="M45346 24107 L45472 24082" />
+<path d="M45472 24082 L45598 24107" />
+<path d="M45598 24107 L45704 24178" />
+<path d="M45704 24178 L45775 24284" />
+<path d="M45775 24284 L45800 24410" />
+<path d="M45800 24444 L45800 24410" />
+<path d="M45800 24444 L45831 24476" />
+<path d="M45831 24476 L45866 24476" />
+<path d="M45866 24476 L45992 24501" />
+<path d="M45992 24501 L46098 24572" />
+<path d="M46098 24572 L46169 24678" />
+<path d="M46169 24678 L46182 24743" />
+<path d="M46182 23897 L46182 24743" />
+<path d="M27047 23897 L46182 23897" />
+<path d="M27047 41821 L27047 23897" />
+<path d="M27047 41821 L27166 41798" />
+<path d="M27166 41798 L27199 41798" />
+<path d="M27199 41798 L27231 41766" />
+<path d="M27231 41732 L27231 41766" />
+<path d="M27231 41732 L27256 41606" />
+<path d="M27256 41606 L27327 41500" />
+<path d="M27327 41500 L27433 41429" />
+<path d="M27433 41429 L27559 41404" />
+<path d="M27559 41404 L27685 41429" />
+<path d="M27685 41429 L27791 41500" />
+<path d="M27791 41500 L27862 41606" />
+<path d="M27862 41606 L27887 41732" />
+<path d="M27887 41766 L27887 41732" />
+<path d="M27887 41766 L27918 41798" />
+<path d="M27918 41798 L27953 41798" />
+<path d="M27953 41798 L28079 41823" />
+<path d="M28079 41823 L28185 41894" />
+<path d="M28185 41894 L28256 42000" />
+<path d="M28256 42000 L28281 42126" />
+<path d="M28256 42252 L28281 42126" />
+<path d="M28185 42358 L28256 42252" />
+<path d="M28079 42429 L28185 42358" />
+<path d="M27953 42454 L28079 42429" />
+<path d="M27918 42454 L27953 42454" />
+<path d="M27887 42485 L27918 42454" />
+<path d="M27887 42520 L27887 42485" />
+<path d="M27862 42646 L27887 42520" />
+<path d="M27791 42752 L27862 42646" />
+<path d="M27685 42823 L27791 42752" />
+<path d="M27559 42848 L27685 42823" />
+<path d="M27433 42823 L27559 42848" />
+<path d="M27327 42752 L27433 42823" />
+<path d="M27256 42646 L27327 42752" />
+<path d="M27231 42520 L27256 42646" />
+<path d="M27231 42485 L27231 42520" />
+<path d="M27199 42454 L27231 42485" />
+<path d="M27166 42454 L27199 42454" />
+<path d="M27047 42430 L27166 42454" />
+<path d="M27047 43032 L27047 42430" />
+<path d="M27047 43032 L34304 43032" />
+<path d="M34125 40059 L34304 40133" />
+<path d="M33989 39922 L34125 40059" />
+<path d="M33915 39743 L33989 39922" />
+<path d="M33915 39627 L33915 39743" />
+<path d="M32917 38629 L33915 39627" />
+<path d="M32846 38522 L32917 38629" />
+<path d="M32820 38396 L32846 38522" />
+<path d="M32820 38396 L32821 38391" />
+<path d="M32821 36556 L32821 38391" />
+<path d="M32738 36473 L32821 36556" />
+<path d="M32664 36294 L32738 36473" />
+<path d="M32664 36101 L32664 36294" />
+<path d="M32664 36101 L32738 35922" />
+<path d="M32738 35922 L32875 35786" />
+<path d="M32875 35786 L33054 35712" />
+<path d="M33054 35712 L33247 35712" />
+<path d="M33247 35712 L33426 35786" />
+<path d="M33426 35786 L33562 35923" />
+<path d="M33562 35923 L33636 36102" />
+<path d="M33636 36295 L33636 36102" />
+<path d="M33562 36474 L33636 36295" />
+<path d="M33479 36556 L33562 36474" />
+<path d="M33479 38259 L33479 36556" />
+<path d="M33479 38259 L33557 38337" />
+<path d="M33557 38337 L33599 38238" />
+<path d="M33599 38238 L33770 38067" />
+<path d="M33770 38067 L33994 37975" />
+<path d="M33994 37975 L34236 37975" />
+<path d="M34236 37975 L34459 38068" />
+<path d="M34459 38068 L34614 38223" />
+<path d="M34614 38223 L34770 38067" />
+<path d="M34770 38067 L34994 37975" />
+<path d="M34994 37975 L35236 37975" />
+<path d="M35236 37975 L35459 38068" />
+<path d="M35459 38068 L35614 38223" />
+<path d="M35614 38223 L35770 38067" />
+<path d="M35770 38067 L35994 37975" />
+<path d="M35994 37975 L36236 37975" />
+<path d="M36236 37975 L36459 38068" />
+<path d="M36459 38068 L36614 38223" />
+<path d="M36614 38223 L36770 38067" />
+<path d="M36770 38067 L36994 37975" />
+<path d="M36994 37975 L37236 37975" />
+<path d="M37236 37975 L37459 38068" />
+<path d="M37459 38068 L37613 38222" />
+<path d="M37613 38222 L37770 38067" />
+<path d="M37770 38067 L37994 37975" />
+<path d="M37994 37975 L38236 37975" />
+<path d="M38236 37975 L38459 38068" />
+<path d="M38459 38068 L38528 38137" />
+<path d="M38528 38137 L38549 38088" />
+<path d="M38549 38088 L38619 38018" />
+<path d="M38619 38018 L38711 37980" />
+<path d="M38711 37980 L39477 37980" />
+<path d="M39465 37968 L39477 37980" />
+<path d="M37229 37968 L39465 37968" />
+<path d="M37228 37967 L37229 37968" />
+<path d="M37228 37968 L37228 37967" />
+<path d="M37103 37943 L37228 37968" />
+<path d="M36996 37872 L37103 37943" />
+<path d="M36994 37869 L36996 37872" />
+<path d="M32185 33061 L36994 37869" />
+<path d="M32114 32954 L32185 33061" />
+<path d="M32088 32828 L32114 32954" />
+<path d="M32088 32828 L32089 32823" />
+<path d="M32089 31260 L32089 32823" />
+<path d="M32088 31256 L32089 31260" />
+<path d="M32088 31256 L32114 31130" />
+<path d="M32114 31130 L32185 31023" />
+<path d="M32185 31023 L32367 30841" />
+<path d="M32362 30828 L32367 30841" />
+<path d="M32362 30588 L32362 30828" />
+<path d="M32362 30588 L32454 30367" />
+<path d="M32454 30367 L32612 30209" />
+<path d="M32519 30116 L32612 30209" />
+<path d="M30102 30116 L32519 30116" />
+<path d="M30101 30115 L30102 30116" />
+<path d="M30101 30116 L30101 30115" />
+<path d="M29946 30085 L30101 30116" />
+<path d="M29814 29997 L29946 30085" />
+<path d="M29812 29994 L29814 29997" />
+<path d="M29161 29344 L29812 29994" />
+<path d="M29134 29344 L29161 29344" />
+<path d="M28978 29313 L29134 29344" />
+<path d="M28846 29225 L28978 29313" />
+<path d="M27665 28044 L28846 29225" />
+<path d="M27577 27912 L27665 28044" />
+<path d="M27546 27756 L27577 27912" />
+<path d="M27546 25984 L27546 27756" />
+<path d="M27546 25984 L27577 25828" />
+<path d="M27577 25828 L27665 25696" />
+<path d="M27665 25696 L27769 25592" />
+<path d="M27769 25592 L27771 25590" />
+<path d="M27771 25590 L27903 25502" />
+<path d="M27903 25502 L28058 25471" />
+<path d="M28058 25471 L28058 25471" />
+<path d="M28058 25471 L28059 25471" />
+<path d="M28059 25471 L28687 25471" />
+<path d="M28687 25471 L28793 25366" />
+<path d="M28793 25366 L29015 25275" />
+<path d="M29015 25275 L29255 25275" />
+<path d="M29255 25275 L29476 25367" />
+<path d="M29476 25367 L29646 25537" />
+<path d="M29646 25537 L29737 25759" />
+<path d="M29737 25999 L29737 25759" />
+<path d="M29645 26220 L29737 25999" />
+<path d="M29574 26290 L29645 26220" />
+<path d="M29574 26290 L29629 26313" />
+<path d="M29629 26313 L29699 26383" />
+<path d="M29699 26383 L29734 26470" />
+<path d="M29734 26470 L30500 26470" />
+<path d="M30500 26470 L30537 26383" />
+<path d="M30537 26383 L30607 26313" />
+<path d="M30607 26313 L30661 26290" />
+<path d="M30590 26219 L30661 26290" />
+<path d="M30499 25997 L30590 26219" />
+<path d="M30499 25757 L30499 25997" />
+<path d="M30499 25757 L30591 25536" />
+<path d="M30591 25536 L30761 25366" />
+<path d="M30761 25366 L30983 25275" />
+<path d="M30983 25275 L31223 25275" />
+<path d="M31223 25275 L31444 25367" />
+<path d="M31444 25367 L31547 25470" />
+<path d="M31547 25470 L33752 25470" />
+<path d="M33752 25470 L33908 25501" />
+<path d="M33908 25501 L34040 25590" />
+<path d="M34040 25590 L34512 26062" />
+<path d="M34512 26062 L34660 26062" />
+<path d="M34660 26062 L34881 26154" />
+<path d="M34881 26154 L35039 26311" />
+<path d="M35039 26311 L35198 26153" />
+<path d="M35198 26153 L35420 26062" />
+<path d="M35420 26062 L35660 26062" />
+<path d="M35660 26062 L35881 26154" />
+<path d="M35881 26154 L36051 26324" />
+<path d="M36051 26324 L36055 26335" />
+<path d="M36055 26335 L36576 26336" />
+<path d="M36576 26336 L36581 26335" />
+<path d="M36581 26335 L36707 26361" />
+<path d="M36707 26361 L36814 26432" />
+<path d="M36814 26432 L37197 26816" />
+<path d="M37197 26816 L37315 26816" />
+<path d="M37315 26816 L37494 26890" />
+<path d="M37494 26890 L37630 27027" />
+<path d="M37630 27027 L37701 27201" />
+<path d="M37701 27201 L37728 27174" />
+<path d="M37677 27048 L37728 27174" />
+<path d="M37677 26808 L37677 27048" />
+<path d="M37677 26808 L37769 26587" />
+<path d="M37769 26587 L37939 26417" />
+<path d="M37939 26417 L38161 26326" />
+<path d="M38161 26326 L38401 26326" />
+<path d="M38401 26326 L38622 26418" />
+<path d="M38622 26418 L38780 26576" />
+<path d="M38780 26576 L38939 26417" />
+<path d="M38939 26417 L39161 26326" />
+<path d="M39161 26326 L39401 26326" />
+<path d="M39401 26326 L39622 26418" />
+<path d="M39622 26418 L39792 26588" />
+<path d="M39792 26588 L39883 26810" />
+<path d="M39883 27050 L39883 26810" />
+<path d="M39878 27061 L39883 27050" />
+<path d="M39878 27061 L39937 27121" />
+<path d="M39937 27121 L39940 27123" />
+<path d="M39940 27123 L40011 27230" />
+<path d="M40011 27230 L40031 27334" />
+<path d="M40031 27334 L40036 27355" />
+<path d="M40035 27355 L40036 27355" />
+<path d="M40035 27355 L40036 27356" />
+<path d="M40036 30652 L40036 27356" />
+<path d="M40036 30652 L40120 30737" />
+<path d="M40120 30737 L40194 30916" />
+<path d="M40194 31109 L40194 30916" />
+<path d="M40120 31288 L40194 31109" />
+<path d="M39983 31424 L40120 31288" />
+<path d="M39804 31498 L39983 31424" />
+<path d="M39611 31498 L39804 31498" />
+<path d="M39585 31487 L39611 31498" />
+<path d="M39585 31596 L39585 31487" />
+<path d="M39585 31596 L41997 34009" />
+<path d="M41997 34009 L42115 33893" />
+<path d="M42115 33893 L42294 33819" />
+<path d="M42294 33819 L42487 33819" />
+<path d="M42487 33819 L42666 33893" />
+<path d="M42666 33893 L42802 34030" />
+<path d="M42802 34030 L42876 34209" />
+<path d="M42876 34325 L42876 34209" />
+<path d="M42876 34325 L43520 34970" />
+<path d="M43520 34970 L43523 34972" />
+<path d="M43523 34972 L43594 35079" />
+<path d="M43594 35079 L43614 35183" />
+<path d="M43614 35183 L43619 35204" />
+<path d="M43618 35204 L43619 35204" />
+<path d="M43618 35204 L43619 35205" />
+<path d="M43619 36799 L43619 35205" />
+<path d="M43618 36799 L43619 36799" />
+<path d="M43618 36799 L43619 36800" />
+<path d="M43613 36824 L43619 36800" />
+<path d="M43594 36925 L43613 36824" />
+<path d="M43523 37032 L43594 36925" />
+<path d="M43520 37033 L43523 37032" />
+<path d="M43025 37528 L43520 37033" />
+<path d="M43025 37528 L43085 37588" />
+<path d="M43085 37588 L43123 37680" />
+<path d="M43123 38487 L43123 37680" />
+<path d="M43085 38578 L43123 38487" />
+<path d="M43015 38648 L43085 38578" />
+<path d="M42960 38670 L43015 38648" />
+<path d="M42960 38670 L43032 38742" />
+<path d="M43032 38742 L43123 38964" />
+<path d="M43123 39204 L43123 38964" />
+<path d="M43031 39425 L43123 39204" />
+<path d="M42861 39595 L43031 39425" />
+<path d="M42639 39686 L42861 39595" />
+<path d="M42399 39686 L42639 39686" />
+<path d="M42178 39594 L42399 39686" />
+<path d="M42008 39424 L42178 39594" />
+<path d="M41917 39202 L42008 39424" />
+<path d="M41917 38962 L41917 39202" />
+<path d="M41917 38962 L41921 38950" />
+<path d="M41326 38355 L41921 38950" />
+<path d="M41255 38248 L41326 38355" />
+<path d="M41229 38122 L41255 38248" />
+<path d="M41229 38122 L41230 38117" />
+<path d="M41230 35903 L41230 38117" />
+<path d="M40453 36680 L41230 35903" />
+<path d="M40453 37011 L40453 36680" />
+<path d="M40428 37137 L40453 37011" />
+<path d="M40357 37244 L40428 37137" />
+<path d="M40354 37245 L40357 37244" />
+<path d="M40236 37364 L40354 37245" />
+<path d="M40236 37364 L40310 37543" />
+<path d="M40310 37736 L40310 37543" />
+<path d="M40236 37915 L40310 37736" />
+<path d="M40099 38051 L40236 37915" />
+<path d="M39920 38125 L40099 38051" />
+<path d="M39727 38125 L39920 38125" />
+<path d="M39687 38108 L39727 38125" />
+<path d="M39687 38108 L39717 38180" />
+<path d="M39717 38987 L39717 38180" />
+<path d="M39679 39078 L39717 38987" />
+<path d="M39609 39148 L39679 39078" />
+<path d="M39517 39186 L39609 39148" />
+<path d="M38710 39186 L39517 39186" />
+<path d="M38619 39148 L38710 39186" />
+<path d="M38549 39078 L38619 39148" />
+<path d="M38528 39028 L38549 39078" />
+<path d="M38458 39099 L38528 39028" />
+<path d="M38234 39191 L38458 39099" />
+<path d="M37992 39191 L38234 39191" />
+<path d="M37769 39098 L37992 39191" />
+<path d="M37614 38943 L37769 39098" />
+<path d="M37458 39099 L37614 38943" />
+<path d="M37234 39191 L37458 39099" />
+<path d="M36992 39191 L37234 39191" />
+<path d="M36769 39098 L36992 39191" />
+<path d="M36613 38943 L36769 39098" />
+<path d="M36458 39099 L36613 38943" />
+<path d="M36234 39191 L36458 39099" />
+<path d="M35992 39191 L36234 39191" />
+<path d="M35769 39098 L35992 39191" />
+<path d="M35614 38943 L35769 39098" />
+<path d="M35458 39099 L35614 38943" />
+<path d="M35234 39191 L35458 39099" />
+<path d="M34992 39191 L35234 39191" />
+<path d="M34769 39098 L34992 39191" />
+<path d="M34614 38943 L34769 39098" />
+<path d="M34458 39099 L34614 38943" />
+<path d="M34359 39139 L34458 39099" />
+<path d="M34359 39139 L34380 39160" />
+<path d="M34380 39160 L34498 39161" />
+<path d="M34498 39161 L34677 39235" />
+<path d="M34677 39235 L34813 39372" />
+<path d="M34813 39372 L34887 39551" />
+<path d="M34887 39744 L34887 39551" />
+<path d="M34813 39923 L34887 39744" />
+<path d="M34676 40059 L34813 39923" />
+<path d="M34497 40133 L34676 40059" />
+<path d="M34304 40133 L34497 40133" />
+<path d="M41888 37985 L41917 38014" />
+<path d="M41917 37679 L41917 38014" />
+<path d="M41917 37679 L41955 37588" />
+<path d="M41955 37588 L42025 37518" />
+<path d="M42025 37518 L42117 37480" />
+<path d="M42117 37480 L42208 37480" />
+<path d="M42208 37480 L42216 37443" />
+<path d="M42216 37443 L42287 37336" />
+<path d="M42287 37336 L42961 36662" />
+<path d="M42961 35341 L42961 36662" />
+<path d="M42764 35144 L42961 35341" />
+<path d="M42764 35300 L42764 35144" />
+<path d="M42690 35479 L42764 35300" />
+<path d="M42553 35615 L42690 35479" />
+<path d="M42374 35689 L42553 35615" />
+<path d="M42185 35689 L42374 35689" />
+<path d="M41888 35986 L42185 35689" />
+<path d="M41888 37985 L41888 35986" />
+<path d="M33094 33038 L37365 37310" />
+<path d="M37365 37310 L37763 37310" />
+<path d="M33732 33279 L37763 37310" />
+<path d="M33661 33172 L33732 33279" />
+<path d="M33635 33046 L33661 33172" />
+<path d="M33635 33046 L33636 33041" />
+<path d="M33636 32312 L33636 33041" />
+<path d="M33561 32312 L33636 32312" />
+<path d="M33470 32274 L33561 32312" />
+<path d="M33400 32204 L33470 32274" />
+<path d="M33377 32149 L33400 32204" />
+<path d="M33306 32220 L33377 32149" />
+<path d="M33306 32220 L33377 32292" />
+<path d="M33377 32292 L33451 32471" />
+<path d="M33451 32664 L33451 32471" />
+<path d="M33377 32843 L33451 32664" />
+<path d="M33240 32979 L33377 32843" />
+<path d="M33094 33038 L33240 32979" />
+<path d="M38212 36489 L39313 36489" />
+<path d="M39313 36489 L39397 36406" />
+<path d="M39397 36406 L39576 36332" />
+<path d="M39576 36332 L39769 36332" />
+<path d="M39769 36332 L39853 36367" />
+<path d="M39853 36367 L39891 36311" />
+<path d="M39891 36311 L41315 34887" />
+<path d="M41315 34770 L41315 34887" />
+<path d="M41315 34770 L41389 34591" />
+<path d="M41389 34591 L41519 34461" />
+<path d="M39023 31966 L41519 34461" />
+<path d="M38952 31859 L39023 31966" />
+<path d="M38926 31733 L38952 31859" />
+<path d="M38926 31733 L38927 31728" />
+<path d="M38927 31415 L38927 31728" />
+<path d="M38904 31425 L38927 31415" />
+<path d="M38787 31425 L38904 31425" />
+<path d="M37067 33146 L38787 31425" />
+<path d="M36960 33217 L37067 33146" />
+<path d="M36834 33243 L36960 33217" />
+<path d="M36829 33242 L36834 33243" />
+<path d="M36165 33242 L36829 33242" />
+<path d="M36082 33325 L36165 33242" />
+<path d="M35903 33399 L36082 33325" />
+<path d="M35710 33399 L35903 33399" />
+<path d="M35648 33373 L35710 33399" />
+<path d="M35624 33433 L35648 33373" />
+<path d="M35487 33569 L35624 33433" />
+<path d="M35349 33625 L35487 33569" />
+<path d="M35349 33625 L38212 36489" />
+<path d="M34809 32872 L34809 31224" />
+<path d="M34809 32872 L34883 32798" />
+<path d="M34883 32287 L34883 32798" />
+<path d="M34882 32283 L34883 32287" />
+<path d="M34882 32283 L34908 32157" />
+<path d="M34908 32157 L34979 32050" />
+<path d="M34979 32050 L36417 30612" />
+<path d="M36417 30495 L36417 30612" />
+<path d="M36417 30495 L36491 30316" />
+<path d="M36491 30316 L36628 30180" />
+<path d="M36628 30180 L36807 30106" />
+<path d="M36807 30106 L36969 30106" />
+<path d="M36951 30061 L36969 30106" />
+<path d="M36951 30038 L36951 30061" />
+<path d="M34481 30038 L36951 30038" />
+<path d="M34476 30051 L34481 30038" />
+<path d="M34317 30208 L34476 30051" />
+<path d="M34317 30208 L34477 30368" />
+<path d="M34477 30368 L34568 30590" />
+<path d="M34568 30830 L34568 30590" />
+<path d="M34563 30841 L34568 30830" />
+<path d="M34563 30841 L34710 30989" />
+<path d="M34710 30989 L34713 30991" />
+<path d="M34713 30991 L34784 31098" />
+<path d="M34784 31098 L34809 31224" />
+<path d="M36165 32584 L36697 32584" />
+<path d="M36697 32584 L38322 30959" />
+<path d="M38322 30842 L38322 30959" />
+<path d="M38322 30842 L38396 30663" />
+<path d="M38396 30663 L38533 30527" />
+<path d="M38533 30527 L38712 30453" />
+<path d="M38712 30453 L38905 30453" />
+<path d="M38905 30453 L38927 30462" />
+<path d="M38927 30041 L38927 30462" />
+<path d="M37356 28471 L38927 30041" />
+<path d="M36453 28471 L37356 28471" />
+<path d="M36297 28440 L36453 28471" />
+<path d="M36165 28352 L36297 28440" />
+<path d="M36038 28225 L36165 28352" />
+<path d="M36034 28230 L36038 28225" />
+<path d="M35942 28268 L36034 28230" />
+<path d="M35135 28268 L35942 28268" />
+<path d="M35044 28230 L35135 28268" />
+<path d="M35031 28217 L35044 28230" />
+<path d="M34126 29122 L35031 28217" />
+<path d="M34126 29122 L34307 29198" />
+<path d="M34307 29198 L34477 29368" />
+<path d="M34477 29368 L34481 29380" />
+<path d="M34481 29380 L37176 29380" />
+<path d="M37176 29380 L37181 29379" />
+<path d="M37181 29379 L37307 29405" />
+<path d="M37307 29405 L37414 29476" />
+<path d="M37414 29476 L37417 29479" />
+<path d="M37417 29479 L37534 29479" />
+<path d="M37534 29479 L37713 29553" />
+<path d="M37713 29553 L37849 29690" />
+<path d="M37849 29690 L37923 29869" />
+<path d="M37923 30062 L37923 29869" />
+<path d="M37849 30241 L37923 30062" />
+<path d="M37712 30377 L37849 30241" />
+<path d="M37533 30451 L37712 30377" />
+<path d="M37370 30451 L37533 30451" />
+<path d="M37370 30451 L37389 30496" />
+<path d="M37389 30689 L37389 30496" />
+<path d="M37315 30868 L37389 30689" />
+<path d="M37178 31004 L37315 30868" />
+<path d="M36999 31078 L37178 31004" />
+<path d="M36882 31078 L36999 31078" />
+<path d="M35541 32419 L36882 31078" />
+<path d="M35541 32497 L35541 32419" />
+<path d="M35541 32497 L35711 32427" />
+<path d="M35711 32427 L35904 32427" />
+<path d="M35904 32427 L36083 32501" />
+<path d="M36083 32501 L36165 32584" />
+<path d="M33317 31208 L33377 31268" />
+<path d="M33377 31268 L33400 31214" />
+<path d="M33400 31214 L33470 31144" />
+<path d="M33470 31144 L33524 31121" />
+<path d="M33464 31061 L33524 31121" />
+<path d="M33317 31208 L33464 31061" />
+<path d="M33318 30209 L33464 30355" />
+<path d="M33464 30355 L33611 30208" />
+<path d="M33465 30062 L33611 30208" />
+<path d="M33318 30209 L33465 30062" />
+<path d="M37935 28119 L39378 29561" />
+<path d="M39378 27532 L39378 29561" />
+<path d="M39159 27532 L39378 27532" />
+<path d="M38938 27440 L39159 27532" />
+<path d="M38780 27281 L38938 27440" />
+<path d="M38621 27441 L38780 27281" />
+<path d="M38590 27453 L38621 27441" />
+<path d="M38568 27487 L38590 27453" />
+<path d="M37935 28119 L38568 27487" />
+<path d="M30270 29302 L32519 29302" />
+<path d="M32519 29302 L32624 29197" />
+<path d="M32624 29197 L32846 29106" />
+<path d="M32846 29106 L32992 29106" />
+<path d="M32992 29106 L34719 27379" />
+<path d="M34719 27379 L34721 27377" />
+<path d="M34721 27377 L34853 27289" />
+<path d="M34853 27289 L34936 27272" />
+<path d="M34936 27261 L34936 27272" />
+<path d="M34936 27261 L34974 27170" />
+<path d="M34974 27170 L35044 27100" />
+<path d="M35044 27100 L35098 27077" />
+<path d="M35039 27018 L35098 27077" />
+<path d="M34880 27177 L35039 27018" />
+<path d="M34658 27268 L34880 27177" />
+<path d="M34418 27268 L34658 27268" />
+<path d="M34197 27176 L34418 27268" />
+<path d="M34027 27006 L34197 27176" />
+<path d="M33936 26784 L34027 27006" />
+<path d="M33936 26638 L33936 26784" />
+<path d="M33583 26286 L33936 26638" />
+<path d="M31547 26286 L33583 26286" />
+<path d="M31542 26290 L31547 26286" />
+<path d="M31542 26290 L31597 26313" />
+<path d="M31597 26313 L31667 26383" />
+<path d="M31667 26383 L31705 26475" />
+<path d="M31705 27282 L31705 26475" />
+<path d="M31667 27373 L31705 27282" />
+<path d="M31597 27443 L31667 27373" />
+<path d="M31505 27481 L31597 27443" />
+<path d="M30698 27481 L31505 27481" />
+<path d="M30607 27443 L30698 27481" />
+<path d="M30537 27373 L30607 27443" />
+<path d="M30501 27286 L30537 27373" />
+<path d="M29735 27286 L30501 27286" />
+<path d="M29699 27373 L29735 27286" />
+<path d="M29629 27443 L29699 27373" />
+<path d="M29537 27481 L29629 27443" />
+<path d="M28730 27481 L29537 27481" />
+<path d="M28639 27443 L28730 27481" />
+<path d="M28569 27373 L28639 27443" />
+<path d="M28531 27281 L28569 27373" />
+<path d="M28531 26474 L28531 27281" />
+<path d="M28531 26474 L28569 26383" />
+<path d="M28569 26383 L28639 26313" />
+<path d="M28639 26313 L28693 26290" />
+<path d="M28688 26285 L28693 26290" />
+<path d="M28360 26285 L28688 26285" />
+<path d="M28360 27587 L28360 26285" />
+<path d="M28360 27587 L29303 28530" />
+<path d="M29303 28530 L29330 28530" />
+<path d="M29330 28530 L29486 28561" />
+<path d="M29486 28561 L29618 28649" />
+<path d="M29618 28649 L30270 29302" />
+<path d="M36622 27657 L36885 27657" />
+<path d="M36806 27577 L36885 27657" />
+<path d="M36732 27398 L36806 27577" />
+<path d="M36732 27281 L36732 27398" />
+<path d="M36444 26994 L36732 27281" />
+<path d="M36055 26994 L36444 26994" />
+<path d="M36050 27007 L36055 26994" />
+<path d="M35979 27077 L36050 27007" />
+<path d="M35979 27077 L36034 27100" />
+<path d="M36034 27100 L36104 27170" />
+<path d="M36104 27170 L36142 27262" />
+<path d="M36142 27275 L36142 27262" />
+<path d="M36142 27275 L36210 27289" />
+<path d="M36210 27289 L36342 27377" />
+<path d="M36342 27377 L36622 27657" />
+<path d="M27047 23897 L46182 23897" />
+<path d="M27047 23977 L46182 23977" />
+<path d="M27047 24057 L46182 24057" />
+<path d="M27047 24137 L45302 24137" />
+<path d="M45643 24137 L46182 24137" />
+<path d="M27047 24217 L45214 24217" />
+<path d="M45731 24217 L46182 24217" />
+<path d="M27047 24297 L45167 24297" />
+<path d="M45778 24297 L46182 24297" />
+<path d="M27047 24377 L45151 24377" />
+<path d="M45794 24377 L46182 24377" />
+<path d="M27047 24457 L45131 24457" />
+<path d="M45813 24457 L46182 24457" />
+<path d="M27047 24537 L44900 24537" />
+<path d="M46046 24537 L46182 24537" />
+<path d="M27047 24617 L44817 24617" />
+<path d="M46129 24617 L46182 24617" />
+<path d="M27047 24697 L44773 24697" />
+<path d="M46173 24697 L46182 24697" />
+<path d="M27047 24777 L44757 24777" />
+<path d="M27047 24857 L44761 24857" />
+<path d="M27047 24937 L44780 24937" />
+<path d="M46164 24937 L46182 24937" />
+<path d="M27047 25017 L44834 25017" />
+<path d="M46110 25017 L46182 25017" />
+<path d="M27047 25097 L44938 25097" />
+<path d="M46006 25097 L46182 25097" />
+<path d="M27047 25177 L45144 25177" />
+<path d="M45800 25177 L46182 25177" />
+<path d="M27047 25257 L45155 25257" />
+<path d="M45788 25257 L46182 25257" />
+<path d="M27047 25337 L28864 25337" />
+<path d="M29404 25337 L30832 25337" />
+<path d="M31372 25337 L45177 25337" />
+<path d="M45766 25337 L46182 25337" />
+<path d="M27047 25417 L28742 25417" />
+<path d="M29526 25417 L30710 25417" />
+<path d="M31494 25417 L45231 25417" />
+<path d="M45712 25417 L46182 25417" />
+<path d="M27047 25497 L27928 25497" />
+<path d="M29606 25497 L30630 25497" />
+<path d="M33888 25497 L45340 25497" />
+<path d="M45603 25497 L46182 25497" />
+<path d="M27047 25577 L27791 25577" />
+<path d="M29663 25577 L30574 25577" />
+<path d="M34021 25577 L46182 25577" />
+<path d="M27047 25657 L27704 25657" />
+<path d="M29696 25657 L30541 25657" />
+<path d="M34107 25657 L46182 25657" />
+<path d="M27047 25737 L27638 25737" />
+<path d="M29728 25737 L30508 25737" />
+<path d="M34187 25737 L46182 25737" />
+<path d="M27047 25817 L27585 25817" />
+<path d="M29737 25817 L30499 25817" />
+<path d="M34267 25817 L46182 25817" />
+<path d="M27047 25897 L27564 25897" />
+<path d="M29737 25897 L30499 25897" />
+<path d="M34347 25897 L46182 25897" />
+<path d="M27047 25977 L27548 25977" />
+<path d="M29737 25977 L30499 25977" />
+<path d="M34427 25977 L46182 25977" />
+<path d="M27047 26057 L27546 26057" />
+<path d="M29712 26057 L30523 26057" />
+<path d="M34507 26057 L46182 26057" />
+<path d="M27047 26137 L27546 26137" />
+<path d="M29679 26137 L30556 26137" />
+<path d="M34841 26137 L35238 26137" />
+<path d="M35841 26137 L46182 26137" />
+<path d="M27047 26217 L27546 26217" />
+<path d="M29646 26217 L30589 26217" />
+<path d="M34945 26217 L35134 26217" />
+<path d="M35944 26217 L46182 26217" />
+<path d="M27047 26297 L27546 26297" />
+<path d="M29591 26297 L30645 26297" />
+<path d="M35025 26297 L35054 26297" />
+<path d="M36024 26297 L46182 26297" />
+<path d="M27047 26377 L27546 26377" />
+<path d="M29693 26377 L30543 26377" />
+<path d="M36732 26377 L38037 26377" />
+<path d="M38524 26377 L39037 26377" />
+<path d="M39524 26377 L46182 26377" />
+<path d="M27047 26457 L27546 26457" />
+<path d="M29729 26457 L30506 26457" />
+<path d="M36839 26457 L37899 26457" />
+<path d="M38661 26457 L38899 26457" />
+<path d="M39661 26457 L46182 26457" />
+<path d="M27047 26537 L27546 26537" />
+<path d="M36919 26537 L37819 26537" />
+<path d="M38741 26537 L38819 26537" />
+<path d="M39741 26537 L46182 26537" />
+<path d="M27047 26617 L27546 26617" />
+<path d="M36999 26617 L37757 26617" />
+<path d="M39804 26617 L46182 26617" />
+<path d="M27047 26697 L27546 26697" />
+<path d="M37079 26697 L37724 26697" />
+<path d="M39837 26697 L46182 26697" />
+<path d="M27047 26777 L27546 26777" />
+<path d="M37159 26777 L37690 26777" />
+<path d="M39870 26777 L46182 26777" />
+<path d="M27047 26857 L27546 26857" />
+<path d="M37415 26857 L37677 26857" />
+<path d="M39883 26857 L46182 26857" />
+<path d="M27047 26937 L27546 26937" />
+<path d="M37541 26937 L37677 26937" />
+<path d="M39883 26937 L46182 26937" />
+<path d="M27047 27017 L27546 27017" />
+<path d="M37621 27017 L37677 27017" />
+<path d="M39883 27017 L46182 27017" />
+<path d="M27047 27097 L27546 27097" />
+<path d="M37659 27097 L37696 27097" />
+<path d="M39914 27097 L46182 27097" />
+<path d="M27047 27177 L27546 27177" />
+<path d="M37692 27177 L37725 27177" />
+<path d="M39976 27177 L46182 27177" />
+<path d="M27047 27257 L27546 27257" />
+<path d="M40017 27257 L46182 27257" />
+<path d="M27047 27337 L27546 27337" />
+<path d="M40032 27337 L46182 27337" />
+<path d="M27047 27417 L27546 27417" />
+<path d="M40036 27417 L46182 27417" />
+<path d="M27047 27497 L27546 27497" />
+<path d="M40036 27497 L46182 27497" />
+<path d="M27047 27577 L27546 27577" />
+<path d="M40036 27577 L46182 27577" />
+<path d="M27047 27657 L27546 27657" />
+<path d="M40036 27657 L46182 27657" />
+<path d="M27047 27737 L27546 27737" />
+<path d="M40036 27737 L46182 27737" />
+<path d="M27047 27817 L27558 27817" />
+<path d="M40036 27817 L46182 27817" />
+<path d="M27047 27897 L27574 27897" />
+<path d="M40036 27897 L46182 27897" />
+<path d="M27047 27977 L27620 27977" />
+<path d="M40036 27977 L46182 27977" />
+<path d="M27047 28057 L27678 28057" />
+<path d="M40036 28057 L46182 28057" />
+<path d="M27047 28137 L27758 28137" />
+<path d="M40036 28137 L46182 28137" />
+<path d="M27047 28217 L27838 28217" />
+<path d="M40036 28217 L46182 28217" />
+<path d="M27047 28297 L27918 28297" />
+<path d="M40036 28297 L46182 28297" />
+<path d="M27047 28377 L27998 28377" />
+<path d="M40036 28377 L46182 28377" />
+<path d="M27047 28457 L28078 28457" />
+<path d="M40036 28457 L46182 28457" />
+<path d="M27047 28537 L28158 28537" />
+<path d="M40036 28537 L46182 28537" />
+<path d="M27047 28617 L28238 28617" />
+<path d="M40036 28617 L46182 28617" />
+<path d="M27047 28697 L28318 28697" />
+<path d="M40036 28697 L46182 28697" />
+<path d="M27047 28777 L28398 28777" />
+<path d="M40036 28777 L46182 28777" />
+<path d="M27047 28857 L28478 28857" />
+<path d="M40036 28857 L46182 28857" />
+<path d="M27047 28937 L28558 28937" />
+<path d="M40036 28937 L46182 28937" />
+<path d="M27047 29017 L28638 29017" />
+<path d="M40036 29017 L46182 29017" />
+<path d="M27047 29097 L28718 29097" />
+<path d="M40036 29097 L46182 29097" />
+<path d="M27047 29177 L28798 29177" />
+<path d="M40036 29177 L46182 29177" />
+<path d="M27047 29257 L28894 29257" />
+<path d="M40036 29257 L46182 29257" />
+<path d="M27047 29337 L29098 29337" />
+<path d="M40036 29337 L46182 29337" />
+<path d="M27047 29417 L29234 29417" />
+<path d="M40036 29417 L46182 29417" />
+<path d="M27047 29497 L29314 29497" />
+<path d="M40036 29497 L46182 29497" />
+<path d="M27047 29577 L29394 29577" />
+<path d="M40036 29577 L46182 29577" />
+<path d="M27047 29657 L29474 29657" />
+<path d="M40036 29657 L46182 29657" />
+<path d="M27047 29737 L29554 29737" />
+<path d="M40036 29737 L46182 29737" />
+<path d="M27047 29817 L29634 29817" />
+<path d="M40036 29817 L46182 29817" />
+<path d="M27047 29897 L29714 29897" />
+<path d="M40036 29897 L46182 29897" />
+<path d="M27047 29977 L29794 29977" />
+<path d="M40036 29977 L46182 29977" />
+<path d="M27047 30057 L29904 30057" />
+<path d="M40036 30057 L46182 30057" />
+<path d="M27047 30137 L32540 30137" />
+<path d="M40036 30137 L46182 30137" />
+<path d="M27047 30217 L32604 30217" />
+<path d="M40036 30217 L46182 30217" />
+<path d="M27047 30297 L32524 30297" />
+<path d="M40036 30297 L46182 30297" />
+<path d="M27047 30377 L32450 30377" />
+<path d="M40036 30377 L46182 30377" />
+<path d="M27047 30457 L32417 30457" />
+<path d="M40036 30457 L46182 30457" />
+<path d="M27047 30537 L32384 30537" />
+<path d="M40036 30537 L46182 30537" />
+<path d="M27047 30617 L32362 30617" />
+<path d="M40036 30617 L46182 30617" />
+<path d="M27047 30697 L32362 30697" />
+<path d="M40081 30697 L46182 30697" />
+<path d="M27047 30777 L32362 30777" />
+<path d="M40137 30777 L46182 30777" />
+<path d="M27047 30857 L32351 30857" />
+<path d="M40170 30857 L46182 30857" />
+<path d="M27047 30937 L32271 30937" />
+<path d="M40194 30937 L46182 30937" />
+<path d="M27047 31017 L32191 31017" />
+<path d="M40194 31017 L46182 31017" />
+<path d="M27047 31097 L32136 31097" />
+<path d="M40194 31097 L46182 31097" />
+<path d="M27047 31177 L32105 31177" />
+<path d="M40165 31177 L46182 31177" />
+<path d="M27047 31257 L32088 31257" />
+<path d="M40132 31257 L46182 31257" />
+<path d="M27047 31337 L32089 31337" />
+<path d="M40070 31337 L46182 31337" />
+<path d="M27047 31417 L32089 31417" />
+<path d="M39990 31417 L46182 31417" />
+<path d="M27047 31497 L32089 31497" />
+<path d="M39585 31497 L39608 31497" />
+<path d="M39806 31497 L46182 31497" />
+<path d="M27047 31577 L32089 31577" />
+<path d="M39585 31577 L46182 31577" />
+<path d="M27047 31657 L32089 31657" />
+<path d="M39646 31657 L46182 31657" />
+<path d="M27047 31737 L32089 31737" />
+<path d="M39726 31737 L46182 31737" />
+<path d="M27047 31817 L32089 31817" />
+<path d="M39806 31817 L46182 31817" />
+<path d="M27047 31897 L32089 31897" />
+<path d="M39886 31897 L46182 31897" />
+<path d="M27047 31977 L32089 31977" />
+<path d="M39966 31977 L46182 31977" />
+<path d="M27047 32057 L32089 32057" />
+<path d="M40046 32057 L46182 32057" />
+<path d="M27047 32137 L32089 32137" />
+<path d="M40126 32137 L46182 32137" />
+<path d="M27047 32217 L32089 32217" />
+<path d="M40206 32217 L46182 32217" />
+<path d="M27047 32297 L32089 32297" />
+<path d="M40286 32297 L46182 32297" />
+<path d="M27047 32377 L32089 32377" />
+<path d="M40366 32377 L46182 32377" />
+<path d="M27047 32457 L32089 32457" />
+<path d="M40446 32457 L46182 32457" />
+<path d="M27047 32537 L32089 32537" />
+<path d="M40526 32537 L46182 32537" />
+<path d="M27047 32617 L32089 32617" />
+<path d="M40606 32617 L46182 32617" />
+<path d="M27047 32697 L32089 32697" />
+<path d="M40686 32697 L46182 32697" />
+<path d="M27047 32777 L32089 32777" />
+<path d="M40766 32777 L46182 32777" />
+<path d="M27047 32857 L32093 32857" />
+<path d="M40846 32857 L46182 32857" />
+<path d="M27047 32937 L32110 32937" />
+<path d="M40926 32937 L46182 32937" />
+<path d="M27047 33017 L32155 33017" />
+<path d="M41006 33017 L46182 33017" />
+<path d="M27047 33097 L32221 33097" />
+<path d="M41086 33097 L46182 33097" />
+<path d="M27047 33177 L32301 33177" />
+<path d="M41166 33177 L46182 33177" />
+<path d="M27047 33257 L32381 33257" />
+<path d="M41246 33257 L46182 33257" />
+<path d="M27047 33337 L32461 33337" />
+<path d="M41326 33337 L46182 33337" />
+<path d="M27047 33417 L32541 33417" />
+<path d="M41406 33417 L46182 33417" />
+<path d="M27047 33497 L32621 33497" />
+<path d="M41486 33497 L46182 33497" />
+<path d="M27047 33577 L32701 33577" />
+<path d="M41566 33577 L46182 33577" />
+<path d="M27047 33657 L32781 33657" />
+<path d="M41646 33657 L46182 33657" />
+<path d="M27047 33737 L32861 33737" />
+<path d="M41726 33737 L46182 33737" />
+<path d="M27047 33817 L32941 33817" />
+<path d="M41806 33817 L46182 33817" />
+<path d="M27047 33897 L33021 33897" />
+<path d="M41886 33897 L42111 33897" />
+<path d="M42670 33897 L46182 33897" />
+<path d="M27047 33977 L33101 33977" />
+<path d="M41966 33977 L42030 33977" />
+<path d="M42750 33977 L46182 33977" />
+<path d="M27047 34057 L33181 34057" />
+<path d="M42814 34057 L46182 34057" />
+<path d="M27047 34137 L33261 34137" />
+<path d="M42847 34137 L46182 34137" />
+<path d="M27047 34217 L33341 34217" />
+<path d="M42876 34217 L46182 34217" />
+<path d="M27047 34297 L33421 34297" />
+<path d="M42876 34297 L46182 34297" />
+<path d="M27047 34377 L33501 34377" />
+<path d="M42928 34377 L46182 34377" />
+<path d="M27047 34457 L33581 34457" />
+<path d="M43008 34457 L46182 34457" />
+<path d="M27047 34537 L33661 34537" />
+<path d="M43088 34537 L46182 34537" />
+<path d="M27047 34617 L33741 34617" />
+<path d="M43168 34617 L46182 34617" />
+<path d="M27047 34697 L33821 34697" />
+<path d="M43248 34697 L46182 34697" />
+<path d="M27047 34777 L33901 34777" />
+<path d="M43328 34777 L46182 34777" />
+<path d="M27047 34857 L33981 34857" />
+<path d="M43408 34857 L46182 34857" />
+<path d="M27047 34937 L34061 34937" />
+<path d="M43488 34937 L46182 34937" />
+<path d="M27047 35017 L34141 35017" />
+<path d="M43553 35017 L46182 35017" />
+<path d="M27047 35097 L34221 35097" />
+<path d="M43598 35097 L46182 35097" />
+<path d="M27047 35177 L34301 35177" />
+<path d="M43613 35177 L46182 35177" />
+<path d="M27047 35257 L34381 35257" />
+<path d="M43619 35257 L46182 35257" />
+<path d="M27047 35337 L34461 35337" />
+<path d="M43619 35337 L46182 35337" />
+<path d="M27047 35417 L34541 35417" />
+<path d="M43619 35417 L46182 35417" />
+<path d="M27047 35497 L34621 35497" />
+<path d="M43619 35497 L46182 35497" />
+<path d="M27047 35577 L34701 35577" />
+<path d="M43619 35577 L46182 35577" />
+<path d="M27047 35657 L34781 35657" />
+<path d="M43619 35657 L46182 35657" />
+<path d="M27047 35737 L32994 35737" />
+<path d="M33308 35737 L34861 35737" />
+<path d="M43619 35737 L46182 35737" />
+<path d="M27047 35817 L32844 35817" />
+<path d="M33457 35817 L34941 35817" />
+<path d="M43619 35817 L46182 35817" />
+<path d="M27047 35897 L32764 35897" />
+<path d="M33537 35897 L35021 35897" />
+<path d="M43619 35897 L46182 35897" />
+<path d="M27047 35977 L32716 35977" />
+<path d="M33585 35977 L35101 35977" />
+<path d="M41156 35977 L41230 35977" />
+<path d="M43619 35977 L46182 35977" />
+<path d="M27047 36057 L32683 36057" />
+<path d="M33618 36057 L35181 36057" />
+<path d="M41076 36057 L41230 36057" />
+<path d="M43619 36057 L46182 36057" />
+<path d="M27047 36137 L32664 36137" />
+<path d="M33636 36137 L35261 36137" />
+<path d="M40996 36137 L41230 36137" />
+<path d="M43619 36137 L46182 36137" />
+<path d="M27047 36217 L32664 36217" />
+<path d="M33636 36217 L35341 36217" />
+<path d="M40916 36217 L41230 36217" />
+<path d="M43619 36217 L46182 36217" />
+<path d="M27047 36297 L32665 36297" />
+<path d="M33635 36297 L35421 36297" />
+<path d="M40836 36297 L41230 36297" />
+<path d="M43619 36297 L46182 36297" />
+<path d="M27047 36377 L32698 36377" />
+<path d="M33602 36377 L35501 36377" />
+<path d="M40756 36377 L41230 36377" />
+<path d="M43619 36377 L46182 36377" />
+<path d="M27047 36457 L32731 36457" />
+<path d="M33569 36457 L35581 36457" />
+<path d="M40676 36457 L41230 36457" />
+<path d="M43619 36457 L46182 36457" />
+<path d="M27047 36537 L32802 36537" />
+<path d="M33498 36537 L35661 36537" />
+<path d="M40596 36537 L41230 36537" />
+<path d="M43619 36537 L46182 36537" />
+<path d="M27047 36617 L32821 36617" />
+<path d="M33479 36617 L35741 36617" />
+<path d="M40516 36617 L41230 36617" />
+<path d="M43619 36617 L46182 36617" />
+<path d="M27047 36697 L32821 36697" />
+<path d="M33479 36697 L35821 36697" />
+<path d="M40453 36697 L41230 36697" />
+<path d="M43619 36697 L46182 36697" />
+<path d="M27047 36777 L32821 36777" />
+<path d="M33479 36777 L35901 36777" />
+<path d="M40453 36777 L41230 36777" />
+<path d="M43619 36777 L46182 36777" />
+<path d="M27047 36857 L32821 36857" />
+<path d="M33479 36857 L35981 36857" />
+<path d="M40453 36857 L41230 36857" />
+<path d="M43606 36857 L46182 36857" />
+<path d="M27047 36937 L32821 36937" />
+<path d="M33479 36937 L36061 36937" />
+<path d="M40453 36937 L41230 36937" />
+<path d="M43586 36937 L46182 36937" />
+<path d="M27047 37017 L32821 37017" />
+<path d="M33479 37017 L36141 37017" />
+<path d="M40451 37017 L41230 37017" />
+<path d="M43532 37017 L46182 37017" />
+<path d="M27047 37097 L32821 37097" />
+<path d="M33479 37097 L36221 37097" />
+<path d="M40435 37097 L41230 37097" />
+<path d="M43456 37097 L46182 37097" />
+<path d="M27047 37177 L32821 37177" />
+<path d="M33479 37177 L36301 37177" />
+<path d="M40401 37177 L41230 37177" />
+<path d="M43376 37177 L46182 37177" />
+<path d="M27047 37257 L32821 37257" />
+<path d="M33479 37257 L36381 37257" />
+<path d="M40342 37257 L41230 37257" />
+<path d="M43296 37257 L46182 37257" />
+<path d="M27047 37337 L32821 37337" />
+<path d="M33479 37337 L36461 37337" />
+<path d="M40262 37337 L41230 37337" />
+<path d="M43216 37337 L46182 37337" />
+<path d="M27047 37417 L32821 37417" />
+<path d="M33479 37417 L36541 37417" />
+<path d="M40258 37417 L41230 37417" />
+<path d="M43136 37417 L46182 37417" />
+<path d="M27047 37497 L32821 37497" />
+<path d="M33479 37497 L36621 37497" />
+<path d="M40291 37497 L41230 37497" />
+<path d="M43056 37497 L46182 37497" />
+<path d="M27047 37577 L32821 37577" />
+<path d="M33479 37577 L36701 37577" />
+<path d="M40310 37577 L41230 37577" />
+<path d="M43074 37577 L46182 37577" />
+<path d="M27047 37657 L32821 37657" />
+<path d="M33479 37657 L36781 37657" />
+<path d="M40310 37657 L41230 37657" />
+<path d="M43114 37657 L46182 37657" />
+<path d="M27047 37737 L32821 37737" />
+<path d="M33479 37737 L36861 37737" />
+<path d="M40309 37737 L41230 37737" />
+<path d="M43123 37737 L46182 37737" />
+<path d="M27047 37817 L32821 37817" />
+<path d="M33479 37817 L36941 37817" />
+<path d="M40276 37817 L41230 37817" />
+<path d="M43123 37817 L46182 37817" />
+<path d="M27047 37897 L32821 37897" />
+<path d="M33479 37897 L37033 37897" />
+<path d="M40243 37897 L41230 37897" />
+<path d="M43123 37897 L46182 37897" />
+<path d="M27047 37977 L32821 37977" />
+<path d="M33479 37977 L33990 37977" />
+<path d="M34241 37977 L34990 37977" />
+<path d="M35241 37977 L35990 37977" />
+<path d="M36241 37977 L36990 37977" />
+<path d="M37241 37977 L37990 37977" />
+<path d="M38241 37977 L39474 37977" />
+<path d="M40173 37977 L41230 37977" />
+<path d="M43123 37977 L46182 37977" />
+<path d="M27047 38057 L32821 38057" />
+<path d="M33479 38057 L33795 38057" />
+<path d="M34433 38057 L34795 38057" />
+<path d="M35433 38057 L35795 38057" />
+<path d="M36433 38057 L36795 38057" />
+<path d="M37433 38057 L37795 38057" />
+<path d="M38433 38057 L38580 38057" />
+<path d="M40084 38057 L41230 38057" />
+<path d="M43123 38057 L46182 38057" />
+<path d="M27047 38137 L32821 38137" />
+<path d="M33479 38137 L33700 38137" />
+<path d="M34528 38137 L34700 38137" />
+<path d="M35528 38137 L35700 38137" />
+<path d="M36528 38137 L36700 38137" />
+<path d="M37528 38137 L37700 38137" />
+<path d="M39700 38137 L41232 38137" />
+<path d="M43123 38137 L46182 38137" />
+<path d="M27047 38217 L32821 38217" />
+<path d="M33479 38217 L33620 38217" />
+<path d="M34608 38217 L34620 38217" />
+<path d="M35608 38217 L35620 38217" />
+<path d="M36608 38217 L36620 38217" />
+<path d="M37608 38217 L37619 38217" />
+<path d="M39717 38217 L41248 38217" />
+<path d="M43123 38217 L46182 38217" />
+<path d="M27047 38297 L32821 38297" />
+<path d="M33517 38297 L33574 38297" />
+<path d="M39717 38297 L41287 38297" />
+<path d="M43123 38297 L46182 38297" />
+<path d="M27047 38377 L32821 38377" />
+<path d="M39717 38377 L41348 38377" />
+<path d="M43123 38377 L46182 38377" />
+<path d="M27047 38457 L32832 38457" />
+<path d="M39717 38457 L41428 38457" />
+<path d="M43123 38457 L46182 38457" />
+<path d="M27047 38537 L32855 38537" />
+<path d="M39717 38537 L41508 38537" />
+<path d="M43102 38537 L46182 38537" />
+<path d="M27047 38617 L32909 38617" />
+<path d="M39717 38617 L41588 38617" />
+<path d="M43046 38617 L46182 38617" />
+<path d="M27047 38697 L32985 38697" />
+<path d="M39717 38697 L41668 38697" />
+<path d="M42987 38697 L46182 38697" />
+<path d="M27047 38777 L33065 38777" />
+<path d="M39717 38777 L41748 38777" />
+<path d="M43047 38777 L46182 38777" />
+<path d="M27047 38857 L33145 38857" />
+<path d="M39717 38857 L41828 38857" />
+<path d="M43080 38857 L46182 38857" />
+<path d="M27047 38937 L33225 38937" />
+<path d="M39717 38937 L41908 38937" />
+<path d="M43112 38937 L46182 38937" />
+<path d="M27047 39017 L33305 39017" />
+<path d="M34540 39017 L34688 39017" />
+<path d="M35540 39017 L35688 39017" />
+<path d="M36539 39017 L36687 39017" />
+<path d="M37540 39017 L37688 39017" />
+<path d="M39704 39017 L41917 39017" />
+<path d="M43123 39017 L46182 39017" />
+<path d="M27047 39097 L33385 39097" />
+<path d="M34460 39097 L34768 39097" />
+<path d="M35460 39097 L35768 39097" />
+<path d="M36459 39097 L36767 39097" />
+<path d="M37460 39097 L37768 39097" />
+<path d="M38459 39097 L38568 39097" />
+<path d="M39660 39097 L41917 39097" />
+<path d="M43123 39097 L46182 39097" />
+<path d="M27047 39177 L33465 39177" />
+<path d="M34537 39177 L34958 39177" />
+<path d="M35268 39177 L35958 39177" />
+<path d="M36268 39177 L36958 39177" />
+<path d="M37268 39177 L37958 39177" />
+<path d="M38268 39177 L38688 39177" />
+<path d="M39538 39177 L41917 39177" />
+<path d="M43123 39177 L46182 39177" />
+<path d="M27047 39257 L33545 39257" />
+<path d="M34699 39257 L41939 39257" />
+<path d="M43100 39257 L46182 39257" />
+<path d="M27047 39337 L33625 39337" />
+<path d="M34779 39337 L41972 39337" />
+<path d="M43067 39337 L46182 39337" />
+<path d="M27047 39417 L33705 39417" />
+<path d="M34832 39417 L42005 39417" />
+<path d="M43034 39417 L46182 39417" />
+<path d="M27047 39497 L33785 39497" />
+<path d="M34865 39497 L42081 39497" />
+<path d="M42959 39497 L46182 39497" />
+<path d="M27047 39577 L33865 39577" />
+<path d="M34887 39577 L42161 39577" />
+<path d="M42879 39577 L46182 39577" />
+<path d="M27047 39657 L33915 39657" />
+<path d="M34887 39657 L42329 39657" />
+<path d="M42709 39657 L46182 39657" />
+<path d="M27047 39737 L33915 39737" />
+<path d="M34887 39737 L46182 39737" />
+<path d="M27047 39817 L33945 39817" />
+<path d="M34856 39817 L46182 39817" />
+<path d="M27047 39897 L33978 39897" />
+<path d="M34823 39897 L46182 39897" />
+<path d="M27047 39977 L34043 39977" />
+<path d="M34758 39977 L46182 39977" />
+<path d="M27047 40057 L34123 40057" />
+<path d="M34678 40057 L46182 40057" />
+<path d="M27047 40137 L46182 40137" />
+<path d="M27047 40217 L46182 40217" />
+<path d="M27047 40297 L46182 40297" />
+<path d="M27047 40377 L46182 40377" />
+<path d="M27047 40457 L46182 40457" />
+<path d="M27047 40537 L46182 40537" />
+<path d="M27047 40617 L46182 40617" />
+<path d="M27047 40697 L46182 40697" />
+<path d="M27047 40777 L46182 40777" />
+<path d="M27047 40857 L46182 40857" />
+<path d="M27047 40937 L46182 40937" />
+<path d="M27047 41017 L46182 41017" />
+<path d="M27047 41097 L46182 41097" />
+<path d="M27047 41177 L46182 41177" />
+<path d="M27047 41257 L46182 41257" />
+<path d="M27047 41337 L46182 41337" />
+<path d="M27047 41417 L27494 41417" />
+<path d="M27625 41417 L45407 41417" />
+<path d="M45538 41417 L46182 41417" />
+<path d="M27047 41497 L27332 41497" />
+<path d="M27787 41497 L45245 41497" />
+<path d="M45700 41497 L46182 41497" />
+<path d="M27047 41577 L27276 41577" />
+<path d="M27843 41577 L45189 41577" />
+<path d="M45756 41577 L46182 41577" />
+<path d="M27047 41657 L27246 41657" />
+<path d="M27873 41657 L45159 41657" />
+<path d="M45786 41657 L46182 41657" />
+<path d="M27047 41737 L27231 41737" />
+<path d="M27887 41737 L45144 41737" />
+<path d="M45800 41737 L46182 41737" />
+<path d="M27047 41817 L27068 41817" />
+<path d="M28049 41817 L44984 41817" />
+<path d="M45962 41817 L46182 41817" />
+<path d="M28188 41897 L44845 41897" />
+<path d="M46101 41897 L46182 41897" />
+<path d="M28241 41977 L44792 41977" />
+<path d="M46154 41977 L46182 41977" />
+<path d="M28268 42057 L44765 42057" />
+<path d="M46181 42057 L46182 42057" />
+<path d="M28278 42137 L44753 42137" />
+<path d="M28262 42217 L44769 42217" />
+<path d="M46175 42217 L46182 42217" />
+<path d="M28225 42297 L44806 42297" />
+<path d="M46138 42297 L46182 42297" />
+<path d="M28156 42377 L44875 42377" />
+<path d="M46069 42377 L46182 42377" />
+<path d="M27047 42457 L27202 42457" />
+<path d="M27915 42457 L45115 42457" />
+<path d="M45828 42457 L46182 42457" />
+<path d="M27047 42537 L27234 42537" />
+<path d="M27883 42537 L45147 42537" />
+<path d="M45796 42537 L46182 42537" />
+<path d="M27047 42617 L27250 42617" />
+<path d="M27867 42617 L45163 42617" />
+<path d="M45780 42617 L46182 42617" />
+<path d="M27047 42697 L27290 42697" />
+<path d="M27827 42697 L45203 42697" />
+<path d="M45740 42697 L46182 42697" />
+<path d="M27047 42777 L27364 42777" />
+<path d="M27753 42777 L45277 42777" />
+<path d="M45666 42777 L46182 42777" />
+<path d="M27047 42857 L46182 42857" />
+<path d="M27047 42937 L46182 42937" />
+<path d="M27047 43017 L46182 43017" />
+<path d="M42764 35144 L42764 35144" />
+<path d="M42764 35224 L42844 35224" />
+<path d="M42762 35304 L42924 35304" />
+<path d="M42729 35384 L42961 35384" />
+<path d="M42696 35464 L42961 35464" />
+<path d="M42624 35544 L42961 35544" />
+<path d="M42531 35624 L42961 35624" />
+<path d="M42170 35704 L42961 35704" />
+<path d="M42090 35784 L42961 35784" />
+<path d="M42010 35864 L42961 35864" />
+<path d="M41930 35944 L42961 35944" />
+<path d="M41888 36024 L42961 36024" />
+<path d="M41888 36104 L42961 36104" />
+<path d="M41888 36184 L42961 36184" />
+<path d="M41888 36264 L42961 36264" />
+<path d="M41888 36344 L42961 36344" />
+<path d="M41888 36424 L42961 36424" />
+<path d="M41888 36504 L42961 36504" />
+<path d="M41888 36584 L42961 36584" />
+<path d="M41888 36664 L42959 36664" />
+<path d="M41888 36744 L42879 36744" />
+<path d="M41888 36824 L42799 36824" />
+<path d="M41888 36904 L42719 36904" />
+<path d="M41888 36984 L42639 36984" />
+<path d="M41888 37064 L42559 37064" />
+<path d="M41888 37144 L42479 37144" />
+<path d="M41888 37224 L42399 37224" />
+<path d="M41888 37304 L42319 37304" />
+<path d="M41888 37384 L42256 37384" />
+<path d="M41888 37464 L42212 37464" />
+<path d="M41888 37544 L41999 37544" />
+<path d="M41888 37624 L41940 37624" />
+<path d="M41888 37704 L41917 37704" />
+<path d="M41888 37784 L41917 37784" />
+<path d="M41888 37864 L41917 37864" />
+<path d="M41888 37944 L41917 37944" />
+<path d="M33377 32149 L33377 32149" />
+<path d="M33315 32229 L33425 32229" />
+<path d="M33385 32309 L33553 32309" />
+<path d="M33418 32389 L33636 32389" />
+<path d="M33451 32469 L33636 32469" />
+<path d="M33451 32549 L33636 32549" />
+<path d="M33451 32629 L33636 32629" />
+<path d="M33432 32709 L33636 32709" />
+<path d="M33399 32789 L33636 32789" />
+<path d="M33350 32869 L33636 32869" />
+<path d="M33270 32949 L33636 32949" />
+<path d="M33116 33029 L33636 33029" />
+<path d="M33165 33109 L33648 33109" />
+<path d="M33245 33189 L33672 33189" />
+<path d="M33325 33269 L33725 33269" />
+<path d="M33405 33349 L33802 33349" />
+<path d="M33485 33429 L33882 33429" />
+<path d="M33565 33509 L33962 33509" />
+<path d="M33645 33589 L34042 33589" />
+<path d="M33725 33669 L34122 33669" />
+<path d="M33805 33749 L34202 33749" />
+<path d="M33885 33829 L34282 33829" />
+<path d="M33965 33909 L34362 33909" />
+<path d="M34045 33989 L34442 33989" />
+<path d="M34125 34069 L34522 34069" />
+<path d="M34205 34149 L34602 34149" />
+<path d="M34285 34229 L34682 34229" />
+<path d="M34365 34309 L34762 34309" />
+<path d="M34445 34389 L34842 34389" />
+<path d="M34525 34469 L34922 34469" />
+<path d="M34605 34549 L35002 34549" />
+<path d="M34685 34629 L35082 34629" />
+<path d="M34765 34709 L35162 34709" />
+<path d="M34845 34789 L35242 34789" />
+<path d="M34925 34869 L35322 34869" />
+<path d="M35005 34949 L35402 34949" />
+<path d="M35085 35029 L35482 35029" />
+<path d="M35165 35109 L35562 35109" />
+<path d="M35245 35189 L35642 35189" />
+<path d="M35325 35269 L35722 35269" />
+<path d="M35405 35349 L35802 35349" />
+<path d="M35485 35429 L35882 35429" />
+<path d="M35565 35509 L35962 35509" />
+<path d="M35645 35589 L36042 35589" />
+<path d="M35725 35669 L36122 35669" />
+<path d="M35805 35749 L36202 35749" />
+<path d="M35885 35829 L36282 35829" />
+<path d="M35965 35909 L36362 35909" />
+<path d="M36045 35989 L36442 35989" />
+<path d="M36125 36069 L36522 36069" />
+<path d="M36205 36149 L36602 36149" />
+<path d="M36285 36229 L36682 36229" />
+<path d="M36365 36309 L36762 36309" />
+<path d="M36445 36389 L36842 36389" />
+<path d="M36525 36469 L36922 36469" />
+<path d="M36605 36549 L37002 36549" />
+<path d="M36685 36629 L37082 36629" />
+<path d="M36765 36709 L37162 36709" />
+<path d="M36845 36789 L37242 36789" />
+<path d="M36925 36869 L37322 36869" />
+<path d="M37005 36949 L37402 36949" />
+<path d="M37085 37029 L37482 37029" />
+<path d="M37165 37109 L37562 37109" />
+<path d="M37245 37189 L37642 37189" />
+<path d="M37325 37269 L37722 37269" />
+<path d="M38927 31415 L38927 31415" />
+<path d="M38717 31495 L38927 31495" />
+<path d="M38637 31575 L38927 31575" />
+<path d="M38557 31655 L38927 31655" />
+<path d="M38477 31735 L38926 31735" />
+<path d="M38397 31815 L38942 31815" />
+<path d="M38317 31895 L38975 31895" />
+<path d="M38237 31975 L39032 31975" />
+<path d="M38157 32055 L39112 32055" />
+<path d="M38077 32135 L39192 32135" />
+<path d="M37997 32215 L39272 32215" />
+<path d="M37917 32295 L39352 32295" />
+<path d="M37837 32375 L39432 32375" />
+<path d="M37757 32455 L39512 32455" />
+<path d="M37677 32535 L39592 32535" />
+<path d="M37597 32615 L39672 32615" />
+<path d="M37517 32695 L39752 32695" />
+<path d="M37437 32775 L39832 32775" />
+<path d="M37357 32855 L39912 32855" />
+<path d="M37277 32935 L39992 32935" />
+<path d="M37197 33015 L40072 33015" />
+<path d="M37117 33095 L40152 33095" />
+<path d="M37023 33175 L40232 33175" />
+<path d="M36152 33255 L40312 33255" />
+<path d="M36057 33335 L40392 33335" />
+<path d="M35631 33415 L40472 33415" />
+<path d="M35561 33495 L40552 33495" />
+<path d="M35472 33575 L40632 33575" />
+<path d="M35379 33655 L40712 33655" />
+<path d="M35459 33735 L40792 33735" />
+<path d="M35539 33815 L40872 33815" />
+<path d="M35619 33895 L40952 33895" />
+<path d="M35699 33975 L41032 33975" />
+<path d="M35779 34055 L41112 34055" />
+<path d="M35859 34135 L41192 34135" />
+<path d="M35939 34215 L41272 34215" />
+<path d="M36019 34295 L41352 34295" />
+<path d="M36099 34375 L41432 34375" />
+<path d="M36179 34455 L41512 34455" />
+<path d="M36259 34535 L41445 34535" />
+<path d="M36339 34615 L41380 34615" />
+<path d="M36419 34695 L41347 34695" />
+<path d="M36499 34775 L41315 34775" />
+<path d="M36579 34855 L41315 34855" />
+<path d="M36659 34935 L41267 34935" />
+<path d="M36739 35015 L41187 35015" />
+<path d="M36819 35095 L41107 35095" />
+<path d="M36899 35175 L41027 35175" />
+<path d="M36979 35255 L40947 35255" />
+<path d="M37059 35335 L40867 35335" />
+<path d="M37139 35415 L40787 35415" />
+<path d="M37219 35495 L40707 35495" />
+<path d="M37299 35575 L40627 35575" />
+<path d="M37379 35655 L40547 35655" />
+<path d="M37459 35735 L40467 35735" />
+<path d="M37539 35815 L40387 35815" />
+<path d="M37619 35895 L40307 35895" />
+<path d="M37699 35975 L40227 35975" />
+<path d="M37779 36055 L40147 36055" />
+<path d="M37859 36135 L40067 36135" />
+<path d="M37939 36215 L39987 36215" />
+<path d="M38019 36295 L39907 36295" />
+<path d="M38099 36375 L39472 36375" />
+<path d="M38179 36455 L39348 36455" />
+<path d="M34481 30038 L36951 30038" />
+<path d="M34408 30118 L36778 30118" />
+<path d="M34327 30198 L36610 30198" />
+<path d="M34387 30278 L36530 30278" />
+<path d="M34467 30358 L36474 30358" />
+<path d="M34506 30438 L36441 30438" />
+<path d="M34539 30518 L36417 30518" />
+<path d="M34568 30598 L36417 30598" />
+<path d="M34568 30678 L36351 30678" />
+<path d="M34568 30758 L36271 30758" />
+<path d="M34564 30838 L36191 30838" />
+<path d="M34640 30918 L36111 30918" />
+<path d="M34718 30998 L36031 30998" />
+<path d="M34771 31078 L35951 31078" />
+<path d="M34796 31158 L35871 31158" />
+<path d="M34809 31238 L35791 31238" />
+<path d="M34809 31318 L35711 31318" />
+<path d="M34809 31398 L35631 31398" />
+<path d="M34809 31478 L35551 31478" />
+<path d="M34809 31558 L35471 31558" />
+<path d="M34809 31638 L35391 31638" />
+<path d="M34809 31718 L35311 31718" />
+<path d="M34809 31798 L35231 31798" />
+<path d="M34809 31878 L35151 31878" />
+<path d="M34809 31958 L35071 31958" />
+<path d="M34809 32038 L34991 32038" />
+<path d="M34809 32118 L34934 32118" />
+<path d="M34809 32198 L34900 32198" />
+<path d="M34809 32278 L34884 32278" />
+<path d="M34809 32358 L34883 32358" />
+<path d="M34809 32438 L34883 32438" />
+<path d="M34809 32518 L34883 32518" />
+<path d="M34809 32598 L34883 32598" />
+<path d="M34809 32678 L34883 32678" />
+<path d="M34809 32758 L34883 32758" />
+<path d="M34809 32838 L34843 32838" />
+<path d="M35031 28217 L35031 28217" />
+<path d="M34951 28297 L36110 28297" />
+<path d="M34871 28377 L36202 28377" />
+<path d="M34791 28457 L36382 28457" />
+<path d="M34711 28537 L37422 28537" />
+<path d="M34631 28617 L37502 28617" />
+<path d="M34551 28697 L37582 28697" />
+<path d="M34471 28777 L37662 28777" />
+<path d="M34391 28857 L37742 28857" />
+<path d="M34311 28937 L37822 28937" />
+<path d="M34231 29017 L37902 29017" />
+<path d="M34151 29097 L37982 29097" />
+<path d="M34257 29177 L38062 29177" />
+<path d="M34366 29257 L38142 29257" />
+<path d="M34446 29337 L38222 29337" />
+<path d="M37326 29417 L38302 29417" />
+<path d="M37578 29497 L38382 29497" />
+<path d="M37737 29577 L38462 29577" />
+<path d="M37817 29657 L38542 29657" />
+<path d="M37869 29737 L38622 29737" />
+<path d="M37902 29817 L38702 29817" />
+<path d="M37923 29897 L38782 29897" />
+<path d="M37923 29977 L38862 29977" />
+<path d="M37923 30057 L38927 30057" />
+<path d="M37891 30137 L38927 30137" />
+<path d="M37858 30217 L38927 30217" />
+<path d="M37792 30297 L38927 30297" />
+<path d="M37712 30377 L38927 30377" />
+<path d="M37373 30457 L38703 30457" />
+<path d="M38915 30457 L38927 30457" />
+<path d="M37389 30537 L38523 30537" />
+<path d="M37389 30617 L38443 30617" />
+<path d="M37385 30697 L38382 30697" />
+<path d="M37352 30777 L38349 30777" />
+<path d="M37319 30857 L38322 30857" />
+<path d="M37245 30937 L38322 30937" />
+<path d="M37146 31017 L38264 31017" />
+<path d="M36863 31097 L38184 31097" />
+<path d="M36783 31177 L38104 31177" />
+<path d="M36703 31257 L38024 31257" />
+<path d="M36623 31337 L37944 31337" />
+<path d="M36543 31417 L37864 31417" />
+<path d="M36463 31497 L37784 31497" />
+<path d="M36383 31577 L37704 31577" />
+<path d="M36303 31657 L37624 31657" />
+<path d="M36223 31737 L37544 31737" />
+<path d="M36143 31817 L37464 31817" />
+<path d="M36063 31897 L37384 31897" />
+<path d="M35983 31977 L37304 31977" />
+<path d="M35903 32057 L37224 32057" />
+<path d="M35823 32137 L37144 32137" />
+<path d="M35743 32217 L37064 32217" />
+<path d="M35663 32297 L36984 32297" />
+<path d="M35583 32377 L36904 32377" />
+<path d="M35541 32457 L35639 32457" />
+<path d="M35977 32457 L36824 32457" />
+<path d="M36119 32537 L36744 32537" />
+<path d="M33464 31061 L33464 31061" />
+<path d="M33384 31141 L33478 31141" />
+<path d="M33330 31221 L33398 31221" />
+<path d="M33465 30062 L33465 30062" />
+<path d="M33385 30142 L33545 30142" />
+<path d="M33331 30222 L33597 30222" />
+<path d="M33411 30302 L33517 30302" />
+<path d="M38780 27281 L38780 27281" />
+<path d="M38700 27361 L38859 27361" />
+<path d="M38621 27441 L38940 27441" />
+<path d="M38533 27521 L39132 27521" />
+<path d="M38453 27601 L39378 27601" />
+<path d="M38373 27681 L39378 27681" />
+<path d="M38293 27761 L39378 27761" />
+<path d="M38213 27841 L39378 27841" />
+<path d="M38133 27921 L39378 27921" />
+<path d="M38053 28001 L39378 28001" />
+<path d="M37973 28081 L39378 28081" />
+<path d="M37978 28161 L39378 28161" />
+<path d="M38058 28241 L39378 28241" />
+<path d="M38138 28321 L39378 28321" />
+<path d="M38218 28401 L39378 28401" />
+<path d="M38298 28481 L39378 28481" />
+<path d="M38378 28561 L39378 28561" />
+<path d="M38458 28641 L39378 28641" />
+<path d="M38538 28721 L39378 28721" />
+<path d="M38618 28801 L39378 28801" />
+<path d="M38698 28881 L39378 28881" />
+<path d="M38778 28961 L39378 28961" />
+<path d="M38858 29041 L39378 29041" />
+<path d="M38938 29121 L39378 29121" />
+<path d="M39018 29201 L39378 29201" />
+<path d="M39098 29281 L39378 29281" />
+<path d="M39178 29361 L39378 29361" />
+<path d="M39258 29441 L39378 29441" />
+<path d="M39338 29521 L39378 29521" />
+<path d="M28360 26285 L28688 26285" />
+<path d="M28360 26365 L28587 26365" />
+<path d="M31649 26365 L33662 26365" />
+<path d="M28360 26445 L28544 26445" />
+<path d="M31693 26445 L33742 26445" />
+<path d="M28360 26525 L28531 26525" />
+<path d="M31705 26525 L33822 26525" />
+<path d="M28360 26605 L28531 26605" />
+<path d="M31705 26605 L33902 26605" />
+<path d="M28360 26685 L28531 26685" />
+<path d="M31705 26685 L33936 26685" />
+<path d="M28360 26765 L28531 26765" />
+<path d="M31705 26765 L33936 26765" />
+<path d="M28360 26845 L28531 26845" />
+<path d="M31705 26845 L33961 26845" />
+<path d="M28360 26925 L28531 26925" />
+<path d="M31705 26925 L33993 26925" />
+<path d="M28360 27005 L28531 27005" />
+<path d="M31705 27005 L34026 27005" />
+<path d="M28360 27085 L28531 27085" />
+<path d="M31705 27085 L34106 27085" />
+<path d="M34972 27085 L35080 27085" />
+<path d="M28360 27165 L28531 27165" />
+<path d="M31705 27165 L34186 27165" />
+<path d="M34892 27165 L34979 27165" />
+<path d="M28360 27245 L28531 27245" />
+<path d="M31705 27245 L34362 27245" />
+<path d="M34714 27245 L34943 27245" />
+<path d="M28360 27325 L28549 27325" />
+<path d="M29718 27325 L30517 27325" />
+<path d="M31687 27325 L34799 27325" />
+<path d="M28360 27405 L28601 27405" />
+<path d="M29667 27405 L30569 27405" />
+<path d="M31635 27405 L34693 27405" />
+<path d="M28360 27485 L34613 27485" />
+<path d="M28360 27565 L34533 27565" />
+<path d="M28418 27645 L34453 27645" />
+<path d="M28498 27725 L34373 27725" />
+<path d="M28578 27805 L34293 27805" />
+<path d="M28658 27885 L34213 27885" />
+<path d="M28738 27965 L34133 27965" />
+<path d="M28818 28045 L34053 28045" />
+<path d="M28898 28125 L33973 28125" />
+<path d="M28978 28205 L33893 28205" />
+<path d="M29058 28285 L33813 28285" />
+<path d="M29138 28365 L33733 28365" />
+<path d="M29218 28445 L33653 28445" />
+<path d="M29298 28525 L33573 28525" />
+<path d="M29552 28605 L33493 28605" />
+<path d="M29654 28685 L33413 28685" />
+<path d="M29734 28765 L33333 28765" />
+<path d="M29814 28845 L33253 28845" />
+<path d="M29894 28925 L33173 28925" />
+<path d="M29974 29005 L33093 29005" />
+<path d="M30054 29085 L33013 29085" />
+<path d="M30134 29165 L32703 29165" />
+<path d="M30214 29245 L32576 29245" />
+<path d="M36055 26994 L36444 26994" />
+<path d="M35982 27074 L36524 27074" />
+<path d="M36088 27154 L36604 27154" />
+<path d="M36131 27234 L36684 27234" />
+<path d="M36248 27314 L36732 27314" />
+<path d="M36359 27394 L36732 27394" />
+<path d="M36439 27474 L36763 27474" />
+<path d="M36519 27554 L36796 27554" />
+<path d="M36599 27634 L36862 27634" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="39280" cy="26929" rx="354" ry="354" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="39280" cy="26929" rx="160" ry="160" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="38280" cy="26929" rx="354" ry="354" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="38280" cy="26929" rx="160" ry="160" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38678 27829 L38682 27829" />
+<path d="M38680 27827 L38680 27831" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38614 27953 L38595 27972" />
+<path d="M38595 27972 L38538 27991" />
+<path d="M38538 27991 L38500 27991" />
+<path d="M38500 27991 L38442 27972" />
+<path d="M38442 27972 L38404 27934" />
+<path d="M38404 27934 L38385 27896" />
+<path d="M38385 27896 L38366 27819" />
+<path d="M38366 27819 L38366 27762" />
+<path d="M38366 27762 L38385 27686" />
+<path d="M38385 27686 L38404 27648" />
+<path d="M38404 27648 L38442 27610" />
+<path d="M38442 27610 L38500 27591" />
+<path d="M38500 27591 L38538 27591" />
+<path d="M38538 27591 L38595 27610" />
+<path d="M38595 27610 L38614 27629" />
+<g style = "stroke-linecap:round;" >
+<path d="M38614 27629 L38614 27629" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38995 27991 L38766 27991" />
+<g style = "stroke-linecap:round;" >
+<path d="M38766 27991 L38766 27991" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38880 27991 L38880 27591" />
+<path d="M38880 27591 L38842 27648" />
+<path d="M38842 27648 L38804 27686" />
+<path d="M38804 27686 L38766 27705" />
+<g style = "stroke-linecap:round;" >
+<path d="M38766 27705 L38766 27705" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37780 27429 L39760 27429" />
+<path d="M37780 27429 L37780 26429" />
+<path d="M37780 26429 L39780 26429" />
+<path d="M39780 26429 L39780 27429" />
+<path d="M39530 27429 L39780 27179" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="29935,30908
+30695,30908
+30695,33008
+29935,33008
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="29935,34708
+30695,34708
+30695,36808
+29935,36808
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31663 32858 L31667 32858" />
+<path d="M31665 32856 L31665 32860" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31367 33263 L31867 32929" />
+<g style = "stroke-linecap:round;" >
+<path d="M31867 32929 L31867 32929" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31367 32929 L31867 33263" />
+<g style = "stroke-linecap:round;" >
+<path d="M31867 33263 L31867 33263" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31867 32477 L31867 32763" />
+<g style = "stroke-linecap:round;" >
+<path d="M31867 32763 L31867 32763" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31867 32620 L31367 32620" />
+<path d="M31367 32620 L31439 32668" />
+<path d="M31439 32668 L31486 32715" />
+<path d="M31486 32715 L31510 32763" />
+<g style = "stroke-linecap:round;" >
+<path d="M31510 32763 L31510 32763" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28913 33108 L28917 33108" />
+<path d="M28915 33106 L28915 33110" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29070 34263 L29094 34287" />
+<path d="M29094 34287 L29117 34358" />
+<path d="M29117 34358 L29117 34406" />
+<path d="M29117 34406 L29094 34478" />
+<path d="M29094 34478 L29046 34525" />
+<path d="M29046 34525 L28998 34549" />
+<path d="M28998 34549 L28903 34573" />
+<path d="M28903 34573 L28832 34573" />
+<path d="M28832 34573 L28736 34549" />
+<path d="M28736 34549 L28689 34525" />
+<path d="M28689 34525 L28641 34478" />
+<path d="M28641 34478 L28617 34406" />
+<path d="M28617 34406 L28617 34358" />
+<path d="M28617 34358 L28641 34287" />
+<path d="M28641 34287 L28665 34263" />
+<g style = "stroke-linecap:round;" >
+<path d="M28665 34263 L28665 34263" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29117 33763 L28879 33930" />
+<g style = "stroke-linecap:round;" >
+<path d="M28879 33930 L28879 33930" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29117 34049 L28617 34049" />
+<path d="M28617 34049 L28617 33858" />
+<path d="M28617 33858 L28641 33811" />
+<path d="M28641 33811 L28665 33787" />
+<path d="M28665 33787 L28713 33763" />
+<path d="M28713 33763 L28784 33763" />
+<path d="M28784 33763 L28832 33787" />
+<path d="M28832 33787 L28855 33811" />
+<path d="M28855 33811 L28879 33858" />
+<path d="M28879 33858 L28879 34049" />
+<g style = "stroke-linecap:round;" >
+<path d="M28879 34049 L28879 34049" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28879 33454 L29117 33454" />
+<g style = "stroke-linecap:round;" >
+<path d="M29117 33454 L29117 33454" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28617 33620 L28879 33454" />
+<path d="M28879 33454 L28617 33287" />
+<g style = "stroke-linecap:round;" >
+<path d="M28617 33287 L28617 33287" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29094 33144 L29117 33072" />
+<path d="M29117 33072 L29117 32953" />
+<path d="M29117 32953 L29094 32906" />
+<path d="M29094 32906 L29070 32882" />
+<path d="M29070 32882 L29022 32858" />
+<path d="M29022 32858 L28975 32858" />
+<path d="M28975 32858 L28927 32882" />
+<path d="M28927 32882 L28903 32906" />
+<path d="M28903 32906 L28879 32953" />
+<path d="M28879 32953 L28855 33049" />
+<path d="M28855 33049 L28832 33096" />
+<path d="M28832 33096 L28808 33120" />
+<path d="M28808 33120 L28760 33144" />
+<path d="M28760 33144 L28713 33144" />
+<path d="M28713 33144 L28665 33120" />
+<path d="M28665 33120 L28641 33096" />
+<path d="M28641 33096 L28617 33049" />
+<path d="M28617 33049 L28617 32929" />
+<path d="M28617 32929 L28641 32858" />
+<g style = "stroke-linecap:round;" >
+<path d="M28641 32858 L28641 32858" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28617 32715 L28617 32430" />
+<g style = "stroke-linecap:round;" >
+<path d="M28617 32430 L28617 32430" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29117 32573 L28617 32573" />
+<g style = "stroke-linecap:round;" >
+<path d="M28617 32573 L28617 32573" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28975 32287 L28975 32049" />
+<g style = "stroke-linecap:round;" >
+<path d="M28975 32049 L28975 32049" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29117 32334 L28617 32168" />
+<path d="M28617 32168 L29117 32001" />
+<g style = "stroke-linecap:round;" >
+<path d="M29117 32001 L29117 32001" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:35"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29117 31596 L29117 31834" />
+<path d="M29117 31834 L28617 31834" />
+<g style = "stroke-linecap:round;" >
+<path d="M28617 31834 L28617 31834" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:26"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29115 31258 L29115 36458" />
+<path d="M29115 36458 L31515 36458" />
+<path d="M31515 31258 L31515 36458" />
+<path d="M29115 31258 L31515 31258" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30765 31608 L31165 31608" />
+<path d="M30765 36108 L31165 36108" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29815 35208 L29815 32508" />
+<path d="M29515 35208 L29515 32508" />
+<path d="M30815 32508 L30815 35208" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29365 36008 L29365 31708" />
+<path d="M30165 36108 L30165 36408" />
+<path d="M30465 36108 L30465 36408" />
+<path d="M30165 36408 L30465 36408" />
+<path d="M29865 36108 L30765 36108" />
+<path d="M29465 36108 L29865 36108" />
+<path d="M30165 31308 L30465 31308" />
+<path d="M29865 31608 L30165 31608" />
+<path d="M30165 31608 L30465 31608" />
+<path d="M30465 31608 L30765 31608" />
+<path d="M29465 31608 L29865 31608" />
+<path d="M30165 31608 L30165 31308" />
+<path d="M30465 31608 L30465 31308" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31115 32508 L31115 35208" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31265 36008 L31265 31708" />
+<path d="M30065 33758 L30565 33758" />
+<path d="M30065 33758 L30065 33958" />
+<path d="M30065 33958 L30565 33958" />
+<path d="M30565 33958 L30565 33758" />
+<path d="M30315 33608 L30565 33608" />
+<path d="M30065 33608 L30315 33608" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30315 33608 L30315 33458" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30315 34108 L30565 34108" />
+<path d="M30065 34108 L30315 34108" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30315 34108 L30315 34258" />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31115 32508 A8e+02 8e+02 0 0 0 30765 31847 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30766 35869 A8e+02 8e+02 0 0 0 31115 35208 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29365 36008 A1e+02 1e+02 0 0 0 29465 36108 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29816 35207 A5e+02 5e+02 0 0 0 29865 35424 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30765 35426 A5e+02 5e+02 0 0 0 30815 35208 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29516 35210 A8e+02 8e+02 0 0 0 29867 35869 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29867 35427 A5e+02 5e+02 0 0 0 30765 35424 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29866 35869 A8e+02 8e+02 0 0 0 30764 35869 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29864 31847 A8e+02 8e+02 0 0 0 29515 32508 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30763 32289 A5e+02 5e+02 0 0 0 29865 32292 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29865 32290 A5e+02 5e+02 0 0 0 29815 32508 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30814 32509 A5e+02 5e+02 0 0 0 30765 32292 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:20"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30764 31847 A8e+02 8e+02 0 0 0 29866 31847 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29465 31608 A1e+02 1e+02 0 0 0 29365 31708 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31165 36108 A1e+02 1e+02 0 0 0 31265 36008 " />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31265 31708 A1e+02 1e+02 0 0 0 31165 31608 " />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="38712,41823
+38556,41823
+38556,41281
+38712,41281
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="38456,41823
+38300,41823
+38300,41281
+38456,41281
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="37644,42108
+37172,42108
+37172,41282
+37644,41282
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="37944,41824
+37788,41824
+37788,41282
+37944,41282
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="39582,42108
+39110,42108
+39110,41282
+39582,41282
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="39989,42973
+39057,42973
+39057,42225
+39989,42225
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="37697,42973
+36765,42973
+36765,42225
+37697,42225
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="38277,42973
+37815,42973
+37815,42225
+38277,42225
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="38939,42973
+38477,42973
+38477,42225
+38939,42225
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="38200,41823
+38044,41823
+38044,41281
+38200,41281
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="38968,41823
+38812,41823
+38812,41281
+38968,41281
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33986 43504 L33990 43504" />
+<path d="M33988 43502 L33988 43506" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:39"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33824 43595 L34021 43595" />
+<path d="M34021 43595 L34060 43609" />
+<path d="M34060 43609 L34087 43635" />
+<path d="M34087 43635 L34100 43674" />
+<path d="M34100 43674 L34100 43701" />
+<g style = "stroke-linecap:round;" >
+<path d="M34100 43701 L34100 43701" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:39"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34100 43320 L34100 43477" />
+<g style = "stroke-linecap:round;" >
+<path d="M34100 43477 L34100 43477" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:39"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34100 43399 L33824 43399" />
+<path d="M33824 43399 L33863 43425" />
+<path d="M33863 43425 L33889 43451" />
+<path d="M33889 43451 L33903 43477" />
+<g style = "stroke-linecap:round;" >
+<path d="M33903 43477 L33903 43477" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35159 44964 L35163 44964" />
+<path d="M35161 44962 L35161 44966" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:79"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34973 45361 L35228 45361" />
+<path d="M35228 45361 L35258 45346" />
+<path d="M35258 45346 L35273 45331" />
+<path d="M35273 45331 L35288 45301" />
+<path d="M35288 45301 L35288 45241" />
+<path d="M35288 45241 L35273 45211" />
+<path d="M35273 45211 L35258 45196" />
+<path d="M35258 45196 L35228 45181" />
+<path d="M35228 45181 L34973 45181" />
+<g style = "stroke-linecap:round;" >
+<path d="M34973 45181 L34973 45181" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:79"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35273 45046 L35288 45001" />
+<path d="M35288 45001 L35288 44926" />
+<path d="M35288 44926 L35273 44896" />
+<path d="M35273 44896 L35258 44881" />
+<path d="M35258 44881 L35228 44866" />
+<path d="M35228 44866 L35198 44866" />
+<path d="M35198 44866 L35168 44881" />
+<path d="M35168 44881 L35153 44896" />
+<path d="M35153 44896 L35138 44926" />
+<path d="M35138 44926 L35123 44986" />
+<path d="M35123 44986 L35108 45016" />
+<path d="M35108 45016 L35093 45031" />
+<path d="M35093 45031 L35063 45046" />
+<path d="M35063 45046 L35033 45046" />
+<path d="M35033 45046 L35003 45031" />
+<path d="M35003 45031 L34988 45016" />
+<path d="M34988 45016 L34973 44986" />
+<path d="M34973 44986 L34973 44911" />
+<path d="M34973 44911 L34988 44866" />
+<g style = "stroke-linecap:round;" >
+<path d="M34988 44866 L34988 44866" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:79"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35123 44626 L35138 44581" />
+<path d="M35138 44581 L35153 44566" />
+<path d="M35153 44566 L35183 44551" />
+<path d="M35183 44551 L35228 44551" />
+<path d="M35228 44551 L35258 44566" />
+<path d="M35258 44566 L35273 44581" />
+<path d="M35273 44581 L35288 44611" />
+<path d="M35288 44611 L35288 44731" />
+<path d="M35288 44731 L34973 44731" />
+<path d="M34973 44731 L34973 44626" />
+<path d="M34973 44626 L34988 44596" />
+<path d="M34988 44596 L35003 44581" />
+<path d="M35003 44581 L35033 44566" />
+<path d="M35033 44566 L35063 44566" />
+<path d="M35063 44566 L35093 44581" />
+<path d="M35093 44581 L35108 44596" />
+<path d="M35108 44596 L35123 44626" />
+<path d="M35123 44626 L35123 44731" />
+<g style = "stroke-linecap:round;" >
+<path d="M35123 44731 L35123 44731" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40051 43185 L40193 43185" />
+<path d="M36496 43185 L36634 43185" />
+<path d="M36642 43448 L40059 43448" />
+<path d="M36642 43185 L40035 43185" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="39468,38229
+39468,38937
+38760,38937
+38760,38229
+" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="39114" cy="38583" rx="200" ry="200" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="38114" cy="38583" rx="359" ry="359" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="38114" cy="38583" rx="200" ry="200" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="37114" cy="38583" rx="359" ry="359" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="37114" cy="38583" rx="200" ry="200" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="36114" cy="38583" rx="359" ry="359" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="36114" cy="38583" rx="200" ry="200" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="35114" cy="38583" rx="359" ry="359" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="35114" cy="38583" rx="200" ry="200" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="34114" cy="38583" rx="359" ry="359" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="34114" cy="38583" rx="200" ry="200" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36612 39433 L36616 39433" />
+<path d="M36614 39431 L36614 39435" />
+</g>
+<g style="fill:#0000C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36909 39595 L36909 39195" />
+<path d="M36909 39195 L36756 39195" />
+<path d="M36756 39195 L36718 39214" />
+<path d="M36718 39214 L36699 39233" />
+<path d="M36699 39233 L36680 39271" />
+<path d="M36680 39271 L36680 39328" />
+<path d="M36680 39328 L36699 39366" />
+<path d="M36699 39366 L36718 39385" />
+<path d="M36718 39385 L36756 39404" />
+<path d="M36756 39404 L36909 39404" />
+<g style = "stroke-linecap:round;" >
+<path d="M36909 39404 L36909 39404" />
+</g></g>
+<g style="fill:#0000C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36528 39233 L36509 39214" />
+<path d="M36509 39214 L36471 39195" />
+<path d="M36471 39195 L36375 39195" />
+<path d="M36375 39195 L36337 39214" />
+<path d="M36337 39214 L36318 39233" />
+<path d="M36318 39233 L36299 39271" />
+<path d="M36299 39271 L36299 39309" />
+<path d="M36299 39309 L36318 39366" />
+<path d="M36318 39366 L36547 39595" />
+<path d="M36547 39595 L36299 39595" />
+<g style = "stroke-linecap:round;" >
+<path d="M36299 39595 L36299 39595" />
+</g></g>
+<g style="fill:#0000C0; fill-opacity:0.0;
+ stroke:#A000A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39614 39083 L39614 38083" />
+<path d="M33614 38083 L39614 38083" />
+<path d="M33614 38083 L33614 39083" />
+<path d="M33614 39083 L39614 39083" />
+<path d="M38614 39083 L38614 38083" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="29488,27232
+28780,27232
+28780,26524
+29488,26524
+" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="29134" cy="26878" rx="200" ry="200" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="29134" cy="25878" rx="354" ry="354" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="29134" cy="25878" rx="200" ry="200" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28382 26378 L28386 26378" />
+<path d="M28384 26376 L28384 26380" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28505 26600 L28205 26600" />
+<path d="M28205 26600 L28205 26485" />
+<path d="M28205 26485 L28220 26457" />
+<path d="M28220 26457 L28234 26442" />
+<path d="M28234 26442 L28263 26428" />
+<path d="M28263 26428 L28305 26428" />
+<path d="M28305 26428 L28334 26442" />
+<path d="M28334 26442 L28348 26457" />
+<path d="M28348 26457 L28363 26485" />
+<path d="M28363 26485 L28363 26600" />
+<g style = "stroke-linecap:round;" >
+<path d="M28363 26600 L28363 26600" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28205 26157 L28205 26300" />
+<path d="M28205 26300 L28348 26314" />
+<path d="M28348 26314 L28334 26300" />
+<path d="M28334 26300 L28320 26271" />
+<path d="M28320 26271 L28320 26200" />
+<path d="M28320 26200 L28334 26171" />
+<path d="M28334 26171 L28348 26157" />
+<path d="M28348 26157 L28377 26142" />
+<path d="M28377 26142 L28448 26142" />
+<path d="M28448 26142 L28477 26157" />
+<path d="M28477 26157 L28491 26171" />
+<path d="M28491 26171 L28505 26200" />
+<path d="M28505 26200 L28505 26271" />
+<path d="M28505 26271 L28491 26300" />
+<path d="M28491 26300 L28477 26314" />
+<g style = "stroke-linecap:round;" >
+<path d="M28477 26314 L28477 26314" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M28634 27378 L29634 27378" />
+<path d="M28634 27378 L28634 25378" />
+<path d="M28634 25378 L29634 25378" />
+<path d="M29634 25378 L29634 27378" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="31456,27232
+30748,27232
+30748,26524
+31456,26524
+" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="31102" cy="26878" rx="200" ry="200" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="31102" cy="25878" rx="354" ry="354" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="31102" cy="25878" rx="200" ry="200" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30350 26378 L30354 26378" />
+<path d="M30352 26376 L30352 26380" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30473 26600 L30173 26600" />
+<path d="M30173 26600 L30173 26485" />
+<path d="M30173 26485 L30188 26457" />
+<path d="M30188 26457 L30202 26442" />
+<path d="M30202 26442 L30231 26428" />
+<path d="M30231 26428 L30273 26428" />
+<path d="M30273 26428 L30302 26442" />
+<path d="M30302 26442 L30316 26457" />
+<path d="M30316 26457 L30331 26485" />
+<path d="M30331 26485 L30331 26600" />
+<g style = "stroke-linecap:round;" >
+<path d="M30331 26600 L30331 26600" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30273 26171 L30473 26171" />
+<g style = "stroke-linecap:round;" >
+<path d="M30473 26171 L30473 26171" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30159 26242 L30373 26314" />
+<path d="M30373 26314 L30373 26128" />
+<g style = "stroke-linecap:round;" >
+<path d="M30373 26128 L30373 26128" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30602 27378 L31602 27378" />
+<path d="M30602 27378 L30602 25378" />
+<path d="M30602 25378 L31602 25378" />
+<path d="M31602 25378 L31602 27378" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="42166,37729
+42874,37729
+42874,38437
+42166,38437
+" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="42520" cy="38083" rx="200" ry="200" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="42520" cy="39083" rx="354" ry="354" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="42520" cy="39083" rx="200" ry="200" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43268 38583 L43272 38583" />
+<path d="M43270 38581 L43270 38585" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43391 38805 L43091 38805" />
+<path d="M43091 38805 L43091 38690" />
+<path d="M43091 38690 L43106 38662" />
+<path d="M43106 38662 L43120 38647" />
+<path d="M43120 38647 L43149 38633" />
+<path d="M43149 38633 L43191 38633" />
+<path d="M43191 38633 L43220 38647" />
+<path d="M43220 38647 L43234 38662" />
+<path d="M43234 38662 L43249 38690" />
+<path d="M43249 38690 L43249 38805" />
+<g style = "stroke-linecap:round;" >
+<path d="M43249 38805 L43249 38805" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43391 38347 L43391 38519" />
+<g style = "stroke-linecap:round;" >
+<path d="M43391 38519 L43391 38519" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43391 38433 L43091 38433" />
+<path d="M43091 38433 L43134 38462" />
+<path d="M43134 38462 L43163 38490" />
+<path d="M43163 38490 L43177 38519" />
+<g style = "stroke-linecap:round;" >
+<path d="M43177 38519 L43177 38519" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M42020 37583 L43020 37583" />
+<path d="M43020 37583 L43020 39583" />
+<path d="M42020 39583 L43020 39583" />
+<path d="M42020 39583 L42020 37583" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="34319,32063
+33611,32063
+33611,31355
+34319,31355
+" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="33965" cy="31709" rx="200" ry="200" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="32965" cy="31709" rx="354" ry="354" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="32965" cy="31709" rx="200" ry="200" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="33965" cy="30709" rx="354" ry="354" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="33965" cy="30709" rx="200" ry="200" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="32965" cy="30709" rx="354" ry="354" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="32965" cy="30709" rx="200" ry="200" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="33965" cy="29709" rx="354" ry="354" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="33965" cy="29709" rx="200" ry="200" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="32965" cy="29709" rx="354" ry="354" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="32965" cy="29709" rx="200" ry="200" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31963 30709 L31967 30709" />
+<path d="M31965 30707 L31965 30711" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M32127 31004 L31727 31004" />
+<path d="M31727 31004 L31727 30851" />
+<path d="M31727 30851 L31746 30813" />
+<path d="M31746 30813 L31765 30794" />
+<path d="M31765 30794 L31803 30775" />
+<path d="M31803 30775 L31860 30775" />
+<path d="M31860 30775 L31898 30794" />
+<path d="M31898 30794 L31917 30813" />
+<path d="M31917 30813 L31936 30851" />
+<path d="M31936 30851 L31936 31004" />
+<g style = "stroke-linecap:round;" >
+<path d="M31936 31004 L31936 31004" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M31727 30642 L31727 30394" />
+<path d="M31727 30394 L31879 30528" />
+<path d="M31879 30528 L31879 30470" />
+<path d="M31879 30470 L31898 30432" />
+<path d="M31898 30432 L31917 30413" />
+<path d="M31917 30413 L31955 30394" />
+<path d="M31955 30394 L32051 30394" />
+<path d="M32051 30394 L32089 30413" />
+<path d="M32089 30413 L32108 30432" />
+<path d="M32108 30432 L32127 30470" />
+<path d="M32127 30470 L32127 30585" />
+<path d="M32127 30585 L32108 30623" />
+<path d="M32108 30623 L32089 30642" />
+<g style = "stroke-linecap:round;" >
+<path d="M32089 30642 L32089 30642" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34465 29209 L34465 32209" />
+<path d="M32465 32209 L32465 29209" />
+<path d="M32465 29209 L34465 29209" />
+<path d="M32465 32209 L34465 32209" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="41332,28971
+42132,28971
+42132,29571
+41332,29571
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="41332,30271
+42132,30271
+42132,30871
+41332,30871
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M41730 29921 L41734 29921" />
+<path d="M41732 29919 L41732 29923" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M41853 29971 L41711 30071" />
+<g style = "stroke-linecap:round;" >
+<path d="M41711 30071 L41711 30071" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M41853 30143 L41553 30143" />
+<path d="M41553 30143 L41553 30028" />
+<path d="M41553 30028 L41568 30000" />
+<path d="M41568 30000 L41582 29985" />
+<path d="M41582 29985 L41611 29971" />
+<path d="M41611 29971 L41653 29971" />
+<path d="M41653 29971 L41682 29985" />
+<path d="M41682 29985 L41696 30000" />
+<path d="M41696 30000 L41711 30028" />
+<path d="M41711 30028 L41711 30143" />
+<g style = "stroke-linecap:round;" >
+<path d="M41711 30143 L41711 30143" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M41553 29700 L41553 29843" />
+<path d="M41553 29843 L41696 29857" />
+<path d="M41696 29857 L41682 29843" />
+<path d="M41682 29843 L41668 29814" />
+<path d="M41668 29814 L41668 29743" />
+<path d="M41668 29743 L41682 29714" />
+<path d="M41682 29714 L41696 29700" />
+<path d="M41696 29700 L41725 29685" />
+<path d="M41725 29685 L41796 29685" />
+<path d="M41796 29685 L41825 29700" />
+<path d="M41825 29700 L41839 29714" />
+<path d="M41839 29714 L41853 29743" />
+<path d="M41853 29743 L41853 29814" />
+<path d="M41853 29814 L41839 29843" />
+<path d="M41839 29843 L41825 29857" />
+<g style = "stroke-linecap:round;" >
+<path d="M41825 29857 L41825 29857" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M41282 28921 L42182 28921" />
+<path d="M41282 28921 L41282 29571" />
+<path d="M42182 30271 L42182 30921" />
+<path d="M41282 30921 L42182 30921" />
+<path d="M41282 30921 L41282 30271" />
+<path d="M42182 29571 L42182 28921" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="44482,28971
+45282,28971
+45282,29571
+44482,29571
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="44482,30271
+45282,30271
+45282,30871
+44482,30871
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44880 29921 L44884 29921" />
+<path d="M44882 29919 L44882 29923" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M45003 29971 L44861 30071" />
+<g style = "stroke-linecap:round;" >
+<path d="M44861 30071 L44861 30071" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M45003 30143 L44703 30143" />
+<path d="M44703 30143 L44703 30028" />
+<path d="M44703 30028 L44718 30000" />
+<path d="M44718 30000 L44732 29985" />
+<path d="M44732 29985 L44761 29971" />
+<path d="M44761 29971 L44803 29971" />
+<path d="M44803 29971 L44832 29985" />
+<path d="M44832 29985 L44846 30000" />
+<path d="M44846 30000 L44861 30028" />
+<path d="M44861 30028 L44861 30143" />
+<g style = "stroke-linecap:round;" >
+<path d="M44861 30143 L44861 30143" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44803 29714 L45003 29714" />
+<g style = "stroke-linecap:round;" >
+<path d="M45003 29714 L45003 29714" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44689 29785 L44903 29857" />
+<path d="M44903 29857 L44903 29671" />
+<g style = "stroke-linecap:round;" >
+<path d="M44903 29671 L44903 29671" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44432 28921 L45332 28921" />
+<path d="M44432 28921 L44432 29571" />
+<path d="M45332 30271 L45332 30921" />
+<path d="M44432 30921 L45332 30921" />
+<path d="M44432 30921 L44432 30271" />
+<path d="M45332 29571 L45332 28921" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="34639,33696
+35439,33696
+35439,34296
+34639,34296
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="34639,34996
+35439,34996
+35439,35596
+34639,35596
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35037 34646 L35041 34646" />
+<path d="M35039 34644 L35039 34648" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35160 34696 L35018 34796" />
+<g style = "stroke-linecap:round;" >
+<path d="M35018 34796 L35018 34796" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M35160 34868 L34860 34868" />
+<path d="M34860 34868 L34860 34753" />
+<path d="M34860 34753 L34875 34725" />
+<path d="M34875 34725 L34889 34710" />
+<path d="M34889 34710 L34918 34696" />
+<path d="M34918 34696 L34960 34696" />
+<path d="M34960 34696 L34989 34710" />
+<path d="M34989 34710 L35003 34725" />
+<path d="M35003 34725 L35018 34753" />
+<path d="M35018 34753 L35018 34868" />
+<g style = "stroke-linecap:round;" >
+<path d="M35018 34868 L35018 34868" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34860 34596 L34860 34410" />
+<path d="M34860 34410 L34975 34510" />
+<path d="M34975 34510 L34975 34468" />
+<path d="M34975 34468 L34989 34439" />
+<path d="M34989 34439 L35003 34425" />
+<path d="M35003 34425 L35032 34410" />
+<path d="M35032 34410 L35103 34410" />
+<path d="M35103 34410 L35132 34425" />
+<path d="M35132 34425 L35146 34439" />
+<path d="M35146 34439 L35160 34468" />
+<path d="M35160 34468 L35160 34553" />
+<path d="M35160 34553 L35146 34582" />
+<path d="M35146 34582 L35132 34596" />
+<g style = "stroke-linecap:round;" >
+<path d="M35132 34596 L35132 34596" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34589 33646 L35489 33646" />
+<path d="M34589 33646 L34589 34296" />
+<path d="M35489 34996 L35489 35646" />
+<path d="M34589 35646 L35489 35646" />
+<path d="M34589 35646 L34589 34996" />
+<path d="M35489 34296 L35489 33646" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="33065,33696
+33865,33696
+33865,34296
+33065,34296
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="33065,34996
+33865,34996
+33865,35596
+33065,35596
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33463 34646 L33467 34646" />
+<path d="M33465 34644 L33465 34648" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33586 34696 L33444 34796" />
+<g style = "stroke-linecap:round;" >
+<path d="M33444 34796 L33444 34796" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33586 34868 L33286 34868" />
+<path d="M33286 34868 L33286 34753" />
+<path d="M33286 34753 L33301 34725" />
+<path d="M33301 34725 L33315 34710" />
+<path d="M33315 34710 L33344 34696" />
+<path d="M33344 34696 L33386 34696" />
+<path d="M33386 34696 L33415 34710" />
+<path d="M33415 34710 L33429 34725" />
+<path d="M33429 34725 L33444 34753" />
+<path d="M33444 34753 L33444 34868" />
+<g style = "stroke-linecap:round;" >
+<path d="M33444 34868 L33444 34868" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33315 34582 L33301 34568" />
+<path d="M33301 34568 L33286 34539" />
+<path d="M33286 34539 L33286 34468" />
+<path d="M33286 34468 L33301 34439" />
+<path d="M33301 34439 L33315 34425" />
+<path d="M33315 34425 L33344 34410" />
+<path d="M33344 34410 L33372 34410" />
+<path d="M33372 34410 L33415 34425" />
+<path d="M33415 34425 L33586 34596" />
+<path d="M33586 34596 L33586 34410" />
+<g style = "stroke-linecap:round;" >
+<path d="M33586 34410 L33586 34410" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33015 33646 L33915 33646" />
+<path d="M33015 33646 L33015 34296" />
+<path d="M33915 34996 L33915 35646" />
+<path d="M33015 35646 L33915 35646" />
+<path d="M33015 35646 L33015 34996" />
+<path d="M33915 34296 L33915 33646" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="42907,28971
+43707,28971
+43707,29571
+42907,29571
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="42907,30271
+43707,30271
+43707,30871
+42907,30871
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43305 29921 L43309 29921" />
+<path d="M43307 29919 L43307 29923" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43428 29971 L43286 30071" />
+<g style = "stroke-linecap:round;" >
+<path d="M43286 30071 L43286 30071" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43428 30143 L43128 30143" />
+<path d="M43128 30143 L43128 30028" />
+<path d="M43128 30028 L43143 30000" />
+<path d="M43143 30000 L43157 29985" />
+<path d="M43157 29985 L43186 29971" />
+<path d="M43186 29971 L43228 29971" />
+<path d="M43228 29971 L43257 29985" />
+<path d="M43257 29985 L43271 30000" />
+<path d="M43271 30000 L43286 30028" />
+<path d="M43286 30028 L43286 30143" />
+<g style = "stroke-linecap:round;" >
+<path d="M43286 30143 L43286 30143" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43428 29685 L43428 29857" />
+<g style = "stroke-linecap:round;" >
+<path d="M43428 29857 L43428 29857" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43428 29771 L43128 29771" />
+<path d="M43128 29771 L43171 29800" />
+<path d="M43171 29800 L43200 29828" />
+<path d="M43200 29828 L43214 29857" />
+<g style = "stroke-linecap:round;" >
+<path d="M43214 29857 L43214 29857" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M42857 28921 L43757 28921" />
+<path d="M42857 28921 L42857 29571" />
+<path d="M43757 30271 L43757 30921" />
+<path d="M42857 30921 L43757 30921" />
+<path d="M42857 30921 L42857 30271" />
+<path d="M43757 29571 L43757 28921" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="29759,39770
+29759,38970
+30359,38970
+30359,39770
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="31059,39770
+31059,38970
+31659,38970
+31659,39770
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30707 39370 L30711 39370" />
+<path d="M30709 39368 L30709 39372" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30659 39463 L30645 39477" />
+<path d="M30645 39477 L30602 39491" />
+<path d="M30602 39491 L30573 39491" />
+<path d="M30573 39491 L30530 39477" />
+<path d="M30530 39477 L30502 39449" />
+<path d="M30502 39449 L30487 39420" />
+<path d="M30487 39420 L30473 39363" />
+<path d="M30473 39363 L30473 39320" />
+<path d="M30473 39320 L30487 39263" />
+<path d="M30487 39263 L30502 39234" />
+<path d="M30502 39234 L30530 39206" />
+<path d="M30530 39206 L30573 39191" />
+<path d="M30573 39191 L30602 39191" />
+<path d="M30602 39191 L30645 39206" />
+<path d="M30645 39206 L30659 39220" />
+<g style = "stroke-linecap:round;" >
+<path d="M30659 39220 L30659 39220" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30930 39191 L30787 39191" />
+<path d="M30787 39191 L30773 39334" />
+<path d="M30773 39334 L30787 39320" />
+<path d="M30787 39320 L30816 39306" />
+<path d="M30816 39306 L30887 39306" />
+<path d="M30887 39306 L30916 39320" />
+<path d="M30916 39320 L30930 39334" />
+<path d="M30930 39334 L30945 39363" />
+<path d="M30945 39363 L30945 39434" />
+<path d="M30945 39434 L30930 39463" />
+<path d="M30930 39463 L30916 39477" />
+<path d="M30916 39477 L30887 39491" />
+<path d="M30887 39491 L30816 39491" />
+<path d="M30816 39491 L30787 39477" />
+<path d="M30787 39477 L30773 39463" />
+<g style = "stroke-linecap:round;" >
+<path d="M30773 39463 L30773 39463" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29709 38920 L29709 39820" />
+<path d="M29709 39820 L30359 39820" />
+<path d="M31059 38920 L31709 38920" />
+<path d="M31709 38920 L31709 39820" />
+<path d="M31059 39820 L31709 39820" />
+<path d="M29709 38920 L30359 38920" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="29759,38195
+29759,37395
+30359,37395
+30359,38195
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="31059,38195
+31059,37395
+31659,37395
+31659,38195
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30707 37795 L30711 37795" />
+<path d="M30709 37793 L30709 37797" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30659 37888 L30645 37902" />
+<path d="M30645 37902 L30602 37916" />
+<path d="M30602 37916 L30573 37916" />
+<path d="M30573 37916 L30530 37902" />
+<path d="M30530 37902 L30502 37874" />
+<path d="M30502 37874 L30487 37845" />
+<path d="M30487 37845 L30473 37788" />
+<path d="M30473 37788 L30473 37745" />
+<path d="M30473 37745 L30487 37688" />
+<path d="M30487 37688 L30502 37659" />
+<path d="M30502 37659 L30530 37631" />
+<path d="M30530 37631 L30573 37616" />
+<path d="M30573 37616 L30602 37616" />
+<path d="M30602 37616 L30645 37631" />
+<path d="M30645 37631 L30659 37645" />
+<g style = "stroke-linecap:round;" >
+<path d="M30659 37645 L30659 37645" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30916 37716 L30916 37916" />
+<g style = "stroke-linecap:round;" >
+<path d="M30916 37916 L30916 37916" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M30845 37602 L30773 37816" />
+<path d="M30773 37816 L30959 37816" />
+<g style = "stroke-linecap:round;" >
+<path d="M30959 37816 L30959 37816" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M29709 37345 L29709 38245" />
+<path d="M29709 38245 L30359 38245" />
+<path d="M31059 37345 L31709 37345" />
+<path d="M31709 37345 L31709 38245" />
+<path d="M31059 38245 L31709 38245" />
+<path d="M29709 37345 L30359 37345" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="44482,32121
+45282,32121
+45282,32721
+44482,32721
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="44482,33421
+45282,33421
+45282,34021
+44482,34021
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44880 33071 L44884 33071" />
+<path d="M44882 33069 L44882 33073" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44975 33121 L44989 33135" />
+<path d="M44989 33135 L45003 33178" />
+<path d="M45003 33178 L45003 33207" />
+<path d="M45003 33207 L44989 33250" />
+<path d="M44989 33250 L44961 33278" />
+<path d="M44961 33278 L44932 33293" />
+<path d="M44932 33293 L44875 33307" />
+<path d="M44875 33307 L44832 33307" />
+<path d="M44832 33307 L44775 33293" />
+<path d="M44775 33293 L44746 33278" />
+<path d="M44746 33278 L44718 33250" />
+<path d="M44718 33250 L44703 33207" />
+<path d="M44703 33207 L44703 33178" />
+<path d="M44703 33178 L44718 33135" />
+<path d="M44718 33135 L44732 33121" />
+<g style = "stroke-linecap:round;" >
+<path d="M44732 33121 L44732 33121" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44703 33021 L44703 32835" />
+<path d="M44703 32835 L44818 32935" />
+<path d="M44818 32935 L44818 32893" />
+<path d="M44818 32893 L44832 32864" />
+<path d="M44832 32864 L44846 32850" />
+<path d="M44846 32850 L44875 32835" />
+<path d="M44875 32835 L44946 32835" />
+<path d="M44946 32835 L44975 32850" />
+<path d="M44975 32850 L44989 32864" />
+<path d="M44989 32864 L45003 32893" />
+<path d="M45003 32893 L45003 32978" />
+<path d="M45003 32978 L44989 33007" />
+<path d="M44989 33007 L44975 33021" />
+<g style = "stroke-linecap:round;" >
+<path d="M44975 33021 L44975 33021" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M44432 32071 L45332 32071" />
+<path d="M44432 32071 L44432 32721" />
+<path d="M45332 33421 L45332 34071" />
+<path d="M44432 34071 L45332 34071" />
+<path d="M44432 34071 L44432 33421" />
+<path d="M45332 32721 L45332 32071" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="42907,32121
+43707,32121
+43707,32721
+42907,32721
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="42907,33421
+43707,33421
+43707,34021
+42907,34021
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43305 33071 L43309 33071" />
+<path d="M43307 33069 L43307 33073" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43400 33121 L43414 33135" />
+<path d="M43414 33135 L43428 33178" />
+<path d="M43428 33178 L43428 33207" />
+<path d="M43428 33207 L43414 33250" />
+<path d="M43414 33250 L43386 33278" />
+<path d="M43386 33278 L43357 33293" />
+<path d="M43357 33293 L43300 33307" />
+<path d="M43300 33307 L43257 33307" />
+<path d="M43257 33307 L43200 33293" />
+<path d="M43200 33293 L43171 33278" />
+<path d="M43171 33278 L43143 33250" />
+<path d="M43143 33250 L43128 33207" />
+<path d="M43128 33207 L43128 33178" />
+<path d="M43128 33178 L43143 33135" />
+<path d="M43143 33135 L43157 33121" />
+<g style = "stroke-linecap:round;" >
+<path d="M43157 33121 L43157 33121" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M43157 33007 L43143 32993" />
+<path d="M43143 32993 L43128 32964" />
+<path d="M43128 32964 L43128 32893" />
+<path d="M43128 32893 L43143 32864" />
+<path d="M43143 32864 L43157 32850" />
+<path d="M43157 32850 L43186 32835" />
+<path d="M43186 32835 L43214 32835" />
+<path d="M43214 32835 L43257 32850" />
+<path d="M43257 32850 L43428 33021" />
+<path d="M43428 33021 L43428 32835" />
+<g style = "stroke-linecap:round;" >
+<path d="M43428 32835 L43428 32835" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:50"
+ transform="translate(0 0) scale(1 1)">
+<path d="M42857 32071 L43757 32071" />
+<path d="M42857 32071 L42857 32721" />
+<path d="M43757 33421 L43757 34071" />
+<path d="M42857 34071 L43757 34071" />
+<path d="M42857 34071 L42857 33421" />
+<path d="M43757 32721 L43757 32071" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="36687,35039
+36687,34863
+37473,34863
+37473,35039
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="36687,34724
+36687,34548
+37473,34548
+37473,34724
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="36687,34409
+36687,34233
+37473,34233
+37473,34409
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="36687,34094
+36687,33918
+37473,33918
+37473,34094
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="36687,33779
+36687,33603
+37473,33603
+37473,33779
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="36687,33464
+36687,33288
+37473,33288
+37473,33464
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="36687,33149
+36687,32973
+37473,32973
+37473,33149
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="36687,32834
+36687,32658
+37473,32658
+37473,32834
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="40453,32836
+40453,32660
+41239,32660
+41239,32836
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="40453,35046
+40453,34870
+41239,34870
+41239,35046
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="40453,34726
+40453,34550
+41239,34550
+41239,34726
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="40453,34406
+40453,34230
+41239,34230
+41239,34406
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="40453,34096
+40453,33920
+41239,33920
+41239,34096
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="40453,33776
+40453,33600
+41239,33600
+41239,33776
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="40453,33466
+40453,33290
+41239,33290
+41239,33466
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="40453,33146
+40453,32970
+41239,32970
+41239,33146
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="37776,32351
+37776,31565
+37952,31565
+37952,32351
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="38090,32351
+38090,31565
+38266,31565
+38266,32351
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="38406,32351
+38406,31565
+38582,31565
+38582,32351
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="38720,32351
+38720,31565
+38896,31565
+38896,32351
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="39036,32351
+39036,31565
+39212,31565
+39212,32351
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="39350,32351
+39350,31565
+39526,31565
+39526,32351
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="39666,32351
+39666,31565
+39842,31565
+39842,32351
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="39980,32351
+39980,31565
+40156,31565
+40156,32351
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="37778,36131
+37778,35345
+37954,35345
+37954,36131
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="38088,36131
+38088,35345
+38264,35345
+38264,36131
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="38408,36131
+38408,35345
+38584,35345
+38584,36131
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="38718,36131
+38718,35345
+38894,35345
+38894,36131
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="39028,36131
+39028,35345
+39204,35345
+39204,36131
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="39348,36131
+39348,35345
+39524,35345
+39524,36131
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="39668,36131
+39668,35345
+39844,35345
+39844,36131
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#A00000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="39988,36131
+39988,35345
+40164,35345
+40164,36131
+" />
+</g>
+<g style="fill:#A00000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38974 33358 L38978 33358" />
+<path d="M38976 33356 L38976 33360" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38671 33060 L38671 33465" />
+<path d="M38671 33465 L38690 33513" />
+<path d="M38690 33513 L38709 33537" />
+<path d="M38709 33537 L38747 33560" />
+<path d="M38747 33560 L38824 33560" />
+<path d="M38824 33560 L38862 33537" />
+<path d="M38862 33537 L38881 33513" />
+<path d="M38881 33513 L38900 33465" />
+<path d="M38900 33465 L38900 33060" />
+<g style = "stroke-linecap:round;" >
+<path d="M38900 33060 L38900 33060" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39300 33560 L39071 33560" />
+<g style = "stroke-linecap:round;" >
+<path d="M39071 33560 L39071 33560" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39185 33560 L39185 33060" />
+<path d="M39185 33060 L39147 33132" />
+<path d="M39147 33132 L39109 33179" />
+<path d="M39109 33179 L39071 33203" />
+<g style = "stroke-linecap:round;" >
+<path d="M39071 33203 L39071 33203" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38974 34608 L38978 34608" />
+<path d="M38976 34606 L38976 34610" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37176 34668 L37367 34668" />
+<g style = "stroke-linecap:round;" >
+<path d="M37367 34668 L37367 34668" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37138 34810 L37271 34310" />
+<path d="M37271 34310 L37405 34810" />
+<g style = "stroke-linecap:round;" >
+<path d="M37405 34810 L37405 34810" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37481 34310 L37710 34310" />
+<g style = "stroke-linecap:round;" >
+<path d="M37710 34310 L37710 34310" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37595 34810 L37595 34310" />
+<g style = "stroke-linecap:round;" >
+<path d="M37595 34310 L37595 34310" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37862 34810 L37938 34810" />
+<path d="M37938 34810 L37977 34787" />
+<path d="M37977 34787 L37996 34763" />
+<path d="M37996 34763 L38034 34691" />
+<path d="M38034 34691 L38053 34596" />
+<path d="M38053 34596 L38053 34406" />
+<path d="M38053 34406 L38034 34358" />
+<path d="M38034 34358 L38015 34334" />
+<path d="M38015 34334 L37977 34310" />
+<path d="M37977 34310 L37900 34310" />
+<path d="M37900 34310 L37862 34334" />
+<path d="M37862 34334 L37843 34358" />
+<path d="M37843 34358 L37824 34406" />
+<path d="M37824 34406 L37824 34525" />
+<path d="M37824 34525 L37843 34572" />
+<path d="M37843 34572 L37862 34596" />
+<path d="M37862 34596 L37900 34620" />
+<path d="M37900 34620 L37977 34620" />
+<path d="M37977 34620 L38015 34596" />
+<path d="M38015 34596 L38034 34572" />
+<path d="M38034 34572 L38053 34525" />
+<g style = "stroke-linecap:round;" >
+<path d="M38053 34525 L38053 34525" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38300 34310 L38339 34310" />
+<path d="M38339 34310 L38377 34334" />
+<path d="M38377 34334 L38396 34358" />
+<path d="M38396 34358 L38415 34406" />
+<path d="M38415 34406 L38434 34501" />
+<path d="M38434 34501 L38434 34620" />
+<path d="M38434 34620 L38415 34715" />
+<path d="M38415 34715 L38396 34763" />
+<path d="M38396 34763 L38377 34787" />
+<path d="M38377 34787 L38339 34810" />
+<path d="M38339 34810 L38300 34810" />
+<path d="M38300 34810 L38262 34787" />
+<path d="M38262 34787 L38243 34763" />
+<path d="M38243 34763 L38224 34715" />
+<path d="M38224 34715 L38205 34620" />
+<path d="M38205 34620 L38205 34501" />
+<path d="M38205 34501 L38224 34406" />
+<path d="M38224 34406 L38243 34358" />
+<path d="M38243 34358 L38262 34334" />
+<path d="M38262 34334 L38300 34310" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M38605 34310 L38605 34715" />
+<path d="M38605 34715 L38624 34763" />
+<path d="M38624 34763 L38643 34787" />
+<path d="M38643 34787 L38681 34810" />
+<path d="M38681 34810 L38758 34810" />
+<path d="M38758 34810 L38796 34787" />
+<path d="M38796 34787 L38815 34763" />
+<path d="M38815 34763 L38834 34715" />
+<path d="M38834 34715 L38834 34310" />
+<g style = "stroke-linecap:round;" >
+<path d="M38834 34310 L38834 34310" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39005 34787 L39062 34810" />
+<path d="M39062 34810 L39158 34810" />
+<path d="M39158 34810 L39196 34787" />
+<path d="M39196 34787 L39215 34763" />
+<path d="M39215 34763 L39234 34715" />
+<path d="M39234 34715 L39234 34668" />
+<path d="M39234 34668 L39215 34620" />
+<path d="M39215 34620 L39196 34596" />
+<path d="M39196 34596 L39158 34572" />
+<path d="M39158 34572 L39081 34548" />
+<path d="M39081 34548 L39043 34525" />
+<path d="M39043 34525 L39024 34501" />
+<path d="M39024 34501 L39005 34453" />
+<path d="M39005 34453 L39005 34406" />
+<path d="M39005 34406 L39024 34358" />
+<path d="M39024 34358 L39043 34334" />
+<path d="M39043 34334 L39081 34310" />
+<path d="M39081 34310 L39177 34310" />
+<path d="M39177 34310 L39234 34334" />
+<g style = "stroke-linecap:round;" >
+<path d="M39234 34334 L39234 34334" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39539 34548 L39596 34572" />
+<path d="M39596 34572 L39615 34596" />
+<path d="M39615 34596 L39634 34644" />
+<path d="M39634 34644 L39634 34715" />
+<path d="M39634 34715 L39615 34763" />
+<path d="M39615 34763 L39596 34787" />
+<path d="M39596 34787 L39558 34810" />
+<path d="M39558 34810 L39405 34810" />
+<path d="M39405 34810 L39405 34310" />
+<path d="M39405 34310 L39539 34310" />
+<path d="M39539 34310 L39577 34334" />
+<path d="M39577 34334 L39596 34358" />
+<path d="M39596 34358 L39615 34406" />
+<path d="M39615 34406 L39615 34453" />
+<path d="M39615 34453 L39596 34501" />
+<path d="M39596 34501 L39577 34525" />
+<path d="M39577 34525 L39539 34548" />
+<path d="M39539 34548 L39405 34548" />
+<g style = "stroke-linecap:round;" >
+<path d="M39405 34548 L39405 34548" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40015 34810 L39786 34810" />
+<g style = "stroke-linecap:round;" >
+<path d="M39786 34810 L39786 34810" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M39900 34810 L39900 34310" />
+<path d="M39900 34310 L39862 34382" />
+<path d="M39862 34382 L39824 34429" />
+<path d="M39824 34429 L39786 34453" />
+<g style = "stroke-linecap:round;" >
+<path d="M39786 34453 L39786 34453" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40358 34310 L40281 34310" />
+<path d="M40281 34310 L40243 34334" />
+<path d="M40243 34334 L40224 34358" />
+<path d="M40224 34358 L40186 34429" />
+<path d="M40186 34429 L40167 34525" />
+<path d="M40167 34525 L40167 34715" />
+<path d="M40167 34715 L40186 34763" />
+<path d="M40186 34763 L40205 34787" />
+<path d="M40205 34787 L40243 34810" />
+<path d="M40243 34810 L40320 34810" />
+<path d="M40320 34810 L40358 34787" />
+<path d="M40358 34787 L40377 34763" />
+<path d="M40377 34763 L40396 34715" />
+<path d="M40396 34715 L40396 34596" />
+<path d="M40396 34596 L40377 34548" />
+<path d="M40377 34548 L40358 34525" />
+<path d="M40358 34525 L40320 34501" />
+<path d="M40320 34501 L40243 34501" />
+<path d="M40243 34501 L40205 34525" />
+<path d="M40205 34525 L40186 34548" />
+<path d="M40186 34548 L40167 34596" />
+<g style = "stroke-linecap:round;" >
+<path d="M40167 34596 L40167 34596" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40548 34358 L40567 34334" />
+<path d="M40567 34334 L40605 34310" />
+<path d="M40605 34310 L40701 34310" />
+<path d="M40701 34310 L40739 34334" />
+<path d="M40739 34334 L40758 34358" />
+<path d="M40758 34358 L40777 34406" />
+<path d="M40777 34406 L40777 34453" />
+<path d="M40777 34453 L40758 34525" />
+<path d="M40758 34525 L40529 34810" />
+<path d="M40529 34810 L40777 34810" />
+<g style = "stroke-linecap:round;" >
+<path d="M40777 34810 L40777 34810" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<path d="M40506 34948 L40956 34948" />
+<path d="M40516 32768 L40956 32768" />
+<path d="M40956 34948 L40956 32768" />
+<path d="M40076 35418 L40076 35848" />
+<path d="M37866 35428 L37866 35848" />
+<path d="M37856 35848 L40076 35858" />
+<path d="M37876 31878 L40046 31868" />
+<path d="M37446 32568 L37446 35398" />
+<path d="M40056 31878 L40056 32288" />
+<path d="M37696 32328 L40476 32328" />
+<path d="M40496 35408 L40496 32368" />
+<path d="M37446 35408 L40446 35408" />
+<path d="M36996 32738 L36996 34958" />
+<path d="M36996 34958 L37446 34958" />
+<path d="M37450 32558 L37680 32328" />
+<path d="M36998 32738 L37450 32738" />
+<path d="M37876 32328 L37876 31876" />
+</g>
+<g style="fill:#00A0A0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:60"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="37858" cy="32732" rx="188" ry="188" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<polygon style="fill-rule:evenodd; "
+points="35185,27311
+35893,27311
+35893,28019
+35185,28019
+" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="35539" cy="27665" rx="160" ry="160" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="35539" cy="26665" rx="354" ry="354" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="35539" cy="26665" rx="160" ry="160" />
+</g>
+<g style="fill:#808000; fill-opacity:1.0;
+ stroke:#808000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="34539" cy="26665" rx="354" ry="354" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="34539" cy="26665" rx="160" ry="160" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33537 26665 L33541 26665" />
+<path d="M33539 26663 L33539 26667" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33739 26703 L33720 26741" />
+<path d="M33720 26741 L33682 26779" />
+<path d="M33682 26779 L33625 26836" />
+<path d="M33625 26836 L33606 26875" />
+<path d="M33606 26875 L33606 26913" />
+<g style = "stroke-linecap:round;" >
+<path d="M33606 26913 L33606 26913" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33701 26894 L33682 26932" />
+<path d="M33682 26932 L33644 26970" />
+<path d="M33644 26970 L33568 26989" />
+<path d="M33568 26989 L33434 26989" />
+<path d="M33434 26989 L33358 26970" />
+<path d="M33358 26970 L33320 26932" />
+<path d="M33320 26932 L33301 26894" />
+<path d="M33301 26894 L33301 26817" />
+<path d="M33301 26817 L33320 26779" />
+<path d="M33320 26779 L33358 26741" />
+<path d="M33358 26741 L33434 26722" />
+<path d="M33434 26722 L33568 26722" />
+<path d="M33568 26722 L33644 26741" />
+<path d="M33644 26741 L33682 26779" />
+<path d="M33682 26779 L33701 26817" />
+<path d="M33701 26817 L33701 26894" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33701 26341 L33701 26570" />
+<g style = "stroke-linecap:round;" >
+<path d="M33701 26570 L33701 26570" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M33701 26456 L33301 26456" />
+<path d="M33301 26456 L33358 26494" />
+<path d="M33358 26494 L33396 26532" />
+<path d="M33396 26532 L33415 26570" />
+<g style = "stroke-linecap:round;" >
+<path d="M33415 26570 L33415 26570" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#0000C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37037 26665 L37041 26665" />
+<path d="M37039 26663 L37039 26667" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36972 27475 L36953 27513" />
+<path d="M36953 27513 L36934 27532" />
+<path d="M36934 27532 L36896 27551" />
+<path d="M36896 27551 L36877 27551" />
+<path d="M36877 27551 L36839 27532" />
+<path d="M36839 27532 L36820 27513" />
+<path d="M36820 27513 L36801 27475" />
+<path d="M36801 27475 L36801 27398" />
+<path d="M36801 27398 L36820 27360" />
+<path d="M36820 27360 L36839 27341" />
+<path d="M36839 27341 L36877 27322" />
+<path d="M36877 27322 L36896 27322" />
+<path d="M36896 27322 L36934 27341" />
+<path d="M36934 27341 L36953 27360" />
+<path d="M36953 27360 L36972 27398" />
+<path d="M36972 27398 L36972 27475" />
+<path d="M36972 27475 L36991 27513" />
+<path d="M36991 27513 L37010 27532" />
+<path d="M37010 27532 L37049 27551" />
+<path d="M37049 27551 L37125 27551" />
+<path d="M37125 27551 L37163 27532" />
+<path d="M37163 27532 L37182 27513" />
+<path d="M37182 27513 L37201 27475" />
+<path d="M37201 27475 L37201 27398" />
+<path d="M37201 27398 L37182 27360" />
+<path d="M37182 27360 L37163 27341" />
+<path d="M37163 27341 L37125 27322" />
+<path d="M37125 27322 L37049 27322" />
+<path d="M37049 27322 L37010 27341" />
+<path d="M37010 27341 L36991 27360" />
+<path d="M36991 27360 L36972 27398" />
+<g style = "stroke-linecap:round;" >
+<path d="M36972 27398 L36972 27398" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36801 27075 L36801 27036" />
+<path d="M36801 27036 L36820 26998" />
+<path d="M36820 26998 L36839 26979" />
+<path d="M36839 26979 L36877 26960" />
+<path d="M36877 26960 L36953 26941" />
+<path d="M36953 26941 L37049 26941" />
+<path d="M37049 26941 L37125 26960" />
+<path d="M37125 26960 L37163 26979" />
+<path d="M37163 26979 L37182 26998" />
+<path d="M37182 26998 L37201 27036" />
+<path d="M37201 27036 L37201 27075" />
+<path d="M37201 27075 L37182 27113" />
+<path d="M37182 27113 L37163 27132" />
+<path d="M37163 27132 L37125 27151" />
+<path d="M37125 27151 L37049 27170" />
+<path d="M37049 27170 L36953 27170" />
+<path d="M36953 27170 L36877 27151" />
+<path d="M36877 27151 L36839 27132" />
+<path d="M36839 27132 L36820 27113" />
+<path d="M36820 27113 L36801 27075" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36801 26579 L36801 26770" />
+<path d="M36801 26770 L36991 26789" />
+<path d="M36991 26789 L36972 26770" />
+<path d="M36972 26770 L36953 26732" />
+<path d="M36953 26732 L36953 26636" />
+<path d="M36953 26636 L36972 26598" />
+<path d="M36972 26598 L36991 26579" />
+<path d="M36991 26579 L37029 26560" />
+<path d="M37029 26560 L37125 26560" />
+<path d="M37125 26560 L37163 26579" />
+<path d="M37163 26579 L37182 26598" />
+<path d="M37182 26598 L37201 26636" />
+<path d="M37201 26636 L37201 26732" />
+<path d="M37201 26732 L37182 26770" />
+<path d="M37182 26770 L37163 26789" />
+<g style = "stroke-linecap:round;" >
+<path d="M37163 26789 L37163 26789" />
+</g></g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M36801 26313 L36801 26274" />
+<path d="M36801 26274 L36820 26236" />
+<path d="M36820 26236 L36839 26217" />
+<path d="M36839 26217 L36877 26198" />
+<path d="M36877 26198 L36953 26179" />
+<path d="M36953 26179 L37049 26179" />
+<path d="M37049 26179 L37125 26198" />
+<path d="M37125 26198 L37163 26217" />
+<path d="M37163 26217 L37182 26236" />
+<path d="M37182 26236 L37201 26274" />
+<path d="M37201 26274 L37201 26313" />
+<path d="M37201 26313 L37182 26351" />
+<path d="M37182 26351 L37163 26370" />
+<path d="M37163 26370 L37125 26389" />
+<path d="M37125 26389 L37049 26408" />
+<path d="M37049 26408 L36953 26408" />
+<path d="M36953 26408 L36877 26389" />
+<path d="M36877 26389 L36839 26370" />
+<path d="M36839 26370 L36820 26351" />
+<path d="M36820 26351 L36801 26313" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#C0C0C0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:80"
+ transform="translate(0 0) scale(1 1)">
+<path d="M37201 26008 L36801 26008" />
+<path d="M36801 26008 L36801 25913" />
+<path d="M36801 25913 L36820 25855" />
+<path d="M36820 25855 L36858 25817" />
+<path d="M36858 25817 L36896 25798" />
+<path d="M36896 25798 L36972 25779" />
+<path d="M36972 25779 L37029 25779" />
+<path d="M37029 25779 L37106 25798" />
+<path d="M37106 25798 L37144 25817" />
+<path d="M37144 25817 L37182 25855" />
+<path d="M37182 25855 L37201 25913" />
+<path d="M37201 25913 L37201 26008" />
+</g>
+<g style="fill:#C0C0C0; fill-opacity:0.0;
+ stroke:#00A0A0; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:120"
+ transform="translate(0 0) scale(1 1)">
+<path d="M34039 26665 L35539 28165" />
+<path d="M35539 28165 L36039 28165" />
+<path d="M36039 28165 L36539 27665" />
+<path d="M36539 27665 L36539 26665" />
+<path d="M35539 25665 L36539 26665" />
+<path d="M34539 25665 L35539 25665" />
+<path d="M34039 26165 L34539 25665" />
+<path d="M34039 26165 L34039 26665" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="27559" cy="42126" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="45472" cy="24804" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="45472" cy="42126" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="42278" cy="35203" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="36903" cy="30592" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="35212" cy="33157" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="37437" cy="29965" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="37218" cy="27302" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="38808" cy="30939" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="35807" cy="32913" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="39708" cy="31012" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="41801" cy="34867" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="39824" cy="37639" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="39672" cy="36818" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="33150" cy="36198" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="34401" cy="39647" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="42390" cy="34305" rx="125" ry="125" />
+</g>
+<g style="fill:#000000; fill-opacity:1.0;
+ stroke:#000000; stroke-linecap:round; stroke-linejoin:round; stroke-opacity:1.0; stroke-opacity:1.0; stroke-width:0"
+ transform="translate(0 0) scale(1 1)">
+<ellipse cx="32965" cy="32567" rx="125" ry="125" />
+</g>
+</svg>
diff --git a/circuit/fridge-lock-cache.bak b/circuit/fridge-lock-cache.bak
new file mode 100644
index 0000000..14aa2ea
--- /dev/null
+++ b/circuit/fridge-lock-cache.bak
@@ -0,0 +1,301 @@
+EESchema-LIBRARY Version 2.3 Date: Sat 24 Mar 2012 10:01:47 PM CET
+#
+# AT90USB162
+#
+DEF AT90USB162 U 0 40 Y Y 1 F N
+F0 "U" 0 -100 50 H V C CNN
+F1 "AT90USB162" 0 100 50 H V C CNN
+DRAW
+S -850 -550 850 550 0 0 0 N
+X XTAL1 1 -1150 350 300 R 50 50 1 1 I
+X XTAL2/PC0 2 -1150 250 300 R 50 50 1 1 I
+X GND 3 -1150 150 300 R 50 50 1 1 I
+X VCC 4 -1150 50 300 R 50 50 1 1 I
+X PC2 5 -1150 -50 300 R 50 50 1 1 I
+X PD0 6 -1150 -150 300 R 50 50 1 1 I
+X PD1 7 -1150 -250 300 R 50 50 1 1 I
+X PD2 8 -1150 -350 300 R 50 50 1 1 I
+X PD3 9 -350 -850 300 U 50 50 1 1 I
+X PD4 10 -250 -850 300 U 50 50 1 1 I
+X PB6 20 1150 -50 300 L 50 50 1 1 I
+X D-/SDATA 30 -150 850 300 D 50 50 1 1 I
+X PD5 11 -150 -850 300 U 50 50 1 1 I
+X PB7 21 1150 50 300 L 50 50 1 1 I
+X UVCC 31 -250 850 300 D 50 50 1 1 I
+X PD6 12 -50 -850 300 U 50 50 1 1 I
+X PC7 22 1150 150 300 L 50 50 1 1 I
+X AVCC 32 -350 850 300 D 50 50 1 1 I
+X PD7 13 50 -850 300 U 50 50 1 1 I
+X PC6 23 1150 250 300 L 50 50 1 1 I
+X PB0 14 150 -850 300 U 50 50 1 1 I
+X RESET/PC1/DW 24 1150 350 300 L 50 50 1 1 I
+X PB1 15 250 -850 300 U 50 50 1 1 I
+X PC5 25 350 850 300 D 50 50 1 1 I
+X PB2 16 350 -850 300 U 50 50 1 1 I
+X PC4 26 250 850 300 D 50 50 1 1 I
+X PB3 17 1150 -350 300 L 50 50 1 1 I
+X UCAP 27 150 850 300 D 50 50 1 1 I
+X PB4 18 1150 -250 300 L 50 50 1 1 I
+X UGND 28 50 850 300 D 50 50 1 1 I
+X PB5 19 1150 -150 300 L 50 50 1 1 I
+X D+/SCK 29 -50 850 300 D 50 50 1 1 I
+ENDDRAW
+ENDDEF
+#
+# C
+#
+DEF C C 0 10 N Y 1 F N
+F0 "C" 50 100 50 H V L CNN
+F1 "C" 50 -100 50 H V L CNN
+$FPLIST
+ SM*
+ C?
+ C1-1
+$ENDFPLIST
+DRAW
+P 2 0 1 10 -100 -30 100 -30 N
+P 2 0 1 10 -100 30 100 30 N
+X ~ 1 0 200 170 D 40 40 1 1 P
+X ~ 2 0 -200 170 U 40 40 1 1 P
+ENDDRAW
+ENDDEF
+#
+# CONN_2
+#
+DEF CONN_2 P 0 40 Y N 1 F N
+F0 "P" -50 0 40 V V C CNN
+F1 "CONN_2" 50 0 40 V V C CNN
+DRAW
+S -100 150 100 -150 0 1 0 N
+X P1 1 -350 100 250 R 60 60 1 1 P I
+X PM 2 -350 -100 250 R 60 60 1 1 P I
+ENDDRAW
+ENDDEF
+#
+# CONN_3X2
+#
+DEF CONN_3X2 P 0 40 Y N 1 F N
+F0 "P" 0 250 50 H V C CNN
+F1 "CONN_3X2" 0 50 40 V V C CNN
+DRAW
+S -100 200 100 -100 0 1 0 N
+X 1 1 -400 150 300 R 60 60 1 1 P I
+X 2 2 400 150 300 L 60 60 1 1 P I
+X 3 3 -400 50 300 R 60 60 1 1 P I
+X 4 4 400 50 300 L 60 60 1 1 P I
+X 5 5 -400 -50 300 R 60 60 1 1 P I
+X 6 6 400 -50 300 L 60 60 1 1 P I
+ENDDRAW
+ENDDEF
+#
+# CONN_8
+#
+DEF CONN_8 P 0 40 Y N 1 F N
+F0 "P" -50 0 60 V V C CNN
+F1 "CONN_8" 50 0 60 V V C CNN
+DRAW
+S -100 400 100 -400 0 1 0 N
+X P1 1 -350 350 250 R 50 50 1 1 P I
+X P2 2 -350 250 250 R 50 50 1 1 P I
+X P3 3 -350 150 250 R 50 50 1 1 P I
+X P4 4 -350 50 250 R 50 50 1 1 P I
+X P5 5 -350 -50 250 R 50 50 1 1 P I
+X P6 6 -350 -150 250 R 50 50 1 1 P I
+X P7 7 -350 -250 250 R 50 50 1 1 P I
+X P8 8 -350 -350 250 R 50 50 1 1 P I
+ENDDRAW
+ENDDEF
+#
+# CP
+#
+DEF CP C 0 10 N N 1 F N
+F0 "C" 50 100 50 H V L CNN
+F1 "CP" 50 -100 50 H V L CNN
+ALIAS CAPAPOL
+$FPLIST
+ CP*
+ SM*
+$ENDFPLIST
+DRAW
+P 4 0 1 8 -100 50 -100 -50 100 -50 100 50 N
+P 4 0 1 0 -50 50 -50 -20 50 -20 50 50 F
+X ~ 1 0 200 150 D 40 40 1 1 P
+X ~ 2 0 -200 150 U 40 40 1 1 P
+ENDDRAW
+ENDDEF
+#
+# CRYSTAL
+#
+DEF CRYSTAL X 0 40 N N 1 F N
+F0 "X" 0 150 60 H V C CNN
+F1 "CRYSTAL" 0 -150 60 H V C CNN
+DRAW
+P 2 0 1 16 -100 100 -100 -100 N
+P 2 0 1 16 100 100 100 -100 N
+P 5 0 1 12 -50 50 50 50 50 -50 -50 -50 -50 50 f
+X 1 1 -300 0 200 R 40 40 1 1 P
+X 2 2 300 0 200 L 40 40 1 1 P
+ENDDRAW
+ENDDEF
+#
+# GND
+#
+DEF ~GND #PWR 0 0 Y Y 1 F P
+F0 "#PWR" 0 0 30 H I C CNN
+F1 "GND" 0 -70 30 H I C CNN
+DRAW
+P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
+X GND 1 0 0 0 U 30 30 1 1 W N
+ENDDRAW
+ENDDEF
+#
+# LM75
+#
+DEF LM75 U 0 40 Y Y 1 F N
+F0 "U" 0 -100 50 H V C CNN
+F1 "LM75" 0 100 50 H V C CNN
+F2 "MODULE" 0 0 50 H I C CNN
+F3 "DOCUMENTATION" 0 0 50 H I C CNN
+DRAW
+S -450 -350 450 350 1 0 0 N
+X SDA 1 -750 150 300 R 50 50 1 1 B
+X SCL 2 -750 50 300 R 50 50 1 1 B
+X OS 3 -750 -50 300 R 50 50 1 1 O
+X GND 4 -750 -150 300 R 50 50 1 1 W
+X VSS 5 750 -150 300 L 50 50 1 1 W
+X A0 6 750 -50 300 L 50 50 1 1 I
+X A1 7 750 50 300 L 50 50 1 1 I
+X A2 8 750 150 300 L 50 50 1 1 I
+ENDDRAW
+ENDDEF
+#
+# MOC3023M
+#
+DEF MOC3023M OK 0 40 Y Y 1 L N
+F0 "OK" -276 224 50 H V L BNN
+F1 "MOC3023M" -276 -297 50 H V L BNN
+F2 "optocoupler-2-DIL06" 0 150 50 H I C CNN
+DRAW
+P 2 1 0 0 -300 -100 -175 -100 N
+P 2 1 0 0 -300 100 -175 100 N
+P 2 1 0 0 -275 -200 275 -200 N
+P 2 1 0 0 -275 200 -275 -200 N
+P 2 1 0 0 -275 200 275 200 N
+P 2 1 0 0 -175 -50 -225 -50 N
+P 2 1 0 0 -175 -50 -225 50 N
+P 2 1 0 0 -175 -50 -175 -100 N
+P 2 1 0 0 -175 50 -225 50 N
+P 2 1 0 0 -175 50 -175 -50 N
+P 2 1 0 0 -175 100 -175 50 N
+P 2 1 0 0 -125 -50 -175 -50 N
+P 2 1 0 0 -125 50 -175 -50 N
+P 2 1 0 0 -125 50 -175 50 N
+P 2 1 0 0 -100 0 -45 55 N
+P 2 1 0 0 -95 -45 -40 10 N
+P 2 1 0 0 -80 40 -60 20 N
+P 2 1 0 0 -75 -5 -55 -25 N
+P 2 1 0 0 -60 20 -45 55 N
+P 2 1 0 0 -55 -25 -40 10 N
+P 2 1 0 0 -45 55 -80 40 N
+P 2 1 0 0 -40 10 -75 -5 N
+P 2 1 0 0 35 -20 0 50 N
+P 2 1 0 0 50 -50 0 -50 N
+P 2 1 0 0 50 -50 35 -20 N
+P 2 1 0 0 55 -40 35 -20 N
+P 2 1 0 0 55 -40 50 -50 N
+P 2 1 0 0 100 -100 100 -50 N
+P 2 1 0 0 100 -100 300 -100 N
+P 2 1 0 0 100 -50 50 -50 N
+P 2 1 0 0 100 -50 150 50 N
+P 2 1 0 0 100 -50 200 -50 N
+P 2 1 0 0 100 50 0 50 N
+P 2 1 0 0 100 50 55 -40 N
+P 2 1 0 0 100 50 150 50 N
+P 2 1 0 0 100 100 100 50 N
+P 2 1 0 0 100 100 300 100 N
+P 2 1 0 0 150 50 200 -50 N
+P 2 1 0 0 150 50 200 50 N
+P 2 1 0 0 275 -200 275 200 N
+X A 1 -400 100 100 R 40 40 1 1 P
+X C 2 -400 -100 100 R 40 40 1 1 P
+X A1 4 400 -100 100 L 40 40 1 1 P
+X A2 6 400 100 100 L 40 40 1 1 P
+ENDDRAW
+ENDDEF
+#
+# R
+#
+DEF R R 0 0 N Y 1 F N
+F0 "R" 80 0 50 V V C CNN
+F1 "R" 0 0 50 V V C CNN
+$FPLIST
+ R?
+ SM0603
+ SM0805
+ R?-*
+$ENDFPLIST
+DRAW
+S -40 150 40 -150 0 1 12 N
+X ~ 1 0 250 100 D 60 60 1 1 P
+X ~ 2 0 -250 100 U 60 60 1 1 P
+ENDDRAW
+ENDDEF
+#
+# TRIAC
+#
+DEF TRIAC U 0 10 Y Y 1 F N
+F0 "U" -250 350 70 H V C CNN
+F1 "TRIAC" -300 -250 60 H V C CNN
+DRAW
+P 2 0 1 0 -300 -50 0 -50 N
+P 2 0 1 0 -150 -50 -300 -200 N
+P 2 0 1 0 0 200 300 200 N
+P 3 0 1 0 -300 200 -150 -50 0 200 F
+P 3 0 1 0 150 200 0 -50 300 -50 F
+X ~ 1 0 -250 200 U 70 70 1 1 P
+X ~ 2 0 400 200 D 70 70 1 1 P
+X ~ 3 -500 -200 200 R 70 70 1 1 I
+ENDDRAW
+ENDDEF
+#
+# USB
+#
+DEF USB J 0 0 Y Y 1 F N
+F0 "J" -50 400 60 H V C CNN
+F1 "USB" -250 150 60 V V C CNN
+DRAW
+S -100 200 -100 100 0 1 0 N
+S -100 200 -100 200 0 1 0 N
+S -100 200 50 200 0 1 0 N
+S 50 100 -100 100 0 1 0 N
+S 50 100 50 200 0 1 0 N
+P 3 0 1 0 -150 -50 -250 -200 -250 -200 N
+P 3 0 1 0 100 -50 200 -200 200 -200 N
+P 4 0 1 0 -100 -450 -50 -400 -50 -50 -50 -50 N
+P 4 0 1 0 -100 -50 -100 -250 -250 -350 -250 -350 N
+P 4 0 1 0 0 -50 0 -400 50 -450 50 -450 N
+P 4 0 1 0 50 -50 50 -250 200 -350 200 -350 N
+P 6 0 1 0 -200 -50 150 -50 150 350 -200 350 -200 -50 -200 -50 N
+P 9 0 1 0 -150 0 100 0 100 250 50 300 -100 300 -150 250 -150 0 -150 0 -150 0 N
+X Vbus 1 -400 -200 150 R 40 30 1 1 w
+X D- 2 350 -350 150 L 40 30 1 1 B
+X D+ 3 350 -200 150 L 40 30 1 1 B
+X GND 4 -400 -350 150 R 40 30 1 1 w
+X Shield_1 5 350 -450 300 L 40 30 1 1 P
+X Shield_2 6 -400 -450 300 R 40 30 1 1 P
+ENDDRAW
+ENDDEF
+#
+# VCC
+#
+DEF VCC #PWR 0 0 Y Y 1 F P
+F0 "#PWR" 0 100 30 H I C CNN
+F1 "VCC" 0 100 30 H V C CNN
+DRAW
+X VCC 1 0 0 0 U 20 20 0 0 W N
+C 0 50 20 0 1 0 N
+P 3 0 1 0 0 0 0 30 0 30 N
+ENDDRAW
+ENDDEF
+#
+#End Library
diff --git a/circuit/fridge-lock-cache.lib b/circuit/fridge-lock-cache.lib
new file mode 100644
index 0000000..0f71576
--- /dev/null
+++ b/circuit/fridge-lock-cache.lib
@@ -0,0 +1,301 @@
+EESchema-LIBRARY Version 2.3 Date: Sat 24 Mar 2012 10:16:51 PM CET
+#
+# AT90USB162
+#
+DEF AT90USB162 U 0 40 Y Y 1 F N
+F0 "U" 0 -100 50 H V C CNN
+F1 "AT90USB162" 0 100 50 H V C CNN
+DRAW
+S -850 -550 850 550 0 0 0 N
+X XTAL1 1 -1150 350 300 R 50 50 1 1 I
+X XTAL2/PC0 2 -1150 250 300 R 50 50 1 1 I
+X GND 3 -1150 150 300 R 50 50 1 1 I
+X VCC 4 -1150 50 300 R 50 50 1 1 I
+X PC2 5 -1150 -50 300 R 50 50 1 1 I
+X PD0 6 -1150 -150 300 R 50 50 1 1 I
+X PD1 7 -1150 -250 300 R 50 50 1 1 I
+X PD2 8 -1150 -350 300 R 50 50 1 1 I
+X PD3 9 -350 -850 300 U 50 50 1 1 I
+X PD4 10 -250 -850 300 U 50 50 1 1 I
+X PB6 20 1150 -50 300 L 50 50 1 1 I
+X D-/SDATA 30 -150 850 300 D 50 50 1 1 I
+X PD5 11 -150 -850 300 U 50 50 1 1 I
+X PB7 21 1150 50 300 L 50 50 1 1 I
+X UVCC 31 -250 850 300 D 50 50 1 1 I
+X PD6 12 -50 -850 300 U 50 50 1 1 I
+X PC7 22 1150 150 300 L 50 50 1 1 I
+X AVCC 32 -350 850 300 D 50 50 1 1 I
+X PD7 13 50 -850 300 U 50 50 1 1 I
+X PC6 23 1150 250 300 L 50 50 1 1 I
+X PB0 14 150 -850 300 U 50 50 1 1 I
+X RESET/PC1/DW 24 1150 350 300 L 50 50 1 1 I
+X PB1 15 250 -850 300 U 50 50 1 1 I
+X PC5 25 350 850 300 D 50 50 1 1 I
+X PB2 16 350 -850 300 U 50 50 1 1 I
+X PC4 26 250 850 300 D 50 50 1 1 I
+X PB3 17 1150 -350 300 L 50 50 1 1 I
+X UCAP 27 150 850 300 D 50 50 1 1 I
+X PB4 18 1150 -250 300 L 50 50 1 1 I
+X UGND 28 50 850 300 D 50 50 1 1 I
+X PB5 19 1150 -150 300 L 50 50 1 1 I
+X D+/SCK 29 -50 850 300 D 50 50 1 1 I
+ENDDRAW
+ENDDEF
+#
+# C
+#
+DEF C C 0 10 N Y 1 F N
+F0 "C" 50 100 50 H V L CNN
+F1 "C" 50 -100 50 H V L CNN
+$FPLIST
+ SM*
+ C?
+ C1-1
+$ENDFPLIST
+DRAW
+P 2 0 1 10 -100 -30 100 -30 N
+P 2 0 1 10 -100 30 100 30 N
+X ~ 1 0 200 170 D 40 40 1 1 P
+X ~ 2 0 -200 170 U 40 40 1 1 P
+ENDDRAW
+ENDDEF
+#
+# CONN_2
+#
+DEF CONN_2 P 0 40 Y N 1 F N
+F0 "P" -50 0 40 V V C CNN
+F1 "CONN_2" 50 0 40 V V C CNN
+DRAW
+S -100 150 100 -150 0 1 0 N
+X P1 1 -350 100 250 R 60 60 1 1 P I
+X PM 2 -350 -100 250 R 60 60 1 1 P I
+ENDDRAW
+ENDDEF
+#
+# CONN_3X2
+#
+DEF CONN_3X2 P 0 40 Y N 1 F N
+F0 "P" 0 250 50 H V C CNN
+F1 "CONN_3X2" 0 50 40 V V C CNN
+DRAW
+S -100 200 100 -100 0 1 0 N
+X 1 1 -400 150 300 R 60 60 1 1 P I
+X 2 2 400 150 300 L 60 60 1 1 P I
+X 3 3 -400 50 300 R 60 60 1 1 P I
+X 4 4 400 50 300 L 60 60 1 1 P I
+X 5 5 -400 -50 300 R 60 60 1 1 P I
+X 6 6 400 -50 300 L 60 60 1 1 P I
+ENDDRAW
+ENDDEF
+#
+# CONN_8
+#
+DEF CONN_8 P 0 40 Y N 1 F N
+F0 "P" -50 0 60 V V C CNN
+F1 "CONN_8" 50 0 60 V V C CNN
+DRAW
+S -100 400 100 -400 0 1 0 N
+X P1 1 -350 350 250 R 50 50 1 1 P I
+X P2 2 -350 250 250 R 50 50 1 1 P I
+X P3 3 -350 150 250 R 50 50 1 1 P I
+X P4 4 -350 50 250 R 50 50 1 1 P I
+X P5 5 -350 -50 250 R 50 50 1 1 P I
+X P6 6 -350 -150 250 R 50 50 1 1 P I
+X P7 7 -350 -250 250 R 50 50 1 1 P I
+X P8 8 -350 -350 250 R 50 50 1 1 P I
+ENDDRAW
+ENDDEF
+#
+# CP
+#
+DEF CP C 0 10 N N 1 F N
+F0 "C" 50 100 50 H V L CNN
+F1 "CP" 50 -100 50 H V L CNN
+ALIAS CAPAPOL
+$FPLIST
+ CP*
+ SM*
+$ENDFPLIST
+DRAW
+P 4 0 1 8 -100 50 -100 -50 100 -50 100 50 N
+P 4 0 1 0 -50 50 -50 -20 50 -20 50 50 F
+X ~ 1 0 200 150 D 40 40 1 1 P
+X ~ 2 0 -200 150 U 40 40 1 1 P
+ENDDRAW
+ENDDEF
+#
+# CRYSTAL
+#
+DEF CRYSTAL X 0 40 N N 1 F N
+F0 "X" 0 150 60 H V C CNN
+F1 "CRYSTAL" 0 -150 60 H V C CNN
+DRAW
+P 2 0 1 16 -100 100 -100 -100 N
+P 2 0 1 16 100 100 100 -100 N
+P 5 0 1 12 -50 50 50 50 50 -50 -50 -50 -50 50 f
+X 1 1 -300 0 200 R 40 40 1 1 P
+X 2 2 300 0 200 L 40 40 1 1 P
+ENDDRAW
+ENDDEF
+#
+# GND
+#
+DEF ~GND #PWR 0 0 Y Y 1 F P
+F0 "#PWR" 0 0 30 H I C CNN
+F1 "GND" 0 -70 30 H I C CNN
+DRAW
+P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
+X GND 1 0 0 0 U 30 30 1 1 W N
+ENDDRAW
+ENDDEF
+#
+# LM75
+#
+DEF LM75 U 0 40 Y Y 1 F N
+F0 "U" 0 -100 50 H V C CNN
+F1 "LM75" 0 100 50 H V C CNN
+F2 "MODULE" 0 0 50 H I C CNN
+F3 "DOCUMENTATION" 0 0 50 H I C CNN
+DRAW
+S -450 -350 450 350 1 0 0 N
+X SDA 1 -750 150 300 R 50 50 1 1 B
+X SCL 2 -750 50 300 R 50 50 1 1 B
+X OS 3 -750 -50 300 R 50 50 1 1 O
+X GND 4 -750 -150 300 R 50 50 1 1 W
+X VSS 5 750 -150 300 L 50 50 1 1 W
+X A0 6 750 -50 300 L 50 50 1 1 I
+X A1 7 750 50 300 L 50 50 1 1 I
+X A2 8 750 150 300 L 50 50 1 1 I
+ENDDRAW
+ENDDEF
+#
+# MOC3023M
+#
+DEF MOC3023M OK 0 40 Y Y 1 L N
+F0 "OK" -276 224 50 H V L BNN
+F1 "MOC3023M" -276 -297 50 H V L BNN
+F2 "optocoupler-2-DIL06" 0 150 50 H I C CNN
+DRAW
+P 2 1 0 0 -300 -100 -175 -100 N
+P 2 1 0 0 -300 100 -175 100 N
+P 2 1 0 0 -275 -200 275 -200 N
+P 2 1 0 0 -275 200 -275 -200 N
+P 2 1 0 0 -275 200 275 200 N
+P 2 1 0 0 -175 -50 -225 -50 N
+P 2 1 0 0 -175 -50 -225 50 N
+P 2 1 0 0 -175 -50 -175 -100 N
+P 2 1 0 0 -175 50 -225 50 N
+P 2 1 0 0 -175 50 -175 -50 N
+P 2 1 0 0 -175 100 -175 50 N
+P 2 1 0 0 -125 -50 -175 -50 N
+P 2 1 0 0 -125 50 -175 -50 N
+P 2 1 0 0 -125 50 -175 50 N
+P 2 1 0 0 -100 0 -45 55 N
+P 2 1 0 0 -95 -45 -40 10 N
+P 2 1 0 0 -80 40 -60 20 N
+P 2 1 0 0 -75 -5 -55 -25 N
+P 2 1 0 0 -60 20 -45 55 N
+P 2 1 0 0 -55 -25 -40 10 N
+P 2 1 0 0 -45 55 -80 40 N
+P 2 1 0 0 -40 10 -75 -5 N
+P 2 1 0 0 35 -20 0 50 N
+P 2 1 0 0 50 -50 0 -50 N
+P 2 1 0 0 50 -50 35 -20 N
+P 2 1 0 0 55 -40 35 -20 N
+P 2 1 0 0 55 -40 50 -50 N
+P 2 1 0 0 100 -100 100 -50 N
+P 2 1 0 0 100 -100 300 -100 N
+P 2 1 0 0 100 -50 50 -50 N
+P 2 1 0 0 100 -50 150 50 N
+P 2 1 0 0 100 -50 200 -50 N
+P 2 1 0 0 100 50 0 50 N
+P 2 1 0 0 100 50 55 -40 N
+P 2 1 0 0 100 50 150 50 N
+P 2 1 0 0 100 100 100 50 N
+P 2 1 0 0 100 100 300 100 N
+P 2 1 0 0 150 50 200 -50 N
+P 2 1 0 0 150 50 200 50 N
+P 2 1 0 0 275 -200 275 200 N
+X A 1 -400 100 100 R 40 40 1 1 P
+X C 2 -400 -100 100 R 40 40 1 1 P
+X A1 4 400 -100 100 L 40 40 1 1 P
+X A2 6 400 100 100 L 40 40 1 1 P
+ENDDRAW
+ENDDEF
+#
+# R
+#
+DEF R R 0 0 N Y 1 F N
+F0 "R" 80 0 50 V V C CNN
+F1 "R" 0 0 50 V V C CNN
+$FPLIST
+ R?
+ SM0603
+ SM0805
+ R?-*
+$ENDFPLIST
+DRAW
+S -40 150 40 -150 0 1 12 N
+X ~ 1 0 250 100 D 60 60 1 1 P
+X ~ 2 0 -250 100 U 60 60 1 1 P
+ENDDRAW
+ENDDEF
+#
+# TRIAC
+#
+DEF TRIAC U 0 10 Y Y 1 F N
+F0 "U" -250 350 70 H V C CNN
+F1 "TRIAC" -300 -250 60 H V C CNN
+DRAW
+P 2 0 1 0 -300 -50 0 -50 N
+P 2 0 1 0 -150 -50 -300 -200 N
+P 2 0 1 0 0 200 300 200 N
+P 3 0 1 0 -300 200 -150 -50 0 200 F
+P 3 0 1 0 150 200 0 -50 300 -50 F
+X ~ 1 0 -250 200 U 70 70 1 1 P
+X ~ 2 0 400 200 D 70 70 1 1 P
+X ~ 3 -500 -200 200 R 70 70 1 1 I
+ENDDRAW
+ENDDEF
+#
+# USB
+#
+DEF USB J 0 0 Y Y 1 F N
+F0 "J" -50 400 60 H V C CNN
+F1 "USB" -250 150 60 V V C CNN
+DRAW
+S -100 200 -100 100 0 1 0 N
+S -100 200 -100 200 0 1 0 N
+S -100 200 50 200 0 1 0 N
+S 50 100 -100 100 0 1 0 N
+S 50 100 50 200 0 1 0 N
+P 3 0 1 0 -150 -50 -250 -200 -250 -200 N
+P 3 0 1 0 100 -50 200 -200 200 -200 N
+P 4 0 1 0 -100 -450 -50 -400 -50 -50 -50 -50 N
+P 4 0 1 0 -100 -50 -100 -250 -250 -350 -250 -350 N
+P 4 0 1 0 0 -50 0 -400 50 -450 50 -450 N
+P 4 0 1 0 50 -50 50 -250 200 -350 200 -350 N
+P 6 0 1 0 -200 -50 150 -50 150 350 -200 350 -200 -50 -200 -50 N
+P 9 0 1 0 -150 0 100 0 100 250 50 300 -100 300 -150 250 -150 0 -150 0 -150 0 N
+X Vbus 1 -400 -200 150 R 40 30 1 1 w
+X D- 2 350 -350 150 L 40 30 1 1 B
+X D+ 3 350 -200 150 L 40 30 1 1 B
+X GND 4 -400 -350 150 R 40 30 1 1 w
+X Shield_1 5 350 -450 300 L 40 30 1 1 P
+X Shield_2 6 -400 -450 300 R 40 30 1 1 P
+ENDDRAW
+ENDDEF
+#
+# VCC
+#
+DEF VCC #PWR 0 0 Y Y 1 F P
+F0 "#PWR" 0 100 30 H I C CNN
+F1 "VCC" 0 100 30 H V C CNN
+DRAW
+X VCC 1 0 0 0 U 20 20 0 0 W N
+C 0 50 20 0 1 0 N
+P 3 0 1 0 0 0 0 30 0 30 N
+ENDDRAW
+ENDDEF
+#
+#End Library
diff --git a/circuit/fridge-lock.000 b/circuit/fridge-lock.000
new file mode 100644
index 0000000..4b2eb40
--- /dev/null
+++ b/circuit/fridge-lock.000
@@ -0,0 +1,4423 @@
+PCBNEW-BOARD Version 1 date Sat 24 Mar 2012 11:01:18 PM CET
+
+# Created by Pcbnew(2010-03-14)-final
+
+$GENERAL
+LayerCount 2
+Ly 1FFF8001
+EnabledLayers 1FFF8001
+Links 54
+NoConn 0
+Di 18924 12424 42576 49076
+Ndraw 6
+Ntrack 277
+Nzone 0
+BoardThickness 630
+Nmodule 21
+Nnets 29
+$EndGENERAL
+
+$SHEETDESCR
+Sheet A4 11700 8267
+Title ""
+Date "24 mar 2012"
+Rev ""
+Comp ""
+Comment1 ""
+Comment2 ""
+Comment3 ""
+Comment4 ""
+$EndSHEETDESCR
+
+$SETUP
+InternalUnit 0.000100 INCH
+ZoneGridSize 250
+Layers 2
+Layer[0] Back signal
+Layer[15] Front signal
+TrackWidth 157
+TrackWidthList 157
+TrackWidthList 315
+TrackClearence 79
+ZoneClearence 200
+TrackMinWidth 80
+DrawSegmWidth 150
+EdgeSegmWidth 150
+ViaSize 700
+ViaDrill 250
+ViaMinSize 350
+ViaMinDrill 200
+MicroViaSize 200
+MicroViaDrill 50
+MicroViasAllowed 0
+MicroViaMinSize 200
+MicroViaMinDrill 50
+TextPcbWidth 120
+TextPcbSize 600 800
+EdgeModWidth 150
+TextModSize 600 600
+TextModWidth 120
+PadSize 900 900
+PadDrill 450
+Pad2MaskClearance 100
+AuxiliaryAxisOrg 0 0
+$EndSETUP
+
+$EQUIPOT
+Na 0 ""
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 1 "/hot1"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 2 "/hot2"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 3 "GND"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 4 "N-000011"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 5 "N-000013"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 6 "N-000014"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 7 "N-000018"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 8 "N-000020"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 9 "N-000021"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 10 "N-000022"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 11 "N-000023"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 12 "N-000024"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 13 "N-000025"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 14 "N-000026"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 15 "N-000027"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 16 "N-000028"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 17 "N-000029"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 18 "N-000030"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 19 "N-000031"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 20 "N-000032"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 21 "N-000033"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 22 "N-000034"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 23 "N-000035"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 24 "N-000036"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 25 "N-000037"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 26 "N-000038"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 27 "N-000039"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 28 "VCC"
+St ~
+$EndEQUIPOT
+$NCLASS
+Name "Default"
+Desc "This is the default net class."
+Clearance 79
+TrackWidth 157
+ViaDia 700
+ViaDrill 250
+uViaDia 200
+uViaDrill 50
+AddNet ""
+AddNet "GND"
+AddNet "N-000011"
+AddNet "N-000013"
+AddNet "N-000014"
+AddNet "N-000018"
+AddNet "N-000020"
+AddNet "N-000021"
+AddNet "N-000022"
+AddNet "N-000023"
+AddNet "N-000024"
+AddNet "N-000025"
+AddNet "N-000026"
+AddNet "N-000027"
+AddNet "N-000028"
+AddNet "N-000029"
+AddNet "N-000030"
+AddNet "N-000031"
+AddNet "N-000032"
+AddNet "N-000033"
+AddNet "N-000034"
+AddNet "N-000035"
+AddNet "N-000036"
+AddNet "N-000037"
+AddNet "N-000038"
+AddNet "N-000039"
+AddNet "VCC"
+$EndNCLASS
+$NCLASS
+Name "PWR"
+Desc ""
+Clearance 79
+TrackWidth 800
+ViaDia 472
+ViaDrill 250
+uViaDia 200
+uViaDrill 50
+AddNet "/hot1"
+AddNet "/hot2"
+$EndNCLASS
+$MODULE connect-CLAMP-02
+Po 40400 14800 2700 15 00200000 4F6E2807 ~~
+Li connect-CLAMP-02
+Sc 4F6E2807
+AR /4F6E1135
+Op 0 0 0
+At VIRTUAL
+T0 1000 -2849 700 700 2700 35 N V 21 N"P4"
+T1 1350 2650 700 700 2700 35 N V 21 N"CONN_2"
+DS 1970 -2000 1970 2000 50 21
+DS -1970 -2000 -1970 2000 50 21
+DS -1970 -2000 1970 -2000 50 21
+DS 1970 2000 -1970 2000 50 21
+DS -480 -520 -1650 350 50 21
+DS -350 -350 -1530 520 50 21
+DS -500 -350 -1500 350 200 21
+DS -400 -360 -490 -460 100 21
+DS -1520 460 -1590 370 100 21
+DS 480 -520 1350 650 50 21
+DS 650 -650 1520 530 50 21
+DS 650 -500 1350 500 200 21
+DS 640 -600 540 -509 100 21
+DS 1460 520 1370 590 100 21
+DS -1650 -1800 1950 -1800 20 21
+DS -1700 -1600 1950 -1600 20 21
+DS -1800 -1400 1950 -1400 20 21
+DS -1650 1800 1950 1800 20 21
+DS -1700 1600 1950 1600 20 21
+DS -1800 1400 1950 1400 20 21
+DS 1950 1200 -1900 1200 20 21
+DS -1900 -1200 1950 -1200 20 21
+DC -1000 0 -1375 375 25 21
+DC 1000 0 1375 375 25 21
+$PAD
+Sh "1" C 900 1800 0 0 2700
+Dr 500 0 0
+At STD N 00A88001
+Ne 1 "/hot1"
+Po -1000 0
+$EndPAD
+$PAD
+Sh "2" C 900 1800 0 0 2700
+Dr 500 0 0
+At STD N 00A88001
+Ne 2 "/hot2"
+Po 1000 0
+$EndPAD
+$EndMODULE connect-CLAMP-02
+$MODULE crystal-HC49UP
+Po 38400 28800 0 15 00200000 4F6E2808 ~~
+Li crystal-HC49UP
+Cd CRYSTAL
+Kw CRYSTAL
+Sc 4F6E2808
+AR /4D41AE62
+Op 0 0 0
+At SMD
+T0 -1000 1350 500 500 0 35 N V 21 N"X1"
+T1 -750 -1400 500 500 0 35 N V 21 N"CRYSTAL"
+DS -2600 1200 2600 1200 26 21
+DS 2600 1200 2600 -1200 26 21
+DS -2600 -1200 2600 -1200 26 21
+DS -2600 1200 -2600 -1200 26 21
+DS -2250 -450 -2250 -850 60 21
+DS 2250 -450 2250 -850 60 21
+DS 1350 500 -1350 500 20 21
+DS 1350 800 -1350 800 20 21
+DS -1350 -500 1350 -500 20 21
+DS 2150 950 -2150 950 60 21
+DS 2250 150 2550 150 60 21
+DS 2250 -150 2550 -150 60 21
+DS 2550 150 2550 -150 60 21
+DS 2250 450 2250 -450 60 21
+DS 2250 850 2250 450 60 21
+DS -2550 150 -2550 -150 60 21
+DS -2250 450 -2250 150 60 21
+DS -2250 150 -2250 -150 60 21
+DS -2250 -150 -2250 -450 60 21
+DS -2250 850 -2250 450 60 21
+DS -2250 150 -2550 150 60 21
+DS -2250 -150 -2550 -150 60 21
+DS -1350 -800 1350 -800 20 21
+DS 2150 -950 -2150 -950 60 21
+DS -100 -250 -100 250 60 21
+DS -100 250 100 250 60 21
+DS 100 250 100 -250 60 21
+DS 100 -250 -100 -250 60 21
+DS -250 -250 -250 0 60 21
+DS -250 0 -250 250 60 21
+DS -250 0 -400 0 20 21
+DS 250 -250 250 0 60 21
+DS 250 0 250 250 60 21
+DS 250 0 400 0 20 21
+DA -1349 0 -2011 -450 4157 20 21
+DA 1350 0 1350 -800 4157 20 21
+DA 2150 850 2250 850 4500 60 21
+DA 1350 0 1567 450 3858 20 21
+DA 1350 0 1350 -500 3858 20 21
+DA 1349 0 2011 449 4157 20 21
+DA 1350 0 1567 -450 4883 20 21
+DA 1350 0 2011 -450 4284 20 21
+DA -1350 0 -1350 800 4157 20 21
+DA -1350 0 -1567 450 4883 20 21
+DA -1350 0 -1350 500 3858 20 21
+DA -1350 0 -1567 -450 3858 20 21
+DA -1350 0 -2011 450 4284 20 21
+DA -2150 850 -2150 950 4500 60 21
+DA 2150 -850 2150 -950 4500 60 21
+DA -2150 -850 -2250 -850 4500 60 21
+$PAD
+Sh "1" R 2100 760 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 10 "N-000022"
+Po -1900 0
+$EndPAD
+$PAD
+Sh "2" R 2100 760 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 27 "N-000039"
+Po 1900 0
+$EndPAD
+$EndMODULE crystal-HC49UP
+$MODULE DIP-6__300_ELL
+Po 38400 20450 0 15 4879C789 4F6E2809 ~~
+Li DIP-6__300_ELL
+Cd 6 pins DIL package, elliptical pads
+Kw DIL
+Sc 4F6E2809
+AR /4F6E103D
+Op 0 0 0
+T0 0 -400 600 400 0 60 N V 21 N"OK1"
+T1 0 500 500 350 0 60 N V 21 N"MOC3023M"
+DS -1750 -1000 1750 -1000 150 21
+DS 1750 -1000 1750 1000 150 21
+DS 1750 1000 -1750 1000 150 21
+DS -1750 1000 -1750 -1000 150 21
+DS -1750 -250 -1250 -250 150 21
+DS -1250 -250 -1250 250 150 21
+DS -1250 250 -1750 250 150 21
+$PAD
+Sh "1" R 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 5 "N-000013"
+Po -1000 1500
+$EndPAD
+$PAD
+Sh "2" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 3 "GND"
+Po 0 1500
+$EndPAD
+$PAD
+Sh "3" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 1000 1500
+$EndPAD
+$PAD
+Sh "4" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 6 "N-000014"
+Po 1000 -1500
+$EndPAD
+$PAD
+Sh "5" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 0 -1500
+$EndPAD
+$PAD
+Sh "6" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 4 "N-000011"
+Po -1000 -1500
+$EndPAD
+$SHAPE3D
+Na "dil/dil_6.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE DIP-6__300_ELL
+$MODULE molex-microusb
+Po 22600 13200 2700 15 4D4455B2 4F6E280A ~~
+Li molex-microusb
+Sc 4F6E280A
+AR /4D41AD80
+Op 0 0 0
+T0 -906 -3256 276 276 2700 39 N V 21 N"J1"
+T1 -2366 -2083 315 315 2700 79 N V 21 N"USB"
+DS -587 2807 -587 2949 50 21
+DS -587 -610 -587 -748 50 21
+DS -850 -602 -850 2815 50 21
+DS -587 -602 -587 2791 50 21
+$PAD
+Sh "" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1046 1390
+$EndPAD
+$PAD
+Sh "3" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 12 "N-000024"
+Po 1046 1134
+$EndPAD
+$PAD
+Sh "" R 827 473 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 903 164
+$EndPAD
+$PAD
+Sh "1" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po 1045 622
+$EndPAD
+$PAD
+Sh "" R 827 472 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 903 2102
+$EndPAD
+$PAD
+Sh "" R 748 933 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 2279
+$EndPAD
+$PAD
+Sh "" R 748 933 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 -13
+$EndPAD
+$PAD
+Sh "" R 748 463 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 802
+$EndPAD
+$PAD
+Sh "" R 748 463 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 1464
+$EndPAD
+$PAD
+Sh "2" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 13 "N-000025"
+Po 1046 878
+$EndPAD
+$PAD
+Sh "5" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 1046 1646
+$EndPAD
+$EndMODULE molex-microusb
+$MODULE pin_array_3x2
+Po 28400 18600 1800 15 42931587 4F6E280C ~~
+Li pin_array_3x2
+Cd Double rangee de contacts 2 x 4 pins
+Kw CONN
+Sc 4F6E280C
+AR /4DCFAE62
+Op 0 0 0
+T0 0 -1500 400 400 1800 80 N V 21 N"P3"
+T1 0 1500 400 400 1800 80 N I 21 N"ISP"
+DS 1500 1000 -1500 1000 80 21
+DS -1500 -1000 1500 -1000 80 21
+DS 1500 -1000 1500 1000 80 21
+DS -1500 1000 -1500 -1000 80 21
+$PAD
+Sh "1" R 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 16 "N-000028"
+Po -1000 500
+$EndPAD
+$PAD
+Sh "2" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 28 "VCC"
+Po -1000 -500
+$EndPAD
+$PAD
+Sh "3" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 22 "N-000034"
+Po 0 500
+$EndPAD
+$PAD
+Sh "4" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 21 "N-000033"
+Po 0 -500
+$EndPAD
+$PAD
+Sh "5" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 20 "N-000032"
+Po 1000 500
+$EndPAD
+$PAD
+Sh "6" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 3 "GND"
+Po 1000 -500
+$EndPAD
+$SHAPE3D
+Na "pin_array/pins_array_3x2.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE pin_array_3x2
+$MODULE SM1206
+Po 34200 17600 0 15 42806E24 4F6E280D ~~
+Li SM1206
+Sc 4F6E280D
+AR /4F6E1810
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"R7"
+T1 0 0 300 300 0 50 N I 21 N"39"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 1 "/hot1"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 26 "N-000038"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 34200 18800 0 15 42806E24 4F6E280F ~~
+Li SM1206
+Sc 4F6E280F
+AR /4F6E10E2
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"R6"
+T1 0 0 300 300 0 50 N I 21 N"330"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 1 "/hot1"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 4 "N-000011"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 35010 20530 900 15 42806E24 4F6E2811 ~~
+Li SM1206
+Sc 4F6E2811
+AR /4F6E0F44
+Op 0 0 0
+At SMD
+T0 0 0 300 300 900 50 N V 21 N"R5"
+T1 0 0 300 300 900 50 N I 21 N"220"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 5 "N-000013"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 17 "N-000029"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 22400 26200 0 15 42806E24 4F6E2813 ~~
+Li SM1206
+Sc 4F6E2813
+AR /4D4449CE
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"R4"
+T1 0 0 300 300 0 50 N I 21 N"10k"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 20 "N-000032"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 22400 17000 900 15 42806E24 4F6E2815 ~~
+Li SM1206
+Sc 4F6E2815
+AR /4D41ADA8
+Op 0 0 0
+At SMD
+T0 0 0 300 300 900 50 N V 21 N"R3"
+T1 0 0 300 300 900 50 N I 21 N"22"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 15 "N-000027"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 13 "N-000025"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 21200 17000 900 15 42806E24 4F6E2817 ~~
+Li SM1206
+Sc 4F6E2817
+AR /4D41ADA3
+Op 0 0 0
+At SMD
+T0 0 0 300 300 900 50 N V 21 N"R2"
+T1 0 0 300 300 900 50 N I 21 N"22"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 14 "N-000026"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 12 "N-000024"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 36600 17600 0 15 42806E24 4F6E2819 ~~
+Li SM1206
+Sc 4F6E2819
+AR /4F6E181E
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"C7"
+T1 0 0 300 300 0 50 N I 21 N"10n"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 26 "N-000038"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 2 "/hot2"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 40200 24800 1800 15 42806E24 4F6E281B ~~
+Li SM1206
+Sc 4F6E281B
+AR /4F6E14CE
+Op 0 0 0
+At SMD
+T0 0 0 300 300 1800 50 N V 21 N"C6"
+T1 0 0 300 300 1800 50 N I 21 N"100n"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 40200 26400 1800 15 42806E24 4F6E281D ~~
+Li SM1206
+Sc 4F6E281D
+AR /4D41AE84
+Op 0 0 0
+At SMD
+T0 0 0 300 300 1800 50 N V 21 N"C5"
+T1 0 0 300 300 1800 50 N I 21 N"18p"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 27 "N-000039"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 36800 26400 0 15 42806E24 4F6E281F ~~
+Li SM1206
+Sc 4F6E281F
+AR /4D41AE7F
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"C4"
+T1 0 0 300 300 0 50 N I 21 N"18p"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 10 "N-000022"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206POL
+Po 36800 24800 1800 15 42806E4C 4F6E2820 ~~
+Li SM1206POL
+Sc 4F6E2820
+AR /4D41ADFF
+Op 0 0 0
+At SMD
+T0 0 0 300 300 1800 50 N V 21 N"C3"
+T1 0 0 300 300 1800 50 N I 21 N"10u"
+DS -1000 -450 -1100 -450 50 21
+DS -1100 -450 -1100 450 50 21
+DS -1100 450 -1000 450 50 21
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms_pol.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206POL
+$MODULE SO8E
+Po 31400 27000 2700 15 42806F54 4F6E2821 ~~
+Li SO8E
+Cd module CMS SOJ 8 pins etroit
+Kw CMS SOJ
+Sc 4F6E2821
+AR /4F6E139C
+Op 0 0 0
+At SMD
+T0 0 -350 450 450 2700 60 N V 21 N"U2"
+T1 0 400 350 350 2700 60 N V 21 N"LM75"
+DS -1050 700 -1050 750 50 21
+DS -1050 750 1050 750 50 21
+DS 1050 -750 -1050 -750 50 21
+DS -1050 -750 -1050 700 50 21
+DS -1050 -200 -850 -200 50 21
+DS -850 -200 -850 200 50 21
+DS -850 200 -1050 200 50 21
+DS 1050 -750 1050 750 50 21
+$PAD
+Sh "8" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po -750 -1050
+$EndPAD
+$PAD
+Sh "1" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 7 "N-000018"
+Po -750 1050
+$EndPAD
+$PAD
+Sh "7" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po -250 -1050
+$EndPAD
+$PAD
+Sh "6" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 250 -1050
+$EndPAD
+$PAD
+Sh "5" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po 750 -1050
+$EndPAD
+$PAD
+Sh "2" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 9 "N-000021"
+Po -250 1050
+$EndPAD
+$PAD
+Sh "3" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 250 1050
+$EndPAD
+$PAD
+Sh "4" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 750 1050
+$EndPAD
+$SHAPE3D
+Na "smd/cms_so8.wrl"
+Sc 0.500000 0.320000 0.500000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SO8E
+$MODULE TQFP32
+Po 24800 22200 900 15 43A670DA 4F6E2823 ~~
+Li TQFP32
+Sc 4F6E2823
+AR /4D41ACFD
+Op 0 0 0
+T0 0 -500 500 400 900 80 N V 21 N"U1"
+T1 0 750 500 400 900 80 N V 21 N"AT90USB162"
+DS 1980 1090 1530 1090 60 21
+DS 1980 -1090 1540 -1090 60 21
+DS 1980 1090 1980 -1090 60 21
+DS 1100 1560 1100 1990 60 21
+DS -1110 1570 -1110 1990 60 21
+DS -1120 1990 1100 2000 60 21
+DS -1100 -1980 1070 -1990 60 21
+DS -1530 -1290 -1530 1540 60 21
+DS 1080 -1980 1080 -1570 60 21
+DS -1280 -1530 1500 -1530 60 21
+DS 1520 1550 1520 -1490 60 21
+DS -1530 1550 1470 1550 60 21
+DS -1980 -1120 -1980 1100 60 21
+DS -1980 1100 -1530 1100 60 21
+DS -1526 -1300 -1296 -1530 60 21
+DS -1978 -1120 -1526 -1120 60 21
+DS -1100 -1530 -1100 -1982 60 21
+DC -1118 -1126 -958 -1026 60 21
+$PAD
+Sh "8" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1896 1093
+$EndPAD
+$PAD
+Sh "7" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 7 "N-000018"
+Po -1896 778
+$EndPAD
+$PAD
+Sh "6" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 9 "N-000021"
+Po -1896 463
+$EndPAD
+$PAD
+Sh "5" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1896 148
+$EndPAD
+$PAD
+Sh "4" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -1896 -167
+$EndPAD
+$PAD
+Sh "3" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po -1896 -482
+$EndPAD
+$PAD
+Sh "2" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 27 "N-000039"
+Po -1896 -797
+$EndPAD
+$PAD
+Sh "1" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 10 "N-000022"
+Po -1896 -1112
+$EndPAD
+$PAD
+Sh "24" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 20 "N-000032"
+Po 1870 -1110
+$EndPAD
+$PAD
+Sh "17" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 16 "N-000028"
+Po 1870 1100
+$EndPAD
+$PAD
+Sh "18" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 17 "N-000029"
+Po 1870 780
+$EndPAD
+$PAD
+Sh "19" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 460
+$EndPAD
+$PAD
+Sh "20" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 150
+$EndPAD
+$PAD
+Sh "21" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 -170
+$EndPAD
+$PAD
+Sh "22" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 -480
+$EndPAD
+$PAD
+Sh "23" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 -800
+$EndPAD
+$PAD
+Sh "32" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1112 -1900
+$EndPAD
+$PAD
+Sh "31" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -798 -1900
+$EndPAD
+$PAD
+Sh "30" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 15 "N-000027"
+Po -482 -1900
+$EndPAD
+$PAD
+Sh "29" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 14 "N-000026"
+Po -168 -1900
+$EndPAD
+$PAD
+Sh "28" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 148 -1900
+$EndPAD
+$PAD
+Sh "27" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 11 "N-000023"
+Po 462 -1900
+$EndPAD
+$PAD
+Sh "26" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 778 -1900
+$EndPAD
+$PAD
+Sh "25" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1092 -1900
+$EndPAD
+$PAD
+Sh "9" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 25 "N-000037"
+Po -1110 1880
+$EndPAD
+$PAD
+Sh "10" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 8 "N-000020"
+Po -800 1880
+$EndPAD
+$PAD
+Sh "11" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 24 "N-000036"
+Po -480 1880
+$EndPAD
+$PAD
+Sh "12" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 18 "N-000030"
+Po -170 1880
+$EndPAD
+$PAD
+Sh "13" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 23 "N-000035"
+Po 140 1880
+$EndPAD
+$PAD
+Sh "14" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 19 "N-000031"
+Po 460 1880
+$EndPAD
+$PAD
+Sh "15" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 22 "N-000034"
+Po 780 1880
+$EndPAD
+$PAD
+Sh "16" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 21 "N-000033"
+Po 1100 1880
+$EndPAD
+$SHAPE3D
+Na "smd/tqfp32.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE TQFP32
+$MODULE pin_array_4x2
+Po 31800 22400 2700 15 3FAB90E6 4F6E280B ~~
+Li pin_array_4x2
+Cd Double rangee de contacts 2 x 4 pins
+Kw CONN
+Sc 4F6E280B
+AR /4DCFB290
+Op 0 0 0
+T0 0 -1500 400 400 2700 80 N V 21 N"P2"
+T1 0 1500 400 400 2700 80 N I 21 N"EXPANSION"
+DS -2000 -1000 2000 -1000 120 21
+DS 2000 -1000 2000 1000 120 21
+DS 2000 1000 -2000 1000 120 21
+DS -2000 1000 -2000 -1000 120 21
+$PAD
+Sh "1" R 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 3 "GND"
+Po -1500 500
+$EndPAD
+$PAD
+Sh "2" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 19 "N-000031"
+Po -1500 -500
+$EndPAD
+$PAD
+Sh "3" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 23 "N-000035"
+Po -500 500
+$EndPAD
+$PAD
+Sh "4" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 18 "N-000030"
+Po -500 -500
+$EndPAD
+$PAD
+Sh "5" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 24 "N-000036"
+Po 500 500
+$EndPAD
+$PAD
+Sh "6" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 8 "N-000020"
+Po 500 -500
+$EndPAD
+$PAD
+Sh "7" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 25 "N-000037"
+Po 1500 500
+$EndPAD
+$PAD
+Sh "8" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 28 "VCC"
+Po 1500 -500
+$EndPAD
+$SHAPE3D
+Na "pin_array/pins_array_4x2.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE pin_array_4x2
+$MODULE SM1206
+Po 22400 27800 0 15 42806E24 4F6E2806 ~~
+Li SM1206
+Sc 4F6E2806
+AR /4D41AD3C
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"C1"
+T1 0 0 300 300 0 50 N I 21 N"1u"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 11 "N-000023"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE TO220-TRIAC
+Po 32800 15200 1800 15 4F6E38F2 4F6E2822 ~~
+Li TO220-TRIAC
+Cd Transistor TO 220
+Kw TR TO220 DEV
+Sc 4F6E2822
+AR /4F6E10B7
+Op 0 0 0
+T0 2750 0 400 400 2700 80 N V 21 N"U3"
+T1 4250 0 400 400 2700 80 N V 21 N"TRIAC"
+DS 0 -1000 2000 -1000 120 21
+DS 0 0 2000 0 120 21
+DS 0 1000 2000 1000 120 21
+DS 2000 2000 8000 2000 120 21
+DS 8000 2000 8000 -2000 120 21
+DS 8000 -2000 2000 -2000 120 21
+DS 2000 -2000 2000 2000 120 21
+DS 5000 1500 5000 -2000 120 21
+DS 5000 1500 5000 2000 120 21
+$PAD
+Sh "3" R 900 900 0 0 1800
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 6 "N-000014"
+Po 0 1000
+$EndPAD
+$PAD
+Sh "1" C 900 900 0 0 1800
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 2 "/hot2"
+Po 0 -1000
+$EndPAD
+$PAD
+Sh "2" C 900 900 0 0 1800
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 1 "/hot1"
+Po 0 0
+$EndPAD
+$PAD
+Sh "4" R 3500 3500 0 0 1800
+Dr 1200 0 0
+At STD N 00F0FFFF
+Ne 0 ""
+Po 6500 0
+$EndPAD
+$SHAPE3D
+Na "discret/to220_horiz.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE TO220-TRIAC
+$TEXTPCB
+Te "Rev A"
+Po 41500 20600 600 800 120 900
+De 15 1 0 Normal
+$EndTEXTPCB
+$TEXTPCB
+Te "Bitraf 2012"
+Po 21100 29900 400 800 75 0
+De 15 1 0 Normal
+$EndTEXTPCB
+$DRAWSEGMENT
+Po 0 19000 49000 19000 12500 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 42500 30800 19000 30800 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 42500 12500 42500 49000 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 19000 12500 42500 12500 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$TRACK
+Po 0 33550 17600 33550 18800 158 -1
+De 15 0 1 0 C00
+Po 0 32200 17600 33550 17600 158 -1
+De 15 0 1 0 400
+Po 0 31800 17200 32200 17600 158 -1
+De 15 0 1 0 0
+Po 0 31800 15800 31800 17200 158 -1
+De 15 0 1 0 0
+Po 0 32400 15200 31800 15800 158 -1
+De 15 0 1 0 0
+Po 0 32800 15200 32400 15200 158 -1
+De 15 0 1 0 800
+Po 0 39000 15200 40400 13800 800 -1
+De 15 0 1 0 400
+Po 0 32800 15200 39000 15200 800 -1
+De 15 0 1 0 800
+Po 0 38600 17600 40000 16200 158 -1
+De 15 0 2 0 0
+Po 0 37250 17600 38600 17600 158 -1
+De 15 0 2 0 800
+Po 0 40000 16200 40400 15800 158 -1
+De 15 0 2 0 400
+Po 0 32800 16200 40000 16200 800 -1
+De 15 0 2 0 800
+Po 0 40000 16200 40400 15800 800 -1
+De 15 0 2 0 400
+Po 0 20128 22100 20100 22100 157 -1
+De 15 0 3 0 0
+Po 0 20100 22100 20128 22100 157 -1
+De 15 0 3 0 0
+Po 0 20128 27886 20128 27928 158 -1
+De 15 0 3 0 0
+Po 0 20128 22100 20128 27886 158 -1
+De 15 0 3 0 0
+Po 0 22900 29100 24345 30545 157 -1
+De 15 0 3 0 0
+Po 0 21300 29100 22900 29100 157 -1
+De 15 0 3 0 0
+Po 0 20128 27928 21300 29100 157 -1
+De 15 0 3 0 0
+Po 0 22900 22052 21748 22052 157 -1
+De 15 0 3 0 800
+Po 0 19600 22100 20128 22100 157 -1
+De 15 0 3 0 0
+Po 3 19600 22100 19600 22100 700 -1
+De 15 1 3 0 0
+Po 0 21700 22100 19600 22100 157 -1
+De 0 0 3 0 0
+Po 3 21700 22100 21700 22100 700 -1
+De 15 1 3 0 0
+Po 0 21748 22052 21700 22100 157 -1
+De 15 0 3 0 0
+Po 0 30350 27750 30735 27750 158 -1
+De 15 0 3 0 800
+Po 0 32835 27250 32835 26750 158 -1
+De 15 0 3 0 0
+Po 0 32450 26750 32583 26750 158 -1
+De 15 0 3 0 800
+Po 0 32583 26750 32835 26750 158 -1
+De 15 0 3 0 0
+Po 0 32450 27250 32775 27250 158 -1
+De 15 0 3 0 800
+Po 0 32775 27250 32835 27250 158 -1
+De 15 0 3 0 0
+Po 0 32835 27250 32993 27408 158 -1
+De 15 0 3 0 0
+Po 0 36150 24800 35920 24800 158 -1
+De 15 0 3 0 800
+Po 0 35920 24800 35690 24800 158 -1
+De 15 0 3 0 0
+Po 0 38400 21950 38400 22560 158 -1
+De 15 0 3 0 800
+Po 0 36581 25461 35920 24800 158 -1
+De 15 0 3 0 0
+Po 0 38151 25461 36581 25461 158 -1
+De 15 0 3 0 0
+Po 0 39090 26400 38151 25461 158 -1
+De 15 0 3 0 0
+Po 0 32993 27986 32993 27408 158 -1
+De 15 0 3 0 0
+Po 0 32948 28031 32993 27986 158 -1
+De 15 0 3 0 0
+Po 0 31016 28031 32948 28031 158 -1
+De 15 0 3 0 0
+Po 0 30735 27750 31016 28031 158 -1
+De 15 0 3 0 0
+Po 0 32545 26250 32771 26250 158 -1
+De 15 0 3 0 0
+Po 0 39543 26400 39090 26400 158 -1
+De 15 0 3 0 0
+Po 0 39543 26400 39550 26400 158 -1
+De 15 0 3 0 400
+Po 0 39550 26400 40010 26400 158 -1
+De 15 0 3 0 800
+Po 0 33082 27408 32993 27408 158 -1
+De 15 0 3 0 0
+Po 0 35690 24800 33082 27408 158 -1
+De 15 0 3 0 0
+Po 0 38400 22560 38400 23571 158 -1
+De 15 0 3 0 0
+Po 0 39090 24261 38400 23571 158 -1
+De 15 0 3 0 0
+Po 0 39090 24800 39090 24261 158 -1
+De 15 0 3 0 0
+Po 0 35450 23571 38400 23571 158 -1
+De 15 0 3 0 0
+Po 0 32771 26250 35450 23571 158 -1
+De 15 0 3 0 0
+Po 0 39550 24800 39090 24800 158 -1
+De 15 0 3 0 800
+Po 0 32771 26562 32771 26250 158 -1
+De 15 0 3 0 0
+Po 0 32583 26750 32771 26562 158 -1
+De 15 0 3 0 0
+Po 0 39134 29341 39074 29281 158 -1
+De 15 0 3 0 0
+Po 0 41466 29341 39134 29341 158 -1
+De 15 0 3 0 0
+Po 0 41511 29296 41466 29341 158 -1
+De 15 0 3 0 0
+Po 0 41511 26084 41511 29296 158 -1
+De 15 0 3 0 0
+Po 0 41266 25839 41511 26084 158 -1
+De 15 0 3 0 0
+Po 0 40111 25839 41266 25839 158 -1
+De 15 0 3 0 0
+Po 0 40010 25940 40111 25839 158 -1
+De 15 0 3 0 0
+Po 0 40010 26400 40010 25940 158 -1
+De 15 0 3 0 0
+Po 0 25051 29341 23510 27800 158 -1
+De 15 0 3 0 0
+Po 0 39014 29341 25051 29341 158 -1
+De 15 0 3 0 0
+Po 0 39074 29281 39014 29341 158 -1
+De 15 0 3 0 0
+Po 0 39074 27564 37910 26400 158 -1
+De 15 0 3 0 0
+Po 0 39074 29281 39074 27564 158 -1
+De 15 0 3 0 0
+Po 0 23050 27800 23510 27800 158 -1
+De 15 0 3 0 800
+Po 0 37450 26400 37910 26400 158 -1
+De 15 0 3 0 800
+Po 0 24318 24599 24318 24096 158 -1
+De 15 0 3 0 400
+Po 0 27469 27750 24318 24599 158 -1
+De 15 0 3 0 0
+Po 0 30350 27750 27469 27750 158 -1
+De 15 0 3 0 800
+Po 0 24318 24096 24318 22052 158 -1
+De 15 0 3 0 800
+Po 0 27400 19641 27400 19100 158 -1
+De 15 0 3 0 400
+Po 0 24989 22052 27400 19641 158 -1
+De 15 0 3 0 0
+Po 0 24318 22052 24989 22052 158 -1
+De 15 0 3 0 0
+Po 0 32450 26250 32485 26250 158 -1
+De 15 0 3 0 800
+Po 0 32485 26250 32545 26250 158 -1
+De 15 0 3 0 0
+Po 0 28879 19658 28879 18917 158 -1
+De 15 0 3 0 0
+Po 0 30121 20900 28879 19658 158 -1
+De 15 0 3 0 0
+Po 0 31300 20900 30121 20900 158 -1
+De 15 0 3 0 800
+Po 0 27640 19100 27400 19100 158 -1
+De 15 0 3 0 400
+Po 0 28179 18561 27640 19100 158 -1
+De 15 0 3 0 0
+Po 0 28523 18561 28179 18561 158 -1
+De 15 0 3 0 0
+Po 0 28879 18917 28523 18561 158 -1
+De 15 0 3 0 0
+Po 0 20954 15224 20954 14246 158 -1
+De 15 0 3 0 400
+Po 0 20128 16050 20954 15224 158 -1
+De 15 0 3 0 0
+Po 0 20128 22100 20128 16050 158 -1
+De 15 0 3 0 0
+Po 0 41081 30545 24345 30545 158 -1
+De 15 0 3 0 0
+Po 0 42200 29426 41081 30545 158 -1
+De 15 0 3 0 0
+Po 0 42200 23586 42200 29426 158 -1
+De 15 0 3 0 0
+Po 0 38970 20356 42200 23586 158 -1
+De 15 0 3 0 0
+Po 0 33136 20356 38970 20356 158 -1
+De 15 0 3 0 0
+Po 0 31341 18561 33136 20356 158 -1
+De 15 0 3 0 0
+Po 0 29235 18561 31341 18561 158 -1
+De 15 0 3 0 0
+Po 0 28879 18917 29235 18561 158 -1
+De 15 0 3 0 0
+Po 0 37250 18800 37400 18950 158 -1
+De 15 0 4 0 400
+Po 0 34850 18800 37250 18800 158 -1
+De 15 0 4 0 800
+Po 0 37400 21950 35780 21950 157 -1
+De 15 0 5 0 800
+Po 0 35780 21950 35010 21180 157 -1
+De 15 0 5 0 400
+Po 0 40850 18950 39400 18950 158 -1
+De 15 0 6 0 400
+Po 0 41600 18200 40850 18950 158 -1
+De 15 0 6 0 0
+Po 0 41600 13600 41600 18200 158 -1
+De 15 0 6 0 0
+Po 0 40800 12800 41600 13600 158 -1
+De 15 0 6 0 0
+Po 0 34200 12800 40800 12800 158 -1
+De 15 0 6 0 0
+Po 0 32800 14200 34200 12800 158 -1
+De 15 0 6 0 800
+Po 0 27203 26250 30350 26250 158 -1
+De 15 0 7 0 400
+Po 0 25578 24625 27203 26250 158 -1
+De 15 0 7 0 0
+Po 0 25578 24096 25578 24625 158 -1
+De 15 0 7 0 800
+Po 0 28994 23000 26680 23000 158 -1
+De 15 0 8 0 400
+Po 0 29433 23439 28994 23000 158 -1
+De 15 0 8 0 0
+Po 0 31761 23439 29433 23439 158 -1
+De 15 0 8 0 0
+Po 0 32300 22900 31761 23439 158 -1
+De 15 0 8 0 800
+Po 0 27364 26750 30350 26750 158 -1
+De 15 0 9 0 400
+Po 0 25263 24649 27364 26750 158 -1
+De 15 0 9 0 0
+Po 0 25263 24096 25263 24649 158 -1
+De 15 0 9 0 800
+Po 0 36150 26400 35920 26400 158 -1
+De 15 0 10 0 800
+Po 0 35920 26400 35690 26400 158 -1
+De 15 0 10 0 0
+Po 0 35920 27680 36500 28260 158 -1
+De 15 0 10 0 0
+Po 0 35920 26400 35920 27680 158 -1
+De 15 0 10 0 0
+Po 0 36500 28800 36500 28260 158 -1
+De 15 0 10 0 800
+Po 0 23688 24666 23688 24096 158 -1
+De 15 0 10 0 400
+Po 0 27787 28765 23688 24666 158 -1
+De 15 0 10 0 0
+Po 0 33325 28765 27787 28765 158 -1
+De 15 0 10 0 0
+Po 0 35690 26400 33325 28765 158 -1
+De 15 0 10 0 0
+Po 0 20929 23155 20929 22071 158 -1
+De 15 0 11 0 0
+Po 0 21290 27800 20929 27439 158 -1
+De 15 0 11 0 0
+Po 0 20929 27439 20929 23155 158 -1
+De 15 0 11 0 0
+Po 0 21750 27800 21290 27800 158 -1
+De 15 0 11 0 800
+Po 0 22200 21500 22438 21738 157 -1
+De 15 0 11 0 0
+Po 0 21500 21500 22200 21500 157 -1
+De 15 0 11 0 0
+Po 0 20929 22071 21500 21500 157 -1
+De 15 0 11 0 0
+Po 0 22900 21738 22438 21738 158 -1
+De 15 0 11 0 800
+Po 0 21466 15624 21466 14246 158 -1
+De 15 0 12 0 400
+Po 0 21200 15890 21466 15624 158 -1
+De 15 0 12 0 0
+Po 0 21200 16350 21200 15890 158 -1
+De 15 0 12 0 800
+Po 0 21722 15212 21722 14246 158 -1
+De 15 0 13 0 400
+Po 0 22400 15890 21722 15212 158 -1
+De 15 0 13 0 0
+Po 0 22400 16350 22400 15890 158 -1
+De 15 0 13 0 800
+Po 0 22900 22368 22346 22368 158 -1
+De 15 0 14 0 800
+Po 0 21200 17650 21200 18110 158 -1
+De 15 0 14 0 800
+Po 0 20690 18620 21200 18110 158 -1
+De 15 0 14 0 0
+Po 0 20690 27719 20690 18620 158 -1
+De 15 0 14 0 0
+Po 0 21342 28371 20690 27719 158 -1
+De 15 0 14 0 0
+Po 0 22190 28371 21342 28371 158 -1
+De 15 0 14 0 0
+Po 0 22210 28351 22190 28371 158 -1
+De 15 0 14 0 0
+Po 0 22210 27270 22210 28351 158 -1
+De 15 0 14 0 0
+Po 0 21707 26767 22210 27270 158 -1
+De 15 0 14 0 0
+Po 0 21321 26767 21707 26767 158 -1
+De 15 0 14 0 0
+Po 0 21276 26722 21321 26767 158 -1
+De 15 0 14 0 0
+Po 0 21276 23438 21276 26722 158 -1
+De 15 0 14 0 0
+Po 0 22346 22368 21276 23438 158 -1
+De 15 0 14 0 0
+Po 0 22400 19800 22400 19900 157 -1
+De 15 0 15 0 0
+Po 0 22400 17650 22400 19800 157 -1
+De 15 0 15 0 800
+Po 0 23318 22682 22900 22682 157 -1
+De 15 0 15 0 400
+Po 0 23500 22500 23500 21000 157 -1
+De 15 0 15 0 0
+Po 0 23318 22682 23500 22500 157 -1
+De 15 0 15 0 0
+Po 0 23000 20500 23500 21000 157 -1
+De 15 0 15 0 0
+Po 0 22400 19900 23000 20500 157 -1
+De 15 0 15 0 0
+Po 0 25900 20330 25900 20300 157 -1
+De 15 0 16 0 800
+Po 0 30400 18100 29400 18100 157 -1
+De 15 0 16 0 400
+Po 0 30500 18000 30400 18100 157 -1
+De 15 0 16 0 0
+Po 3 30500 18000 30500 18000 700 -1
+De 15 1 16 0 0
+Po 0 30500 19800 30500 18000 157 -1
+De 0 0 16 0 0
+Po 0 26400 19800 30500 19800 157 -1
+De 0 0 16 0 0
+Po 3 26400 19800 26400 19800 700 -1
+De 15 1 16 0 0
+Po 0 25900 20300 26400 19800 157 -1
+De 15 0 16 0 0
+Po 0 35010 19880 33780 19880 157 -1
+De 15 0 17 0 800
+Po 0 25580 19020 25600 19000 157 -1
+De 15 0 17 0 0
+Po 3 25600 19000 25600 19000 700 -1
+De 15 1 17 0 0
+Po 0 25580 19020 25580 20330 157 -1
+De 15 0 17 0 400
+Po 0 25600 20200 25600 19000 157 -1
+De 0 0 17 0 0
+Po 0 26900 21500 25600 20200 157 -1
+De 0 0 17 0 0
+Po 0 29800 21500 26900 21500 157 -1
+De 0 0 17 0 0
+Po 0 31200 20100 29800 21500 157 -1
+De 0 0 17 0 0
+Po 0 33400 20100 31200 20100 157 -1
+De 0 0 17 0 0
+Po 0 33700 19800 33400 20100 157 -1
+De 0 0 17 0 0
+Po 3 33700 19800 33700 19800 700 -1
+De 15 1 17 0 0
+Po 0 33780 19880 33700 19800 157 -1
+De 15 0 17 0 0
+Po 0 31830 22370 26680 22370 158 -1
+De 15 0 18 0 400
+Po 0 32300 21900 31830 22370 158 -1
+De 15 0 18 0 800
+Po 0 31761 21439 32300 20900 158 -1
+De 15 0 19 0 400
+Po 0 29018 21439 31761 21439 158 -1
+De 15 0 19 0 0
+Po 0 28717 21740 29018 21439 158 -1
+De 15 0 19 0 0
+Po 0 26680 21740 28717 21740 158 -1
+De 15 0 19 0 800
+Po 0 23690 20330 23690 20790 157 -1
+De 15 0 20 0 800
+Po 0 23050 23950 23050 26200 157 -1
+De 15 0 20 0 400
+Po 0 23800 23200 23050 23950 157 -1
+De 15 0 20 0 0
+Po 0 23800 20900 23800 23200 157 -1
+De 15 0 20 0 0
+Po 0 23690 20790 23800 20900 157 -1
+De 15 0 20 0 0
+Po 0 23690 20330 23690 20053 158 -1
+De 15 0 20 0 800
+Po 0 27400 18100 23690 18100 158 -1
+De 15 0 20 0 800
+Po 0 23690 20053 23690 18100 158 -1
+De 15 0 20 0 0
+Po 0 27233 20267 28400 19100 158 -1
+De 15 0 21 0 400
+Po 0 27233 21100 27233 20267 158 -1
+De 15 0 21 0 0
+Po 0 26680 21100 27233 21100 158 -1
+De 15 0 21 0 800
+Po 0 28400 18100 28400 17900 157 -1
+De 15 0 22 0 800
+Po 0 27880 21420 26680 21420 157 -1
+De 15 0 22 0 400
+Po 0 28400 20900 27880 21420 157 -1
+De 15 0 22 0 0
+Po 3 28400 20900 28400 20900 700 -1
+De 15 1 22 0 0
+Po 0 29900 20900 28400 20900 157 -1
+De 0 0 22 0 0
+Po 0 30900 19900 29900 20900 157 -1
+De 0 0 22 0 0
+Po 0 30900 18600 30900 19900 157 -1
+De 0 0 22 0 0
+Po 0 31500 18000 30900 18600 157 -1
+De 0 0 22 0 0
+Po 3 31500 18000 31500 18000 700 -1
+De 15 1 22 0 0
+Po 0 30900 17400 31500 18000 157 -1
+De 15 0 22 0 0
+Po 0 28900 17400 30900 17400 157 -1
+De 15 0 22 0 0
+Po 0 28400 17900 28900 17400 157 -1
+De 15 0 22 0 0
+Po 0 31140 22060 26680 22060 158 -1
+De 15 0 23 0 400
+Po 0 31300 21900 31140 22060 158 -1
+De 15 0 23 0 800
+Po 0 31080 22680 26680 22680 158 -1
+De 15 0 24 0 400
+Po 0 31300 22900 31080 22680 158 -1
+De 15 0 24 0 800
+Po 0 26680 23310 27233 23310 158 -1
+De 15 0 25 0 800
+Po 0 27823 23900 27233 23310 158 -1
+De 15 0 25 0 0
+Po 0 31300 23900 27823 23900 158 -1
+De 15 0 25 0 800
+Po 0 35950 17600 34850 17600 158 -1
+De 15 0 26 0 C00
+Po 0 40300 28800 40300 28530 158 -1
+De 15 0 27 0 800
+Po 0 40850 26400 40390 26400 158 -1
+De 15 0 27 0 800
+Po 0 40300 28530 40300 27359 158 -1
+De 15 0 27 0 0
+Po 0 40300 26490 40390 26400 158 -1
+De 15 0 27 0 0
+Po 0 40300 27359 40300 26490 158 -1
+De 15 0 27 0 0
+Po 0 24003 24623 24003 24096 158 -1
+De 15 0 27 0 400
+Po 0 27901 28521 24003 24623 158 -1
+De 15 0 27 0 0
+Po 0 33030 28521 27901 28521 158 -1
+De 15 0 27 0 0
+Po 0 35712 25839 33030 28521 158 -1
+De 15 0 27 0 0
+Po 0 37879 25839 35712 25839 158 -1
+De 15 0 27 0 0
+Po 0 39399 27359 37879 25839 158 -1
+De 15 0 27 0 0
+Po 0 40300 27359 39399 27359 158 -1
+De 15 0 27 0 0
+Po 0 37450 24800 37910 24800 158 -1
+De 15 0 28 0 800
+Po 0 40623 24800 40390 24800 158 -1
+De 15 0 28 0 0
+Po 0 32450 27750 32065 27750 158 -1
+De 15 0 28 0 800
+Po 0 22900 22998 22346 22998 158 -1
+De 15 0 28 0 800
+Po 0 21750 26200 22210 26200 158 -1
+De 15 0 28 0 800
+Po 0 24633 24096 24633 23542 158 -1
+De 15 0 28 0 800
+Po 0 27645 25062 32065 25062 158 -1
+De 15 0 28 0 0
+Po 0 26125 23542 27645 25062 158 -1
+De 15 0 28 0 0
+Po 0 24633 23542 26125 23542 158 -1
+De 15 0 28 0 0
+Po 0 32065 25062 32065 27750 158 -1
+De 15 0 28 0 0
+Po 0 32065 24135 32300 23900 158 -1
+De 15 0 28 0 400
+Po 0 32065 25062 32065 24135 158 -1
+De 15 0 28 0 0
+Po 0 22346 26064 22210 26200 158 -1
+De 15 0 28 0 0
+Po 0 22346 22998 22346 26064 158 -1
+De 15 0 28 0 0
+Po 0 40390 24937 40390 24800 158 -1
+De 15 0 28 0 0
+Po 0 39966 25361 40390 24937 158 -1
+De 15 0 28 0 0
+Po 0 38471 25361 39966 25361 158 -1
+De 15 0 28 0 0
+Po 0 37910 24800 38471 25361 158 -1
+De 15 0 28 0 0
+Po 0 40623 24800 40850 24800 158 -1
+De 15 0 28 0 400
+Po 0 40850 24800 41310 24800 158 -1
+De 15 0 28 0 800
+Po 0 22590 26580 22590 28350 158 -1
+De 15 0 28 0 0
+Po 0 22210 26200 22590 26580 158 -1
+De 15 0 28 0 0
+Po 0 24497 30257 22590 28350 158 -1
+De 15 0 28 0 0
+Po 0 41030 30257 24497 30257 158 -1
+De 15 0 28 0 0
+Po 0 41751 29536 41030 30257 158 -1
+De 15 0 28 0 0
+Po 0 41751 25241 41751 29536 158 -1
+De 15 0 28 0 0
+Po 0 41310 24800 41751 25241 158 -1
+De 15 0 28 0 0
+Po 0 21978 14958 21978 14245 158 -1
+De 15 0 28 0 400
+Po 0 22961 15941 21978 14958 158 -1
+De 15 0 28 0 0
+Po 0 22961 16769 22961 15941 158 -1
+De 15 0 28 0 0
+Po 0 22556 17174 22961 16769 158 -1
+De 15 0 28 0 0
+Po 0 20568 17174 22556 17174 158 -1
+De 15 0 28 0 0
+Po 0 20382 17360 20568 17174 158 -1
+De 15 0 28 0 0
+Po 0 20382 27801 20382 17360 158 -1
+De 15 0 28 0 0
+Po 0 21400 28819 20382 27801 158 -1
+De 15 0 28 0 0
+Po 0 22121 28819 21400 28819 158 -1
+De 15 0 28 0 0
+Po 0 22590 28350 22121 28819 158 -1
+De 15 0 28 0 0
+Po 0 40390 23780 40390 24800 158 -1
+De 15 0 28 0 0
+Po 0 38900 22290 40390 23780 158 -1
+De 15 0 28 0 0
+Po 0 38900 21384 38900 22290 158 -1
+De 15 0 28 0 0
+Po 0 38229 20713 38900 21384 158 -1
+De 15 0 28 0 0
+Po 0 32771 20713 38229 20713 158 -1
+De 15 0 28 0 0
+Po 0 32771 23429 32771 20713 158 -1
+De 15 0 28 0 0
+Po 0 32300 23900 32771 23429 158 -1
+De 15 0 28 0 800
+Po 0 31158 19100 29400 19100 158 -1
+De 15 0 28 0 400
+Po 0 32771 20713 31158 19100 158 -1
+De 15 0 28 0 0
+$EndTRACK
+$ZONE
+$EndZONE
+$CZONE_OUTLINE
+ZInfo 4F6E4273 0 ""
+ZLayer 15
+ZAux 4 E
+ZClearance 200 I
+ZMinThickness 100
+ZOptions 1 16 F 200 200
+ZCorner 42500 30700 0
+ZCorner 42500 12500 0
+ZCorner 19100 12500 0
+ZCorner 19100 30700 1
+$POLYSCORNERS
+42225 30525 0 0
+42225 29866 0 0
+41566 30525 1 0
+23081 30525 0 0
+23861 30525 0 0
+23081 29745 1 0
+40893 29928 0 0
+41151 29670 0 0
+39134 29670 0 0
+39133 29669 0 0
+39133 29670 0 0
+39112 29665 0 0
+39075 29658 0 0
+39014 29671 0 0
+39009 29670 0 0
+25051 29670 0 0
+24925 29645 0 0
+24818 29574 0 0
+24816 29571 0 0
+23568 28323 0 0
+23561 28341 0 0
+23491 28411 0 0
+23399 28449 0 0
+23154 28449 0 0
+24633 29928 1 0
+20765 29029 0 0
+19900 28164 0 0
+19895 28161 0 0
+19824 28054 0 0
+19799 27928 0 0
+19799 27886 0 0
+19799 22665 0 0
+19719 22699 0 0
+19481 22699 0 0
+19275 22613 0 0
+19275 29029 1 0
+38745 29012 0 0
+38745 27701 0 0
+37968 26924 0 0
+37961 26941 0 0
+37891 27011 0 0
+37799 27049 0 0
+37100 27049 0 0
+37009 27011 0 0
+36939 26941 0 0
+36901 26849 0 0
+36901 26168 0 0
+36699 26168 0 0
+36699 26850 0 0
+36661 26941 0 0
+36591 27011 0 0
+36499 27049 0 0
+36249 27049 0 0
+36249 27543 0 0
+36730 28025 0 0
+36733 28027 0 0
+36804 28134 0 0
+36811 28171 0 0
+37600 28171 0 0
+37691 28209 0 0
+37761 28279 0 0
+37799 28371 0 0
+37799 29012 1 0
+35201 29012 0 0
+35201 28370 0 0
+35239 28279 0 0
+35309 28209 0 0
+35401 28171 0 0
+35945 28171 0 0
+35687 27913 0 0
+35616 27806 0 0
+35590 27680 0 0
+35591 27675 0 0
+35591 26964 0 0
+33558 28998 0 0
+33536 29012 1 0
+27575 29012 0 0
+27554 28998 0 0
+27552 28995 0 0
+23455 24899 0 0
+23384 24792 0 0
+23378 24762 0 0
+23378 25551 0 0
+23400 25551 0 0
+23491 25589 0 0
+23561 25659 0 0
+23599 25751 0 0
+23599 26650 0 0
+23561 26741 0 0
+23491 26811 0 0
+23399 26849 0 0
+22919 26849 0 0
+22919 27151 0 0
+23400 27151 0 0
+23491 27189 0 0
+23561 27259 0 0
+23599 27351 0 0
+23599 27488 0 0
+23636 27496 0 0
+23743 27567 0 0
+25187 29012 1 0
+30711 28192 0 0
+30618 28099 0 0
+30075 28099 0 0
+30027 28079 0 0
+27924 28079 0 0
+28037 28192 1 0
+41182 28171 0 0
+41182 27049 0 0
+40629 27049 0 0
+40629 27359 0 0
+40629 28171 1 0
+39971 28171 0 0
+39971 27688 0 0
+39403 27688 0 0
+39403 28171 1 0
+33322 27763 0 0
+35477 25608 0 0
+35479 25606 0 0
+35586 25535 0 0
+35685 25515 0 0
+35711 25510 0 0
+35711 25510 0 0
+35712 25510 0 0
+36164 25510 0 0
+36103 25449 0 0
+35800 25449 0 0
+35709 25411 0 0
+35639 25341 0 0
+35631 25323 0 0
+33322 27633 1 0
+31736 27702 0 0
+31736 25391 0 0
+27645 25391 0 0
+27519 25366 0 0
+27412 25295 0 0
+27410 25292 0 0
+26230 24112 0 0
+26230 24539 0 0
+26192 24630 0 0
+26122 24700 0 0
+26119 24700 0 0
+27340 25921 0 0
+30027 25921 0 0
+30076 25901 0 0
+30625 25901 0 0
+30716 25939 0 0
+30786 26009 0 0
+30824 26101 0 0
+30824 26400 0 0
+30786 26491 0 0
+30776 26499 0 0
+30786 26509 0 0
+30824 26601 0 0
+30824 26900 0 0
+30786 26991 0 0
+30777 27000 0 0
+30786 27009 0 0
+30824 27101 0 0
+30824 27400 0 0
+30809 27435 0 0
+30861 27446 0 0
+30968 27517 0 0
+31152 27702 1 0
+29885 27421 0 0
+29876 27399 0 0
+29876 27100 0 0
+29884 27079 0 0
+27364 27079 0 0
+27239 27054 0 0
+27606 27421 1 0
+21258 27240 0 0
+21309 27189 0 0
+21401 27151 0 0
+21625 27151 0 0
+21570 27096 0 0
+21321 27096 0 0
+21258 27083 1 0
+39971 27030 0 0
+39971 27019 0 0
+39945 27030 1 0
+33164 26860 0 0
+35455 24569 0 0
+35457 24567 0 0
+35564 24496 0 0
+35601 24488 0 0
+35601 24350 0 0
+35639 24259 0 0
+35709 24189 0 0
+35801 24151 0 0
+36500 24151 0 0
+36591 24189 0 0
+36661 24259 0 0
+36699 24351 0 0
+36699 25113 0 0
+36717 25132 0 0
+36901 25132 0 0
+36901 24350 0 0
+36939 24259 0 0
+37009 24189 0 0
+37101 24151 0 0
+37800 24151 0 0
+37891 24189 0 0
+37961 24259 0 0
+37999 24351 0 0
+37999 24488 0 0
+38036 24496 0 0
+38143 24567 0 0
+38607 25032 0 0
+38856 25032 0 0
+38786 24926 0 0
+38761 24800 0 0
+38761 24397 0 0
+38263 23900 0 0
+35586 23900 0 0
+33100 26386 0 0
+33100 26562 0 0
+33099 26562 0 0
+33100 26563 0 0
+33099 26564 0 0
+33139 26624 0 0
+33164 26750 1 0
+22261 26855 0 0
+22261 26741 0 0
+22203 26798 1 0
+32654 25901 0 0
+35215 23340 0 0
+35217 23338 0 0
+35324 23267 0 0
+35450 23242 0 0
+38071 23242 0 0
+38071 22560 0 0
+38071 22550 0 0
+37959 22438 0 0
+37959 22450 0 0
+37921 22541 0 0
+37851 22611 0 0
+37759 22649 0 0
+37040 22649 0 0
+36949 22611 0 0
+36879 22541 0 0
+36841 22449 0 0
+36841 22278 0 0
+35780 22278 0 0
+35654 22253 0 0
+35548 22182 0 0
+35547 22181 0 0
+35547 22181 0 0
+35095 21729 0 0
+34560 21729 0 0
+34469 21691 0 0
+34399 21621 0 0
+34361 21529 0 0
+34361 21042 0 0
+33100 21042 0 0
+33100 23429 0 0
+33075 23555 0 0
+33004 23662 0 0
+32849 23817 0 0
+32849 24009 0 0
+32765 24211 0 0
+32611 24365 0 0
+32409 24449 0 0
+32394 24449 0 0
+32394 25062 0 0
+32394 25901 1 0
+39031 25876 0 0
+39039 25859 0 0
+39109 25789 0 0
+39201 25751 0 0
+39747 25750 0 0
+39777 25707 0 0
+39794 25690 0 0
+38845 25690 1 0
+22675 25561 0 0
+22701 25551 0 0
+22722 25551 0 0
+22722 23950 0 0
+22747 23824 0 0
+22818 23718 0 0
+22887 23649 0 0
+22675 23649 1 0
+41422 25554 0 0
+41422 25377 0 0
+41368 25323 0 0
+41361 25341 0 0
+41291 25411 0 0
+41199 25449 0 0
+40500 25449 0 0
+40409 25411 0 0
+40395 25397 0 0
+40282 25510 0 0
+41261 25510 0 0
+41266 25509 0 0
+41392 25535 1 0
+22017 25551 0 0
+22017 23162 0 0
+21605 23574 0 0
+21605 25551 1 0
+41871 24895 0 0
+41871 23722 0 0
+39949 21800 0 0
+39949 22212 0 0
+39865 22414 0 0
+39711 22568 0 0
+39663 22587 0 0
+40623 23547 0 0
+40694 23654 0 0
+40719 23780 0 0
+40719 24151 0 0
+41200 24151 0 0
+41291 24189 0 0
+41361 24259 0 0
+41399 24351 0 0
+41399 24488 0 0
+41436 24496 0 0
+41543 24567 1 0
+24958 24773 0 0
+24951 24738 0 0
+24923 24738 1 0
+31736 24733 0 0
+31736 24240 0 0
+31611 24365 0 0
+31409 24449 0 0
+31191 24449 0 0
+30989 24365 0 0
+30853 24229 0 0
+27823 24229 0 0
+27697 24204 0 0
+27590 24133 0 0
+27588 24130 0 0
+27104 23647 0 0
+26695 23647 0 0
+27781 24733 1 0
+40061 24259 0 0
+40061 23917 0 0
+38729 22585 0 0
+38729 23434 0 0
+39320 24026 0 0
+39323 24028 0 0
+39394 24135 0 0
+39397 24151 0 0
+39900 24151 0 0
+39991 24189 1 0
+29099 23571 0 0
+28857 23329 0 0
+27717 23329 0 0
+27959 23571 1 0
+26038 23213 0 0
+26038 23172 0 0
+26045 23154 0 0
+26038 23137 0 0
+26038 22862 0 0
+26047 22839 0 0
+26038 22817 0 0
+26038 22542 0 0
+26045 22524 0 0
+26038 22507 0 0
+26038 22232 0 0
+26045 22214 0 0
+26038 22197 0 0
+26038 21922 0 0
+26047 21899 0 0
+26038 21877 0 0
+26038 21602 0 0
+26047 21579 0 0
+26038 21557 0 0
+26038 21468 0 0
+25222 22285 0 0
+25115 22356 0 0
+24989 22382 0 0
+24984 22381 0 0
+24647 22381 0 0
+24647 23213 1 0
+42225 23145 0 0
+42225 22251 0 0
+41330 22250 1 0
+30793 23110 0 0
+30751 23009 0 0
+29468 23008 0 0
+29569 23109 1 0
+21258 22990 0 0
+21558 22689 0 0
+21361 22608 0 0
+21258 22505 1 0
+24128 21790 0 0
+24192 21748 0 0
+24318 21723 0 0
+24852 21723 0 0
+25603 20972 0 0
+25442 20972 0 0
+25419 20962 0 0
+25397 20972 0 0
+25122 20972 0 0
+25104 20964 0 0
+25087 20972 0 0
+24812 20972 0 0
+24789 20962 0 0
+24767 20972 0 0
+24492 20972 0 0
+24474 20964 0 0
+24457 20972 0 0
+24182 20972 0 0
+24159 20962 0 0
+24137 20972 0 0
+24128 20972 1 0
+36841 21622 0 0
+36841 21450 0 0
+36879 21359 0 0
+36949 21289 0 0
+37041 21251 0 0
+37760 21251 0 0
+37851 21289 0 0
+37921 21359 0 0
+37959 21451 0 0
+37959 21462 0 0
+38089 21332 0 0
+38291 21248 0 0
+38298 21248 0 0
+38092 21042 0 0
+35659 21042 0 0
+35659 21365 0 0
+35916 21622 1 0
+19275 21586 0 0
+19481 21501 0 0
+19719 21501 0 0
+19799 21534 0 0
+19799 16054 0 0
+19798 16050 0 0
+19824 15924 0 0
+19895 15817 0 0
+20625 15087 0 0
+20625 14765 0 0
+20212 14765 0 0
+20121 14727 0 0
+20051 14657 0 0
+20013 14565 0 0
+20013 13822 0 0
+19805 13822 0 0
+19714 13784 0 0
+19644 13714 0 0
+19606 13622 0 0
+19606 12775 0 0
+19275 12775 1 0
+21019 21517 0 0
+21268 21268 0 0
+21374 21197 0 0
+21500 21172 0 0
+22200 21172 0 0
+22258 21183 0 0
+22258 20970 0 0
+22296 20879 0 0
+22366 20809 0 0
+22458 20771 0 0
+22807 20771 0 0
+22767 20731 0 0
+22168 20132 0 0
+22097 20026 0 0
+22072 19900 0 0
+22072 19800 0 0
+22072 18199 0 0
+21950 18199 0 0
+21859 18161 0 0
+21799 18102 0 0
+21741 18161 0 0
+21649 18199 0 0
+21511 18199 0 0
+21504 18236 0 0
+21433 18343 0 0
+21430 18344 0 0
+21019 18756 1 0
+40560 21480 0 0
+40560 19279 0 0
+39921 19279 0 0
+39865 19414 0 0
+39711 19568 0 0
+39509 19652 0 0
+39291 19652 0 0
+39089 19568 0 0
+38935 19414 0 0
+38900 19329 0 0
+38865 19414 0 0
+38711 19568 0 0
+38509 19652 0 0
+38291 19652 0 0
+38089 19568 0 0
+37935 19414 0 0
+37900 19329 0 0
+37865 19414 0 0
+37711 19568 0 0
+37509 19652 0 0
+37291 19652 0 0
+37089 19568 0 0
+36935 19414 0 0
+36851 19212 0 0
+36851 19129 0 0
+35399 19129 0 0
+35399 19250 0 0
+35365 19331 0 0
+35460 19331 0 0
+35551 19369 0 0
+35621 19439 0 0
+35659 19531 0 0
+35659 20027 0 0
+38965 20027 0 0
+38970 20026 0 0
+39096 20052 0 0
+39203 20123 1 0
+39208 21282 0 0
+39291 21248 0 0
+39396 21248 0 0
+38833 20684 0 0
+38666 20685 0 0
+39130 21149 0 0
+39133 21151 0 0
+39204 21258 1 0
+28956 21122 0 0
+29018 21110 0 0
+29865 21110 0 0
+28646 19891 0 0
+28575 19784 0 0
+28549 19658 0 0
+28550 19653 0 0
+28550 19631 0 0
+28509 19649 0 0
+28316 19649 0 0
+27562 20403 0 0
+27562 21092 0 0
+27743 21092 0 0
+27805 21030 0 0
+27801 21019 0 0
+27801 20781 0 0
+27892 20561 0 0
+28061 20392 0 0
+28281 20301 0 0
+28519 20301 0 0
+28739 20392 0 0
+28908 20561 0 0
+28999 20781 0 0
+28999 21019 1 0
+26904 20763 0 0
+26904 20602 0 0
+26743 20763 1 0
+31849 20575 0 0
+31989 20435 0 0
+32015 20423 0 0
+31021 19429 0 0
+29847 19429 0 0
+29711 19565 0 0
+29509 19649 0 0
+29335 19649 0 0
+30257 20571 0 0
+30751 20571 0 0
+30751 20550 0 0
+30789 20459 0 0
+30859 20389 0 0
+30951 20351 0 0
+31650 20351 0 0
+31741 20389 0 0
+31811 20459 0 0
+31849 20551 1 0
+23353 20389 0 0
+23353 19887 0 0
+23361 19867 0 0
+23361 18100 0 0
+23386 17974 0 0
+23457 17867 0 0
+23564 17796 0 0
+23690 17771 0 0
+24500 17771 0 1
+24500 17199 0 0
+24409 17161 0 0
+24339 17091 0 0
+24301 16999 0 0
+24301 13400 0 0
+24339 13309 0 0
+24409 13239 0 0
+24501 13201 0 0
+28100 13201 0 0
+28191 13239 0 0
+28261 13309 0 0
+28299 13401 0 0
+28299 17000 0 0
+28261 17091 0 0
+28191 17161 0 0
+28099 17199 0 0
+24500 17199 0 1
+24500 17771 0 0
+26952 17771 0 0
+27089 17635 0 0
+27291 17551 0 0
+27509 17551 0 0
+27711 17635 0 0
+27865 17789 0 0
+27900 17873 0 0
+27935 17789 0 0
+28089 17635 0 0
+28280 17555 0 0
+28668 17168 0 0
+28774 17097 0 0
+28900 17072 0 0
+30900 17072 0 0
+31026 17097 0 0
+31132 17168 0 0
+31369 17405 0 0
+31381 17401 0 0
+31545 17401 0 0
+31496 17326 0 0
+31470 17200 0 0
+31471 17195 0 0
+31471 15804 0 0
+31470 15800 0 0
+31496 15674 0 0
+31567 15567 0 0
+32119 15015 0 0
+32191 14843 0 0
+32139 14791 0 0
+32101 14699 0 0
+32101 13700 0 0
+32139 13609 0 0
+32209 13539 0 0
+32301 13501 0 0
+33033 13501 0 0
+33759 12775 0 0
+23327 12775 0 0
+23328 12776 0 0
+23328 13623 0 0
+23290 13714 0 0
+23220 13784 0 0
+23128 13822 0 0
+22921 13822 0 0
+22921 14566 0 0
+22883 14657 0 0
+22813 14727 0 0
+22721 14765 0 0
+22307 14765 0 0
+22307 14821 0 0
+23194 15708 0 0
+23265 15815 0 0
+23290 15941 0 0
+23290 16769 0 0
+23289 16769 0 0
+23290 16770 0 0
+23265 16895 0 0
+23194 17002 0 0
+23191 17003 0 0
+22998 17196 0 0
+23011 17209 0 0
+23049 17301 0 0
+23049 18000 0 0
+23011 18091 0 0
+22941 18161 0 0
+22849 18199 0 0
+22728 18199 0 0
+22728 19764 0 0
+23232 20268 1 0
+33101 19855 0 0
+33101 19681 0 0
+33192 19461 0 0
+33204 19448 0 0
+33200 19449 0 0
+33109 19411 0 0
+33039 19341 0 0
+33001 19249 0 0
+33001 18350 0 0
+33039 18259 0 0
+33097 18199 0 0
+33039 18141 0 0
+33001 18049 0 0
+33001 17929 0 0
+32200 17929 0 0
+32099 17908 0 0
+32099 18119 0 0
+32008 18339 0 0
+31839 18508 0 0
+31778 18532 1 0
+24790 19697 0 0
+24813 19688 0 0
+25088 19688 0 0
+25105 19695 0 0
+25123 19688 0 0
+25252 19688 0 0
+25252 19499 0 0
+25092 19339 0 0
+25001 19119 0 0
+25001 18881 0 0
+25092 18661 0 0
+25261 18492 0 0
+25413 18429 0 0
+24019 18429 0 0
+24019 19688 0 0
+24138 19688 0 0
+24160 19697 0 0
+24183 19688 0 0
+24458 19688 0 0
+24475 19695 0 0
+24493 19688 0 0
+24768 19688 1 0
+26968 19607 0 0
+27049 19525 0 0
+26935 19411 0 0
+26851 19209 0 0
+26851 18991 0 0
+26935 18789 0 0
+27089 18635 0 0
+27173 18600 0 0
+27089 18565 0 0
+26953 18429 0 0
+25786 18429 0 0
+25939 18492 0 0
+26108 18661 0 0
+26199 18881 0 0
+26199 19119 0 0
+26141 19258 0 0
+26281 19201 0 0
+26519 19201 0 0
+26739 19292 0 0
+26908 19461 1 0
+34361 19552 0 0
+34361 19530 0 0
+34399 19439 0 0
+34421 19416 0 0
+34409 19411 0 0
+34339 19341 0 0
+34301 19249 0 0
+34301 18350 0 0
+34339 18259 0 0
+34398 18200 0 0
+34339 18141 0 0
+34301 18049 0 0
+34301 17150 0 0
+34339 17059 0 0
+34409 16989 0 0
+34501 16951 0 0
+35200 16951 0 0
+35291 16989 0 0
+35361 17059 0 0
+35399 17151 0 0
+35399 17271 0 0
+35401 17271 0 0
+35401 17150 0 0
+35439 17059 0 0
+35509 16989 0 0
+35601 16951 0 0
+36300 16951 0 0
+36391 16989 0 0
+36461 17059 0 0
+36499 17151 0 0
+36499 18050 0 0
+36461 18141 0 0
+36391 18211 0 0
+36299 18249 0 0
+35600 18249 0 0
+35509 18211 0 0
+35439 18141 0 0
+35401 18049 0 0
+35401 17929 0 0
+35399 17929 0 0
+35399 18050 0 0
+35361 18141 0 0
+35302 18200 0 0
+35361 18259 0 0
+35399 18351 0 0
+35399 18471 0 0
+36950 18471 0 0
+37089 18332 0 0
+37288 18249 0 0
+36900 18249 0 0
+36809 18211 0 0
+36739 18141 0 0
+36701 18049 0 0
+36701 17150 0 0
+36739 17059 0 0
+36809 16989 0 0
+36901 16951 0 0
+37600 16951 0 0
+37691 16989 0 0
+37761 17059 0 0
+37799 17151 0 0
+37799 17271 0 0
+38463 17271 0 0
+38884 16850 0 0
+33056 16850 0 0
+32938 16899 0 0
+32660 16899 0 0
+32403 16792 0 0
+32207 16595 0 0
+32129 16405 0 0
+32129 17063 0 0
+32336 17271 0 0
+33001 17271 0 0
+33001 17150 0 0
+33039 17059 0 0
+33109 16989 0 0
+33201 16951 0 0
+33900 16951 0 0
+33991 16989 0 0
+34061 17059 0 0
+34099 17151 0 0
+34099 18050 0 0
+34061 18141 0 0
+34002 18199 0 0
+34061 18259 0 0
+34099 18351 0 0
+34099 19250 0 0
+34068 19321 0 0
+34208 19461 0 0
+34245 19552 1 0
+42225 19069 0 0
+42225 12775 0 0
+41240 12775 0 0
+41830 13365 0 0
+41833 13367 0 0
+41904 13474 0 0
+41929 13600 0 0
+41929 18200 0 0
+41904 18326 0 0
+41833 18433 0 0
+41830 18434 0 0
+41196 19068 1 0
+40713 18621 0 0
+41271 18063 0 0
+41271 13736 0 0
+41030 13495 0 0
+41099 13662 0 0
+41099 13940 0 0
+40992 14197 0 0
+40795 14393 0 0
+40677 14441 0 0
+39569 15550 0 0
+39730 15550 0 0
+39758 15522 0 0
+39808 15403 0 0
+40005 15207 0 0
+40262 15101 0 0
+40540 15101 0 0
+40797 15208 0 0
+40993 15405 0 0
+41099 15662 0 0
+41099 15940 0 0
+40992 16197 0 0
+40795 16393 0 0
+40678 16441 0 0
+40460 16660 0 0
+40249 16801 0 0
+40000 16851 0 0
+39995 16850 0 0
+39815 16850 0 0
+38833 17833 0 0
+38726 17904 0 0
+38600 17930 0 0
+38595 17929 0 0
+37799 17929 0 0
+37799 18050 0 0
+37761 18141 0 0
+37691 18211 0 0
+37599 18249 0 0
+37511 18249 0 0
+37711 18332 0 0
+37865 18486 0 0
+37900 18570 0 0
+37935 18486 0 0
+38089 18332 0 0
+38291 18248 0 0
+38509 18248 0 0
+38711 18332 0 0
+38865 18486 0 0
+38900 18570 0 0
+38935 18486 0 0
+39089 18332 0 0
+39291 18248 0 0
+39509 18248 0 0
+39711 18332 0 0
+39865 18486 0 0
+39921 18621 1 0
+27660 18613 0 0
+27708 18566 0 0
+27626 18600 1 0
+27865 18409 0 0
+27914 18360 0 0
+27900 18326 1 0
+29949 17764 0 0
+29964 17728 0 0
+29939 17728 0 0
+29949 17751 1 0
+20457 16867 0 0
+20568 16845 0 0
+20643 16845 0 0
+20589 16791 0 0
+20551 16699 0 0
+20551 16093 0 0
+20457 16187 1 0
+21843 16845 0 0
+21799 16801 0 0
+21756 16845 1 0
+32129 15992 0 0
+32168 15896 0 0
+32129 15936 1 0
+21799 15898 0 0
+21859 15839 0 0
+21876 15831 0 0
+21774 15729 0 0
+21770 15750 0 0
+21717 15829 0 0
+21741 15839 1 0
+20888 15801 0 0
+20896 15764 0 0
+20927 15716 0 0
+20843 15801 1 0
+38730 14550 0 0
+39758 13522 0 0
+39808 13403 0 0
+40005 13207 0 0
+40194 13129 0 0
+34336 13129 0 0
+33499 13966 0 0
+33499 14550 1 0
+40703 13168 0 0
+40663 13129 0 0
+40607 13129 1 0
+$endPOLYSCORNERS
+$FILLSEGMENTS
+42225 29866 42225 29866
+42145 29946 42225 29946
+42065 30026 42225 30026
+41985 30106 42225 30106
+41905 30186 42225 30186
+41825 30266 42225 30266
+41745 30346 42225 30346
+41665 30426 42225 30426
+41585 30506 42225 30506
+23081 29745 23081 29745
+23081 29825 23161 29825
+23081 29905 23241 29905
+23081 29985 23321 29985
+23081 30065 23401 30065
+23081 30145 23481 30145
+23081 30225 23561 30225
+23081 30305 23641 30305
+23081 30385 23721 30385
+23081 30465 23801 30465
+23568 28323 23568 28323
+23499 28403 23648 28403
+23188 28483 23728 28483
+23268 28563 23808 28563
+23348 28643 23888 28643
+23428 28723 23968 28723
+23508 28803 24048 28803
+23588 28883 24128 28883
+23668 28963 24208 28963
+23748 29043 24288 29043
+23828 29123 24368 29123
+23908 29203 24448 29203
+23988 29283 24528 29283
+24068 29363 24608 29363
+24148 29443 24688 29443
+24228 29523 24768 29523
+24308 29603 24861 29603
+24388 29683 41138 29683
+24468 29763 41058 29763
+24548 29843 40978 29843
+24628 29923 40898 29923
+19275 22613 19275 22613
+19275 22693 19466 22693
+19733 22693 19799 22693
+19275 22773 19799 22773
+19275 22853 19799 22853
+19275 22933 19799 22933
+19275 23013 19799 23013
+19275 23093 19799 23093
+19275 23173 19799 23173
+19275 23253 19799 23253
+19275 23333 19799 23333
+19275 23413 19799 23413
+19275 23493 19799 23493
+19275 23573 19799 23573
+19275 23653 19799 23653
+19275 23733 19799 23733
+19275 23813 19799 23813
+19275 23893 19799 23893
+19275 23973 19799 23973
+19275 24053 19799 24053
+19275 24133 19799 24133
+19275 24213 19799 24213
+19275 24293 19799 24293
+19275 24373 19799 24373
+19275 24453 19799 24453
+19275 24533 19799 24533
+19275 24613 19799 24613
+19275 24693 19799 24693
+19275 24773 19799 24773
+19275 24853 19799 24853
+19275 24933 19799 24933
+19275 25013 19799 25013
+19275 25093 19799 25093
+19275 25173 19799 25173
+19275 25253 19799 25253
+19275 25333 19799 25333
+19275 25413 19799 25413
+19275 25493 19799 25493
+19275 25573 19799 25573
+19275 25653 19799 25653
+19275 25733 19799 25733
+19275 25813 19799 25813
+19275 25893 19799 25893
+19275 25973 19799 25973
+19275 26053 19799 26053
+19275 26133 19799 26133
+19275 26213 19799 26213
+19275 26293 19799 26293
+19275 26373 19799 26373
+19275 26453 19799 26453
+19275 26533 19799 26533
+19275 26613 19799 26613
+19275 26693 19799 26693
+19275 26773 19799 26773
+19275 26853 19799 26853
+19275 26933 19799 26933
+19275 27013 19799 27013
+19275 27093 19799 27093
+19275 27173 19799 27173
+19275 27253 19799 27253
+19275 27333 19799 27333
+19275 27413 19799 27413
+19275 27493 19799 27493
+19275 27573 19799 27573
+19275 27653 19799 27653
+19275 27733 19799 27733
+19275 27813 19799 27813
+19275 27893 19799 27893
+19275 27973 19807 27973
+19275 28053 19823 28053
+19275 28133 19876 28133
+19275 28213 19949 28213
+19275 28293 20029 28293
+19275 28373 20109 28373
+19275 28453 20189 28453
+19275 28533 20269 28533
+19275 28613 20349 28613
+19275 28693 20429 28693
+19275 28773 20509 28773
+19275 28853 20589 28853
+19275 28933 20669 28933
+19275 29013 20749 29013
+36699 26168 36901 26168
+36699 26248 36901 26248
+36699 26328 36901 26328
+36699 26408 36901 26408
+36699 26488 36901 26488
+36699 26568 36901 26568
+36699 26648 36901 26648
+36699 26728 36901 26728
+36699 26808 36901 26808
+36683 26888 36917 26888
+36634 26968 36966 26968
+37934 26968 38012 26968
+36501 27048 37097 27048
+37801 27048 38092 27048
+36249 27128 38172 27128
+36249 27208 38252 27208
+36249 27288 38332 27288
+36249 27368 38412 27368
+36249 27448 38492 27448
+36249 27528 38572 27528
+36314 27608 38652 27608
+36394 27688 38732 27688
+36474 27768 38745 27768
+36554 27848 38745 27848
+36634 27928 38745 27928
+36714 28008 38745 28008
+36774 28088 38745 28088
+36811 28168 38745 28168
+37730 28248 38745 28248
+37782 28328 38745 28328
+37799 28408 38745 28408
+37799 28488 38745 28488
+37799 28568 38745 28568
+37799 28648 38745 28648
+37799 28728 38745 28728
+37799 28808 38745 28808
+37799 28888 38745 28888
+37799 28968 38745 28968
+35591 26964 35591 26964
+35511 27044 35591 27044
+35431 27124 35591 27124
+35351 27204 35591 27204
+35271 27284 35591 27284
+35191 27364 35591 27364
+35111 27444 35591 27444
+35031 27524 35591 27524
+34951 27604 35591 27604
+34871 27684 35590 27684
+34791 27764 35607 27764
+34711 27844 35641 27844
+34631 27924 35698 27924
+34551 28004 35778 28004
+34471 28084 35858 28084
+34391 28164 35938 28164
+34311 28244 35274 28244
+34231 28324 35221 28324
+34151 28404 35201 28404
+34071 28484 35201 28484
+33991 28564 35201 28564
+33911 28644 35201 28644
+33831 28724 35201 28724
+33751 28804 35201 28804
+33671 28884 35201 28884
+33591 28964 35201 28964
+23378 24762 23378 24762
+23378 24842 23417 24842
+23378 24922 23478 24922
+23378 25002 23558 25002
+23378 25082 23638 25082
+23378 25162 23718 25162
+23378 25242 23798 25242
+23378 25322 23878 25322
+23378 25402 23958 25402
+23378 25482 24038 25482
+23427 25562 24118 25562
+23544 25642 24198 25642
+23588 25722 24278 25722
+23599 25802 24358 25802
+23599 25882 24438 25882
+23599 25962 24518 25962
+23599 26042 24598 26042
+23599 26122 24678 26122
+23599 26202 24758 26202
+23599 26282 24838 26282
+23599 26362 24918 26362
+23599 26442 24998 26442
+23599 26522 25078 26522
+23599 26602 25158 26602
+23585 26682 25238 26682
+23540 26762 25318 26762
+23415 26842 25398 26842
+22919 26922 25478 26922
+22919 27002 25558 27002
+22919 27082 25638 27082
+23427 27162 25718 27162
+23544 27242 25798 27242
+23588 27322 25878 27322
+23599 27402 25958 27402
+23599 27482 26038 27482
+23736 27562 26118 27562
+23818 27642 26198 27642
+23898 27722 26278 27722
+23978 27802 26358 27802
+24058 27882 26438 27882
+24138 27962 26518 27962
+24218 28042 26598 28042
+24298 28122 26678 28122
+24378 28202 26758 28202
+24458 28282 26838 28282
+24538 28362 26918 28362
+24618 28442 26998 28442
+24698 28522 27078 28522
+24778 28602 27158 28602
+24858 28682 27238 28682
+24938 28762 27318 28762
+25018 28842 27398 28842
+25098 28922 27478 28922
+25178 29002 27560 29002
+27924 28079 30027 28079
+28004 28159 30678 28159
+40629 27049 41182 27049
+40629 27129 41182 27129
+40629 27209 41182 27209
+40629 27289 41182 27289
+40629 27369 41182 27369
+40629 27449 41182 27449
+40629 27529 41182 27529
+40629 27609 41182 27609
+40629 27689 41182 27689
+40629 27769 41182 27769
+40629 27849 41182 27849
+40629 27929 41182 27929
+40629 28009 41182 28009
+40629 28089 41182 28089
+40629 28169 41182 28169
+39403 27688 39971 27688
+39403 27768 39971 27768
+39403 27848 39971 27848
+39403 27928 39971 27928
+39403 28008 39971 28008
+39403 28088 39971 28088
+39403 28168 39971 28168
+35631 25323 35631 25323
+35551 25403 35701 25403
+35471 25483 36137 25483
+35391 25563 35544 25563
+35311 25643 35442 25643
+35231 25723 35362 25723
+35151 25803 35282 25803
+35071 25883 35202 25883
+34991 25963 35122 25963
+34911 26043 35042 26043
+34831 26123 34962 26123
+34751 26203 34882 26203
+34671 26283 34802 26283
+34591 26363 34722 26363
+34511 26443 34642 26443
+34431 26523 34562 26523
+34351 26603 34482 26603
+34271 26683 34402 26683
+34191 26763 34322 26763
+34111 26843 34242 26843
+34031 26923 34162 26923
+33951 27003 34082 27003
+33871 27083 34002 27083
+33791 27163 33922 27163
+33711 27243 33842 27243
+33631 27323 33762 27323
+33551 27403 33682 27403
+33471 27483 33602 27483
+33391 27563 33522 27563
+33322 27643 33442 27643
+33322 27723 33362 27723
+26230 24112 26230 24112
+26230 24192 26310 24192
+26230 24272 26390 24272
+26230 24352 26470 24352
+26230 24432 26550 24432
+26230 24512 26630 24512
+26207 24592 26710 24592
+26150 24672 26790 24672
+26171 24752 26870 24752
+26251 24832 26950 24832
+26331 24912 27030 24912
+26411 24992 27110 24992
+26491 25072 27190 25072
+26571 25152 27270 25152
+26651 25232 27350 25232
+26731 25312 27437 25312
+26811 25392 31736 25392
+26891 25472 31736 25472
+26971 25552 31736 25552
+27051 25632 31736 25632
+27131 25712 31736 25712
+27211 25792 31736 25792
+27291 25872 31736 25872
+30729 25952 31736 25952
+30796 26032 31736 26032
+30824 26112 31736 26112
+30824 26192 31736 26192
+30824 26272 31736 26272
+30824 26352 31736 26352
+30810 26432 31736 26432
+30788 26512 31736 26512
+30821 26592 31736 26592
+30824 26672 31736 26672
+30824 26752 31736 26752
+30824 26832 31736 26832
+30818 26912 31736 26912
+30785 26992 31736 26992
+30813 27072 31736 27072
+30824 27152 31736 27152
+30824 27232 31736 27232
+30824 27312 31736 27312
+30824 27392 31736 27392
+30901 27472 31736 27472
+31003 27552 31736 27552
+31083 27632 31736 27632
+27239 27054 27239 27054
+27319 27134 29876 27134
+27399 27214 29876 27214
+27479 27294 29876 27294
+27559 27374 29876 27374
+21258 27083 21258 27083
+21258 27163 21372 27163
+39971 27019 39971 27019
+35586 23900 38263 23900
+35506 23980 38343 23980
+35426 24060 38423 24060
+35346 24140 38503 24140
+35266 24220 35678 24220
+36622 24220 36978 24220
+37922 24220 38583 24220
+35186 24300 35622 24300
+36678 24300 36922 24300
+37978 24300 38663 24300
+35106 24380 35601 24380
+36699 24380 36901 24380
+37999 24380 38743 24380
+35026 24460 35601 24460
+36699 24460 36901 24460
+37999 24460 38761 24460
+34946 24540 35498 24540
+36699 24540 36901 24540
+38103 24540 38761 24540
+34866 24620 35404 24620
+36699 24620 36901 24620
+38196 24620 38761 24620
+34786 24700 35324 24700
+36699 24700 36901 24700
+38276 24700 38761 24700
+34706 24780 35244 24780
+36699 24780 36901 24780
+38356 24780 38761 24780
+34626 24860 35164 24860
+36699 24860 36901 24860
+38436 24860 38772 24860
+34546 24940 35084 24940
+36699 24940 36901 24940
+38516 24940 38795 24940
+34466 25020 35004 25020
+36699 25020 36901 25020
+38596 25020 38848 25020
+34386 25100 34924 25100
+36699 25100 36901 25100
+34306 25180 34844 25180
+34226 25260 34764 25260
+34146 25340 34684 25340
+34066 25420 34604 25420
+33986 25500 34524 25500
+33906 25580 34444 25580
+33826 25660 34364 25660
+33746 25740 34284 25740
+33666 25820 34204 25820
+33586 25900 34124 25900
+33506 25980 34044 25980
+33426 26060 33964 26060
+33346 26140 33884 26140
+33266 26220 33804 26220
+33186 26300 33724 26300
+33106 26380 33644 26380
+33100 26460 33564 26460
+33100 26540 33484 26540
+33137 26620 33404 26620
+33155 26700 33324 26700
+33164 26780 33244 26780
+22261 26741 22261 26741
+22227 26821 22261 26821
+33100 21042 34361 21042
+33100 21122 34361 21122
+33100 21202 34361 21202
+33100 21282 34361 21282
+33100 21362 34361 21362
+33100 21442 34361 21442
+33100 21522 34361 21522
+33100 21602 34391 21602
+33100 21682 34460 21682
+33100 21762 35128 21762
+33100 21842 35208 21842
+33100 21922 35288 21922
+33100 22002 35368 22002
+33100 22082 35448 22082
+33100 22162 35528 22162
+33100 22242 35637 22242
+33100 22322 36841 22322
+33100 22402 36841 22402
+33100 22482 36854 22482
+37945 22482 38003 22482
+33100 22562 36900 22562
+37900 22562 38071 22562
+33100 22642 37023 22642
+37775 22642 38071 22642
+33100 22722 38071 22722
+33100 22802 38071 22802
+33100 22882 38071 22882
+33100 22962 38071 22962
+33100 23042 38071 23042
+33100 23122 38071 23122
+33100 23202 38071 23202
+33100 23282 35302 23282
+33100 23362 35193 23362
+33097 23442 35113 23442
+33081 23522 35033 23522
+33043 23602 34953 23602
+32984 23682 34873 23682
+32904 23762 34793 23762
+32849 23842 34713 23842
+32849 23922 34633 23922
+32849 24002 34553 24002
+32818 24082 34473 24082
+32785 24162 34393 24162
+32734 24242 34313 24242
+32654 24322 34233 24322
+32522 24402 34153 24402
+32394 24482 34073 24482
+32394 24562 33993 24562
+32394 24642 33913 24642
+32394 24722 33833 24722
+32394 24802 33753 24802
+32394 24882 33673 24882
+32394 24962 33593 24962
+32394 25042 33513 25042
+32394 25122 33433 25122
+32394 25202 33353 25202
+32394 25282 33273 25282
+32394 25362 33193 25362
+32394 25442 33113 25442
+32394 25522 33033 25522
+32394 25602 32953 25602
+32394 25682 32873 25682
+32394 25762 32793 25762
+32394 25842 32713 25842
+38845 25690 39794 25690
+38925 25770 39155 25770
+39005 25850 39048 25850
+22675 23649 22887 23649
+22675 23729 22811 23729
+22675 23809 22758 23809
+22675 23889 22735 23889
+22675 23969 22722 23969
+22675 24049 22722 24049
+22675 24129 22722 24129
+22675 24209 22722 24209
+22675 24289 22722 24289
+22675 24369 22722 24369
+22675 24449 22722 24449
+22675 24529 22722 24529
+22675 24609 22722 24609
+22675 24689 22722 24689
+22675 24769 22722 24769
+22675 24849 22722 24849
+22675 24929 22722 24929
+22675 25009 22722 25009
+22675 25089 22722 25089
+22675 25169 22722 25169
+22675 25249 22722 25249
+22675 25329 22722 25329
+22675 25409 22722 25409
+22675 25489 22722 25489
+41368 25323 41368 25323
+40389 25403 40401 25403
+41299 25403 41422 25403
+40309 25483 41422 25483
+22017 23162 22017 23162
+21937 23242 22017 23242
+21857 23322 22017 23322
+21777 23402 22017 23402
+21697 23482 22017 23482
+21617 23562 22017 23562
+21605 23642 22017 23642
+21605 23722 22017 23722
+21605 23802 22017 23802
+21605 23882 22017 23882
+21605 23962 22017 23962
+21605 24042 22017 24042
+21605 24122 22017 24122
+21605 24202 22017 24202
+21605 24282 22017 24282
+21605 24362 22017 24362
+21605 24442 22017 24442
+21605 24522 22017 24522
+21605 24602 22017 24602
+21605 24682 22017 24682
+21605 24762 22017 24762
+21605 24842 22017 24842
+21605 24922 22017 24922
+21605 25002 22017 25002
+21605 25082 22017 25082
+21605 25162 22017 25162
+21605 25242 22017 25242
+21605 25322 22017 25322
+21605 25402 22017 25402
+21605 25482 22017 25482
+39949 21800 39949 21800
+39949 21880 40029 21880
+39949 21960 40109 21960
+39949 22040 40189 22040
+39949 22120 40269 22120
+39949 22200 40349 22200
+39920 22280 40429 22280
+39887 22360 40509 22360
+39839 22440 40589 22440
+39759 22520 40669 22520
+39676 22600 40749 22600
+39756 22680 40829 22680
+39836 22760 40909 22760
+39916 22840 40989 22840
+39996 22920 41069 22920
+40076 23000 41149 23000
+40156 23080 41229 23080
+40236 23160 41309 23160
+40316 23240 41389 23240
+40396 23320 41469 23320
+40476 23400 41549 23400
+40556 23480 41629 23480
+40632 23560 41709 23560
+40685 23640 41789 23640
+40708 23720 41869 23720
+40719 23800 41871 23800
+40719 23880 41871 23880
+40719 23960 41871 23960
+40719 24040 41871 24040
+40719 24120 41871 24120
+41302 24200 41871 24200
+41370 24280 41871 24280
+41399 24360 41871 24360
+41399 24440 41871 24440
+41473 24520 41871 24520
+41576 24600 41871 24600
+41656 24680 41871 24680
+41736 24760 41871 24760
+41816 24840 41871 24840
+24923 24738 24951 24738
+26695 23647 27104 23647
+26775 23727 27184 23727
+26855 23807 27264 23807
+26935 23887 27344 23887
+27015 23967 27424 23967
+27095 24047 27504 24047
+27175 24127 27584 24127
+27255 24207 27712 24207
+27335 24287 30911 24287
+31689 24287 31736 24287
+27415 24367 30993 24367
+31606 24367 31736 24367
+27495 24447 31186 24447
+31413 24447 31736 24447
+27575 24527 31736 24527
+27655 24607 31736 24607
+27735 24687 31736 24687
+38729 22585 38729 22585
+38729 22665 38809 22665
+38729 22745 38889 22745
+38729 22825 38969 22825
+38729 22905 39049 22905
+38729 22985 39129 22985
+38729 23065 39209 23065
+38729 23145 39289 23145
+38729 23225 39369 23225
+38729 23305 39449 23305
+38729 23385 39529 23385
+38760 23465 39609 23465
+38840 23545 39689 23545
+38920 23625 39769 23625
+39000 23705 39849 23705
+39080 23785 39929 23785
+39160 23865 40009 23865
+39240 23945 40061 23945
+39320 24025 40061 24025
+39375 24105 40061 24105
+39982 24185 40061 24185
+27717 23329 28857 23329
+27797 23409 28937 23409
+27877 23489 29017 23489
+27957 23569 29097 23569
+26038 21468 26038 21468
+25958 21548 26038 21548
+25878 21628 26038 21628
+25798 21708 26038 21708
+25718 21788 26038 21788
+25638 21868 26038 21868
+25558 21948 26038 21948
+25478 22028 26038 22028
+25398 22108 26038 22108
+25318 22188 26038 22188
+25238 22268 26038 22268
+25127 22348 26038 22348
+24647 22428 26038 22428
+24647 22508 26038 22508
+24647 22588 26038 22588
+24647 22668 26038 22668
+24647 22748 26038 22748
+24647 22828 26042 22828
+24647 22908 26038 22908
+24647 22988 26038 22988
+24647 23068 26038 23068
+24647 23148 26042 23148
+41330 22250 41330 22250
+41410 22330 42225 22330
+41490 22410 42225 22410
+41570 22490 42225 22490
+41650 22570 42225 22570
+41730 22650 42225 22650
+41810 22730 42225 22730
+41890 22810 42225 22810
+41970 22890 42225 22890
+42050 22970 42225 22970
+42130 23050 42225 23050
+42210 23130 42225 23130
+29468 23008 29468 23008
+29548 23088 30783 23088
+21258 22505 21258 22505
+21258 22585 21338 22585
+21258 22665 21499 22665
+21258 22745 21503 22745
+21258 22825 21423 22825
+21258 22905 21343 22905
+21258 22985 21263 22985
+24159 20962 24159 20962
+24789 20962 24789 20962
+25419 20962 25419 20962
+24128 21042 25533 21042
+24128 21122 25453 21122
+24128 21202 25373 21202
+24128 21282 25293 21282
+24128 21362 25213 21362
+24128 21442 25133 21442
+24128 21522 25053 21522
+24128 21602 24973 21602
+24128 21682 24893 21682
+24128 21762 24171 21762
+35659 21042 38092 21042
+35659 21122 38172 21122
+35659 21202 38252 21202
+35659 21282 36966 21282
+37835 21282 38210 21282
+35659 21362 36878 21362
+37923 21362 38059 21362
+35736 21442 36845 21442
+37956 21442 37979 21442
+35816 21522 36841 21522
+35896 21602 36841 21602
+19275 12775 19606 12775
+19275 12855 19606 12855
+19275 12935 19606 12935
+19275 13015 19606 13015
+19275 13095 19606 13095
+19275 13175 19606 13175
+19275 13255 19606 13255
+19275 13335 19606 13335
+19275 13415 19606 13415
+19275 13495 19606 13495
+19275 13575 19606 13575
+19275 13655 19619 13655
+19275 13735 19665 13735
+19275 13815 19788 13815
+19275 13895 20013 13895
+19275 13975 20013 13975
+19275 14055 20013 14055
+19275 14135 20013 14135
+19275 14215 20013 14215
+19275 14295 20013 14295
+19275 14375 20013 14375
+19275 14455 20013 14455
+19275 14535 20013 14535
+19275 14615 20033 14615
+19275 14695 20089 14695
+19275 14775 20625 14775
+19275 14855 20625 14855
+19275 14935 20625 14935
+19275 15015 20625 15015
+19275 15095 20617 15095
+19275 15175 20537 15175
+19275 15255 20457 15255
+19275 15335 20377 15335
+19275 15415 20297 15415
+19275 15495 20217 15495
+19275 15575 20137 15575
+19275 15655 20057 15655
+19275 15735 19977 15735
+19275 15815 19897 15815
+19275 15895 19844 15895
+19275 15975 19814 15975
+19275 16055 19799 16055
+19275 16135 19799 16135
+19275 16215 19799 16215
+19275 16295 19799 16295
+19275 16375 19799 16375
+19275 16455 19799 16455
+19275 16535 19799 16535
+19275 16615 19799 16615
+19275 16695 19799 16695
+19275 16775 19799 16775
+19275 16855 19799 16855
+19275 16935 19799 16935
+19275 17015 19799 17015
+19275 17095 19799 17095
+19275 17175 19799 17175
+19275 17255 19799 17255
+19275 17335 19799 17335
+19275 17415 19799 17415
+19275 17495 19799 17495
+19275 17575 19799 17575
+19275 17655 19799 17655
+19275 17735 19799 17735
+19275 17815 19799 17815
+19275 17895 19799 17895
+19275 17975 19799 17975
+19275 18055 19799 18055
+19275 18135 19799 18135
+19275 18215 19799 18215
+19275 18295 19799 18295
+19275 18375 19799 18375
+19275 18455 19799 18455
+19275 18535 19799 18535
+19275 18615 19799 18615
+19275 18695 19799 18695
+19275 18775 19799 18775
+19275 18855 19799 18855
+19275 18935 19799 18935
+19275 19015 19799 19015
+19275 19095 19799 19095
+19275 19175 19799 19175
+19275 19255 19799 19255
+19275 19335 19799 19335
+19275 19415 19799 19415
+19275 19495 19799 19495
+19275 19575 19799 19575
+19275 19655 19799 19655
+19275 19735 19799 19735
+19275 19815 19799 19815
+19275 19895 19799 19895
+19275 19975 19799 19975
+19275 20055 19799 20055
+19275 20135 19799 20135
+19275 20215 19799 20215
+19275 20295 19799 20295
+19275 20375 19799 20375
+19275 20455 19799 20455
+19275 20535 19799 20535
+19275 20615 19799 20615
+19275 20695 19799 20695
+19275 20775 19799 20775
+19275 20855 19799 20855
+19275 20935 19799 20935
+19275 21015 19799 21015
+19275 21095 19799 21095
+19275 21175 19799 21175
+19275 21255 19799 21255
+19275 21335 19799 21335
+19275 21415 19799 21415
+19275 21495 19799 21495
+19275 21575 19302 21575
+21799 18102 21799 18102
+21690 18182 21909 18182
+21486 18262 22072 18262
+21433 18342 22072 18342
+21352 18422 22072 18422
+21272 18502 22072 18502
+21192 18582 22072 18582
+21112 18662 22072 18662
+21032 18742 22072 18742
+21019 18822 22072 18822
+21019 18902 22072 18902
+21019 18982 22072 18982
+21019 19062 22072 19062
+21019 19142 22072 19142
+21019 19222 22072 19222
+21019 19302 22072 19302
+21019 19382 22072 19382
+21019 19462 22072 19462
+21019 19542 22072 19542
+21019 19622 22072 19622
+21019 19702 22072 19702
+21019 19782 22072 19782
+21019 19862 22072 19862
+21019 19942 22080 19942
+21019 20022 22096 20022
+21019 20102 22147 20102
+21019 20182 22218 20182
+21019 20262 22298 20262
+21019 20342 22378 20342
+21019 20422 22458 20422
+21019 20502 22538 20502
+21019 20582 22618 20582
+21019 20662 22698 20662
+21019 20742 22778 20742
+21019 20822 22353 20822
+21019 20902 22287 20902
+21019 20982 22258 20982
+21019 21062 22258 21062
+21019 21142 22258 21142
+21019 21222 21337 21222
+21019 21302 21234 21302
+21019 21382 21154 21382
+21019 21462 21074 21462
+35399 19129 36851 19129
+35399 19209 36851 19209
+35382 19289 36883 19289
+39916 19289 40560 19289
+35551 19369 36916 19369
+37883 19369 37916 19369
+38883 19369 38916 19369
+39883 19369 40560 19369
+35626 19449 36970 19449
+37830 19449 37970 19449
+38830 19449 38970 19449
+39830 19449 40560 19449
+35659 19529 37050 19529
+37750 19529 38050 19529
+38750 19529 39050 19529
+39750 19529 40560 19529
+35659 19609 37187 19609
+37612 19609 38187 19609
+38612 19609 39187 19609
+39612 19609 40560 19609
+35659 19689 40560 19689
+35659 19769 40560 19769
+35659 19849 40560 19849
+35659 19929 40560 19929
+35659 20009 40560 20009
+39152 20089 40560 20089
+39249 20169 40560 20169
+39329 20249 40560 20249
+39409 20329 40560 20329
+39489 20409 40560 20409
+39569 20489 40560 20489
+39649 20569 40560 20569
+39729 20649 40560 20649
+39809 20729 40560 20729
+39889 20809 40560 20809
+39969 20889 40560 20889
+40049 20969 40560 20969
+40129 21049 40560 21049
+40209 21129 40560 21129
+40289 21209 40560 21209
+40369 21289 40560 21289
+40449 21369 40560 21369
+40529 21449 40560 21449
+38833 20684 38833 20684
+38745 20764 38912 20764
+38825 20844 38992 20844
+38905 20924 39072 20924
+38985 21004 39152 21004
+39065 21084 39232 21084
+39142 21164 39312 21164
+39195 21244 39392 21244
+28550 19631 28550 19631
+28254 19711 28559 19711
+28174 19791 28579 19791
+28094 19871 28632 19871
+28014 19951 28706 19951
+27934 20031 28786 20031
+27854 20111 28866 20111
+27774 20191 28946 20191
+27694 20271 29026 20271
+27614 20351 28161 20351
+28640 20351 29106 20351
+27562 20431 28022 20431
+28778 20431 29186 20431
+27562 20511 27942 20511
+28858 20511 29266 20511
+27562 20591 27880 20591
+28921 20591 29346 20591
+27562 20671 27847 20671
+28954 20671 29426 20671
+27562 20751 27814 20751
+28987 20751 29506 20751
+27562 20831 27801 20831
+28999 20831 29586 20831
+27562 20911 27801 20911
+28999 20911 29666 20911
+27562 20991 27801 20991
+28999 20991 29746 20991
+27562 21071 27764 21071
+28977 21071 29826 21071
+26904 20602 26904 20602
+26824 20682 26904 20682
+26744 20762 26904 20762
+29847 19429 31021 19429
+29767 19509 31101 19509
+29653 19589 31181 19589
+29355 19669 31261 19669
+29435 19749 31341 19749
+29515 19829 31421 19829
+29595 19909 31501 19909
+29675 19989 31581 19989
+29755 20069 31661 20069
+29835 20149 31741 20149
+29915 20229 31821 20229
+29995 20309 31901 20309
+30075 20389 30859 20389
+31741 20389 31981 20389
+30155 20469 30785 20469
+31816 20469 31955 20469
+30235 20549 30752 20549
+31849 20549 31875 20549
+23327 12775 33759 12775
+23328 12855 33679 12855
+23328 12935 33599 12935
+23328 13015 33519 13015
+23328 13095 33439 13095
+23328 13175 33359 13175
+23328 13255 24393 13255
+28207 13255 33279 13255
+23328 13335 24329 13335
+28272 13335 33199 13335
+23328 13415 24301 13415
+28299 13415 33119 13415
+23328 13495 24301 13495
+28299 13495 33039 13495
+23328 13575 24301 13575
+28299 13575 32173 13575
+23314 13655 24301 13655
+28299 13655 32120 13655
+23269 13735 24301 13735
+28299 13735 32101 13735
+23144 13815 24301 13815
+28299 13815 32101 13815
+22921 13895 24301 13895
+28299 13895 32101 13895
+22921 13975 24301 13975
+28299 13975 32101 13975
+22921 14055 24301 14055
+28299 14055 32101 14055
+22921 14135 24301 14135
+28299 14135 32101 14135
+22921 14215 24301 14215
+28299 14215 32101 14215
+22921 14295 24301 14295
+28299 14295 32101 14295
+22921 14375 24301 14375
+28299 14375 32101 14375
+22921 14455 24301 14455
+28299 14455 32101 14455
+22921 14535 24301 14535
+28299 14535 32101 14535
+22900 14615 24301 14615
+28299 14615 32101 14615
+22845 14695 24301 14695
+28299 14695 32101 14695
+22307 14775 24301 14775
+28299 14775 32132 14775
+22341 14855 24301 14855
+28299 14855 32186 14855
+22421 14935 24301 14935
+28299 14935 32153 14935
+22501 15015 24301 15015
+28299 15015 32119 15015
+22581 15095 24301 15095
+28299 15095 32039 15095
+22661 15175 24301 15175
+28299 15175 31959 15175
+22741 15255 24301 15255
+28299 15255 31879 15255
+22821 15335 24301 15335
+28299 15335 31799 15335
+22901 15415 24301 15415
+28299 15415 31719 15415
+22981 15495 24301 15495
+28299 15495 31639 15495
+23061 15575 24301 15575
+28299 15575 31562 15575
+23141 15655 24301 15655
+28299 15655 31509 15655
+23212 15735 24301 15735
+28299 15735 31484 15735
+23265 15815 24301 15815
+28299 15815 31471 15815
+23281 15895 24301 15895
+28299 15895 31471 15895
+23290 15975 24301 15975
+28299 15975 31471 15975
+23290 16055 24301 16055
+28299 16055 31471 16055
+23290 16135 24301 16135
+28299 16135 31471 16135
+23290 16215 24301 16215
+28299 16215 31471 16215
+23290 16295 24301 16295
+28299 16295 31471 16295
+23290 16375 24301 16375
+28299 16375 31471 16375
+23290 16455 24301 16455
+28299 16455 31471 16455
+23290 16535 24301 16535
+28299 16535 31471 16535
+23290 16615 24301 16615
+28299 16615 31471 16615
+23290 16695 24301 16695
+28299 16695 31471 16695
+23289 16775 24301 16775
+28299 16775 31471 16775
+23273 16855 24301 16855
+28299 16855 31471 16855
+23238 16935 24301 16935
+28299 16935 31471 16935
+23179 17015 24307 17015
+28292 17015 31471 17015
+23099 17095 24343 17095
+28257 17095 28785 17095
+31016 17095 31471 17095
+23019 17175 24442 17175
+28157 17175 28661 17175
+31139 17175 31471 17175
+23030 17255 28581 17255
+31219 17255 31481 17255
+23049 17335 28501 17335
+31299 17335 31501 17335
+23049 17415 28421 17415
+23049 17495 28341 17495
+23049 17575 27234 17575
+27567 17575 28233 17575
+23049 17655 27069 17655
+27731 17655 28069 17655
+23049 17735 26989 17735
+27811 17735 27989 17735
+23049 17815 23536 17815
+27876 17815 27925 17815
+23049 17895 23439 17895
+23049 17975 23386 17975
+23026 18055 23370 18055
+22967 18135 23361 18135
+22728 18215 23361 18215
+22728 18295 23361 18295
+22728 18375 23361 18375
+22728 18455 23361 18455
+22728 18535 23361 18535
+22728 18615 23361 18615
+22728 18695 23361 18695
+22728 18775 23361 18775
+22728 18855 23361 18855
+22728 18935 23361 18935
+22728 19015 23361 19015
+22728 19095 23361 19095
+22728 19175 23361 19175
+22728 19255 23361 19255
+22728 19335 23361 19335
+22728 19415 23361 19415
+22728 19495 23361 19495
+22728 19575 23361 19575
+22728 19655 23361 19655
+22728 19735 23361 19735
+22779 19815 23361 19815
+22859 19895 23353 19895
+22939 19975 23353 19975
+23019 20055 23353 20055
+23099 20135 23353 20135
+23179 20215 23353 20215
+23259 20295 23353 20295
+23339 20375 23353 20375
+32099 17908 32099 17908
+32099 17988 33001 17988
+32099 18068 33008 18068
+32087 18148 33046 18148
+32053 18228 33069 18228
+32020 18308 33019 18308
+31959 18388 33001 18388
+31879 18468 33001 18468
+31794 18548 33001 18548
+31874 18628 33001 18628
+31954 18708 33001 18708
+32034 18788 33001 18788
+32114 18868 33001 18868
+32194 18948 33001 18948
+32274 19028 33001 19028
+32354 19108 33001 19108
+32434 19188 33001 19188
+32514 19268 33008 19268
+32594 19348 33046 19348
+32674 19428 33149 19428
+32754 19508 33173 19508
+32834 19588 33140 19588
+32914 19668 33107 19668
+32994 19748 33101 19748
+33074 19828 33101 19828
+24019 18429 25413 18429
+24019 18509 25244 18509
+24019 18589 25164 18589
+24019 18669 25089 18669
+24019 18749 25056 18749
+24019 18829 25023 18829
+24019 18909 25001 18909
+24019 18989 25001 18989
+24019 19069 25001 19069
+24019 19149 25013 19149
+24019 19229 25046 19229
+24019 19309 25079 19309
+24019 19389 25142 19389
+24019 19469 25222 19469
+24019 19549 25252 19549
+24019 19629 25252 19629
+25786 18429 26953 18429
+25956 18509 27033 18509
+26036 18589 27146 18589
+26112 18669 27055 18669
+26145 18749 26975 18749
+26178 18829 26919 18829
+26199 18909 26886 18909
+26199 18989 26852 18989
+26199 19069 26851 19069
+26186 19149 26851 19149
+26153 19229 26213 19229
+26587 19229 26859 19229
+26756 19309 26892 19309
+26836 19389 26925 19389
+26912 19469 26993 19469
+26945 19549 27026 19549
+32129 16405 32129 16405
+32129 16485 32161 16485
+32129 16565 32194 16565
+32129 16645 32256 16645
+32129 16725 32336 16725
+32129 16805 32434 16805
+32129 16885 32626 16885
+32971 16885 38849 16885
+32129 16965 33168 16965
+33934 16965 34468 16965
+35234 16965 35568 16965
+36334 16965 36868 16965
+37634 16965 38769 16965
+32129 17045 33053 17045
+34047 17045 34353 17045
+35347 17045 35453 17045
+36447 17045 36753 17045
+37747 17045 38689 17045
+32191 17125 33012 17125
+34089 17125 34312 17125
+35389 17125 35412 17125
+36489 17125 36712 17125
+37789 17125 38609 17125
+32271 17205 33001 17205
+34099 17205 34301 17205
+35399 17205 35401 17205
+36499 17205 36701 17205
+37799 17205 38529 17205
+34099 17285 34301 17285
+36499 17285 36701 17285
+34099 17365 34301 17365
+36499 17365 36701 17365
+34099 17445 34301 17445
+36499 17445 36701 17445
+34099 17525 34301 17525
+36499 17525 36701 17525
+34099 17605 34301 17605
+36499 17605 36701 17605
+34099 17685 34301 17685
+36499 17685 36701 17685
+34099 17765 34301 17765
+36499 17765 36701 17765
+34099 17845 34301 17845
+36499 17845 36701 17845
+34099 17925 34301 17925
+36499 17925 36701 17925
+34099 18005 34301 18005
+35399 18005 35401 18005
+36499 18005 36701 18005
+34084 18085 34315 18085
+35384 18085 35415 18085
+36484 18085 36715 18085
+34036 18165 34363 18165
+35337 18165 35463 18165
+36437 18165 36763 18165
+34048 18245 34353 18245
+35347 18245 35590 18245
+36308 18245 36890 18245
+34089 18325 34312 18325
+35389 18325 37106 18325
+34099 18405 34301 18405
+35399 18405 37016 18405
+34099 18485 34301 18485
+34099 18565 34301 18565
+34099 18645 34301 18645
+34099 18725 34301 18725
+34099 18805 34301 18805
+34099 18885 34301 18885
+34099 18965 34301 18965
+34099 19045 34301 19045
+34099 19125 34301 19125
+34099 19205 34301 19205
+34083 19285 34315 19285
+34112 19365 34363 19365
+34192 19445 34397 19445
+34235 19525 34364 19525
+41240 12775 42225 12775
+41320 12855 42225 12855
+41400 12935 42225 12935
+41480 13015 42225 13015
+41560 13095 42225 13095
+41640 13175 42225 13175
+41720 13255 42225 13255
+41800 13335 42225 13335
+41865 13415 42225 13415
+41909 13495 42225 13495
+41925 13575 42225 13575
+41929 13655 42225 13655
+41929 13735 42225 13735
+41929 13815 42225 13815
+41929 13895 42225 13895
+41929 13975 42225 13975
+41929 14055 42225 14055
+41929 14135 42225 14135
+41929 14215 42225 14215
+41929 14295 42225 14295
+41929 14375 42225 14375
+41929 14455 42225 14455
+41929 14535 42225 14535
+41929 14615 42225 14615
+41929 14695 42225 14695
+41929 14775 42225 14775
+41929 14855 42225 14855
+41929 14935 42225 14935
+41929 15015 42225 15015
+41929 15095 42225 15095
+41929 15175 42225 15175
+41929 15255 42225 15255
+41929 15335 42225 15335
+41929 15415 42225 15415
+41929 15495 42225 15495
+41929 15575 42225 15575
+41929 15655 42225 15655
+41929 15735 42225 15735
+41929 15815 42225 15815
+41929 15895 42225 15895
+41929 15975 42225 15975
+41929 16055 42225 16055
+41929 16135 42225 16135
+41929 16215 42225 16215
+41929 16295 42225 16295
+41929 16375 42225 16375
+41929 16455 42225 16455
+41929 16535 42225 16535
+41929 16615 42225 16615
+41929 16695 42225 16695
+41929 16775 42225 16775
+41929 16855 42225 16855
+41929 16935 42225 16935
+41929 17015 42225 17015
+41929 17095 42225 17095
+41929 17175 42225 17175
+41929 17255 42225 17255
+41929 17335 42225 17335
+41929 17415 42225 17415
+41929 17495 42225 17495
+41929 17575 42225 17575
+41929 17655 42225 17655
+41929 17735 42225 17735
+41929 17815 42225 17815
+41929 17895 42225 17895
+41929 17975 42225 17975
+41929 18055 42225 18055
+41929 18135 42225 18135
+41926 18215 42225 18215
+41910 18295 42225 18295
+41871 18375 42225 18375
+41809 18455 42225 18455
+41729 18535 42225 18535
+41649 18615 42225 18615
+41569 18695 42225 18695
+41489 18775 42225 18775
+41409 18855 42225 18855
+41329 18935 42225 18935
+41249 19015 42225 19015
+41030 13495 41030 13495
+41064 13575 41110 13575
+41097 13655 41190 13655
+41099 13735 41270 13735
+41099 13815 41271 13815
+41099 13895 41271 13895
+41084 13975 41271 13975
+41051 14055 41271 14055
+41017 14135 41271 14135
+40973 14215 41271 14215
+40893 14295 41271 14295
+40813 14375 41271 14375
+40663 14455 41271 14455
+40583 14535 41271 14535
+40503 14615 41271 14615
+40423 14695 41271 14695
+40343 14775 41271 14775
+40263 14855 41271 14855
+40183 14935 41271 14935
+40103 15015 41271 15015
+40023 15095 41271 15095
+39943 15175 40083 15175
+40718 15175 41271 15175
+39863 15255 39957 15255
+40844 15255 41271 15255
+39783 15335 39877 15335
+40924 15335 41271 15335
+39703 15415 39803 15415
+40998 15415 41271 15415
+39623 15495 39770 15495
+41031 15495 41271 15495
+41064 15575 41271 15575
+41097 15655 41271 15655
+41099 15735 41271 15735
+41099 15815 41271 15815
+41099 15895 41271 15895
+41084 15975 41271 15975
+41051 16055 41271 16055
+41017 16135 41271 16135
+40973 16215 41271 16215
+40893 16295 41271 16295
+40813 16375 41271 16375
+40664 16455 41271 16455
+40584 16535 41271 16535
+40504 16615 41271 16615
+40407 16695 41271 16695
+40287 16775 41271 16775
+39810 16855 41271 16855
+39730 16935 41271 16935
+39650 17015 41271 17015
+39570 17095 41271 17095
+39490 17175 41271 17175
+39410 17255 41271 17255
+39330 17335 41271 17335
+39250 17415 41271 17415
+39170 17495 41271 17495
+39090 17575 41271 17575
+39010 17655 41271 17655
+38930 17735 41271 17735
+38850 17815 41271 17815
+38739 17895 41271 17895
+37799 17975 41271 17975
+37796 18055 41271 18055
+37763 18135 41199 18135
+37681 18215 41119 18215
+37622 18295 38178 18295
+38623 18295 39178 18295
+39623 18295 41039 18295
+37754 18375 38046 18375
+38754 18375 39046 18375
+39754 18375 40959 18375
+37834 18455 37966 18455
+38834 18455 38966 18455
+39834 18455 40879 18455
+37886 18535 37915 18535
+38886 18535 38915 18535
+39886 18535 40799 18535
+39919 18615 40719 18615
+27708 18566 27708 18566
+27900 18326 27900 18326
+27866 18406 27868 18406
+29939 17728 29964 17728
+20551 16093 20551 16093
+20471 16173 20551 16173
+20457 16253 20551 16253
+20457 16333 20551 16333
+20457 16413 20551 16413
+20457 16493 20551 16493
+20457 16573 20551 16573
+20457 16653 20551 16653
+20457 16733 20565 16733
+20457 16813 20611 16813
+21799 16801 21799 16801
+32168 15896 32168 15896
+32129 15976 32136 15976
+21774 15729 21774 15729
+21730 15809 21854 15809
+21791 15889 21809 15889
+20927 15716 20927 15716
+20847 15796 20890 15796
+34336 13129 40194 13129
+34256 13209 40003 13209
+34176 13289 39923 13289
+34096 13369 39843 13369
+34016 13449 39789 13449
+33936 13529 39751 13529
+33856 13609 39671 13609
+33776 13689 39591 13689
+33696 13769 39511 13769
+33616 13849 39431 13849
+33536 13929 39351 13929
+33499 14009 39271 14009
+33499 14089 39191 14089
+33499 14169 39111 14169
+33499 14249 39031 14249
+33499 14329 38951 14329
+33499 14409 38871 14409
+33499 14489 38791 14489
+40607 13129 40663 13129
+$endFILLSEGMENTS
+$endCZONE_OUTLINE
+$EndBOARD
diff --git a/circuit/fridge-lock.bak b/circuit/fridge-lock.bak
new file mode 100644
index 0000000..18a3da0
--- /dev/null
+++ b/circuit/fridge-lock.bak
@@ -0,0 +1,700 @@
+EESchema Schematic File Version 2 date Sat 24 Mar 2012 10:01:47 PM CET
+LIBS:power
+LIBS:device
+LIBS:transistors
+LIBS:conn
+LIBS:linear
+LIBS:regul
+LIBS:74xx
+LIBS:cmos4000
+LIBS:adc-dac
+LIBS:memory
+LIBS:xilinx
+LIBS:special
+LIBS:microcontrollers
+LIBS:dsp
+LIBS:microchip
+LIBS:analog_switches
+LIBS:motorola
+LIBS:texas
+LIBS:intel
+LIBS:audio
+LIBS:interface
+LIBS:digital-audio
+LIBS:philips
+LIBS:display
+LIBS:cypress
+LIBS:siliconi
+LIBS:opto
+LIBS:atmel
+LIBS:contrib
+LIBS:valves
+LIBS:optocoupler-2
+LIBS:analog-devices
+LIBS:analog-devices2
+LIBS:LM75
+LIBS:fridge-lock-cache
+EELAYER 24 0
+EELAYER END
+$Descr A4 11700 8267
+Sheet 1 1
+Title ""
+Date "24 mar 2012"
+Rev ""
+Comp ""
+Comment1 ""
+Comment2 ""
+Comment3 ""
+Comment4 ""
+$EndDescr
+Wire Wire Line
+ 2550 5500 2250 5500
+Wire Wire Line
+ 10350 4350 8850 4350
+Wire Wire Line
+ 3100 6600 3100 6850
+Wire Wire Line
+ 3300 6850 3300 6250
+Wire Wire Line
+ 3500 6850 3500 6350
+Wire Wire Line
+ 3700 6850 3700 6450
+Connection ~ 9650 5450
+Wire Wire Line
+ 9650 5400 9650 5450
+Connection ~ 9650 4350
+Wire Wire Line
+ 9650 4350 9650 4400
+Wire Wire Line
+ 4300 4250 3750 4250
+Connection ~ 4750 1900
+Wire Wire Line
+ 4750 1900 5550 1900
+Wire Wire Line
+ 2950 2800 2950 2750
+Wire Wire Line
+ 2950 2750 2850 2750
+Connection ~ 2950 2550
+Wire Wire Line
+ 2950 2550 2850 2550
+Wire Wire Line
+ 1350 2450 1250 2450
+Wire Wire Line
+ 1250 2850 1250 2750
+Wire Wire Line
+ 1250 2750 1350 2750
+Wire Wire Line
+ 10350 4550 10200 4550
+Connection ~ 9050 4350
+Wire Wire Line
+ 9050 4350 9050 4700
+Wire Wire Line
+ 8200 4550 8400 4550
+Wire Wire Line
+ 6700 4650 6700 4550
+Wire Wire Line
+ 6700 4550 7400 4550
+Wire Wire Line
+ 6700 4350 6450 4350
+Wire Wire Line
+ 3850 6100 3850 6450
+Wire Wire Line
+ 3850 6450 3700 6450
+Wire Wire Line
+ 3650 6100 3650 6350
+Wire Wire Line
+ 3650 6350 3500 6350
+Wire Wire Line
+ 3300 6250 3450 6250
+Wire Wire Line
+ 3450 6250 3450 6100
+Wire Wire Line
+ 9600 3050 9400 3050
+Wire Wire Line
+ 9350 3300 9400 3300
+Wire Wire Line
+ 9400 3300 9400 3350
+Wire Wire Line
+ 9400 3350 9600 3350
+Wire Wire Line
+ 8350 3350 8500 3350
+Wire Wire Line
+ 8500 3350 8500 3300
+Wire Wire Line
+ 8500 3300 8550 3300
+Wire Wire Line
+ 8550 3200 8350 3200
+Wire Wire Line
+ 3950 6100 3950 6350
+Wire Wire Line
+ 3950 6350 3900 6350
+Wire Wire Line
+ 3900 6350 3900 6450
+Wire Wire Line
+ 5150 5600 4850 5600
+Wire Wire Line
+ 5150 4900 4850 4900
+Wire Wire Line
+ 4900 4200 4900 4000
+Connection ~ 5100 1900
+Connection ~ 3550 4350
+Wire Wire Line
+ 4300 4250 4300 4350
+Connection ~ 3450 4350
+Connection ~ 2500 5200
+Wire Wire Line
+ 2500 5250 2500 5200
+Wire Wire Line
+ 2500 5250 1650 5250
+Connection ~ 2500 4900
+Wire Wire Line
+ 1950 4950 2500 4950
+Wire Wire Line
+ 2500 4950 2500 4900
+Connection ~ 8600 1450
+Wire Wire Line
+ 8500 1450 8600 1450
+Wire Wire Line
+ 3550 4400 3550 3600
+Wire Wire Line
+ 2550 5100 2500 5100
+Wire Wire Line
+ 2500 4900 2550 4900
+Connection ~ 8900 1900
+Wire Wire Line
+ 9200 1900 8600 1900
+Wire Wire Line
+ 9200 1400 9200 1500
+Connection ~ 5550 1900
+Wire Wire Line
+ 5550 1600 5450 1600
+Connection ~ 5550 1850
+Wire Wire Line
+ 5900 2000 5900 1950
+Wire Wire Line
+ 5550 1750 5550 1950
+Wire Wire Line
+ 7000 1750 6900 1750
+Wire Wire Line
+ 6300 1750 6400 1750
+Wire Wire Line
+ 3750 1400 3850 1400
+Wire Wire Line
+ 3850 1400 3850 1500
+Wire Wire Line
+ 3850 1900 3850 2000
+Wire Wire Line
+ 6300 1600 6400 1600
+Wire Wire Line
+ 6900 1600 7000 1600
+Wire Wire Line
+ 6300 1850 6300 1950
+Wire Wire Line
+ 6300 1950 5550 1950
+Connection ~ 5900 1950
+Wire Wire Line
+ 5500 1600 5500 1500
+Connection ~ 5500 1600
+Wire Wire Line
+ 8600 1500 8600 1400
+Wire Wire Line
+ 8900 2000 8900 1900
+Wire Wire Line
+ 2550 5000 2500 5000
+Wire Wire Line
+ 2500 5200 2550 5200
+Wire Wire Line
+ 3450 4400 3450 3700
+Wire Wire Line
+ 9300 1450 9200 1450
+Connection ~ 9200 1450
+Wire Wire Line
+ 1950 5050 2500 5050
+Wire Wire Line
+ 2500 5050 2500 5000
+Connection ~ 2500 5000
+Wire Wire Line
+ 1850 5300 1850 5150
+Wire Wire Line
+ 1850 5150 2500 5150
+Wire Wire Line
+ 2500 5150 2500 5100
+Connection ~ 2500 5100
+Wire Wire Line
+ 3850 4400 3850 3700
+Connection ~ 3850 4350
+Wire Wire Line
+ 3650 3600 3650 4400
+Connection ~ 3650 4350
+Connection ~ 5100 1500
+Wire Wire Line
+ 4900 4700 4900 4900
+Connection ~ 4900 4900
+Wire Wire Line
+ 4050 6450 4050 6100
+Wire Wire Line
+ 8550 3100 8500 3100
+Wire Wire Line
+ 8500 3100 8500 3050
+Wire Wire Line
+ 8500 3050 8350 3050
+Wire Wire Line
+ 9600 3200 9350 3200
+Wire Wire Line
+ 9350 3100 9400 3100
+Wire Wire Line
+ 9400 3100 9400 3050
+Wire Wire Line
+ 4850 5500 4900 5500
+Wire Wire Line
+ 4900 5500 4900 5450
+Wire Wire Line
+ 4900 5450 5150 5450
+Wire Wire Line
+ 3350 6100 3350 6200
+Wire Wire Line
+ 3350 6200 3200 6200
+Wire Wire Line
+ 3550 6100 3550 6300
+Wire Wire Line
+ 3550 6300 3400 6300
+Wire Wire Line
+ 3750 6100 3750 6400
+Wire Wire Line
+ 3750 6400 3600 6400
+Wire Wire Line
+ 7400 4350 7200 4350
+Wire Wire Line
+ 8550 5300 8400 5300
+Wire Wire Line
+ 9050 5350 9050 5450
+Wire Wire Line
+ 9050 5450 10200 5450
+Wire Wire Line
+ 10200 5450 10200 4550
+Wire Wire Line
+ 1350 2550 1250 2550
+Wire Wire Line
+ 2850 2450 2950 2450
+Wire Wire Line
+ 2950 2450 2950 2650
+Wire Wire Line
+ 3350 2800 3350 2650
+Wire Wire Line
+ 3350 2650 2850 2650
+Connection ~ 2950 2650
+Wire Wire Line
+ 5500 1500 4750 1500
+Connection ~ 4750 1500
+Wire Wire Line
+ 3750 4250 3750 4400
+Connection ~ 3750 4250
+Wire Wire Line
+ 9650 4900 9650 5000
+Wire Wire Line
+ 3800 6850 3950 6850
+Wire Wire Line
+ 3950 6850 3950 6950
+Wire Wire Line
+ 3600 6400 3600 6850
+Wire Wire Line
+ 3400 6300 3400 6850
+Wire Wire Line
+ 3200 6200 3200 6850
+Wire Wire Line
+ 8200 4350 8350 4350
+Wire Wire Line
+ 8400 5300 8400 4550
+Wire Wire Line
+ 2550 5400 2250 5400
+NoConn ~ 4850 5400
+NoConn ~ 4850 5300
+$Comp
+L VCC #PWR01
+U 1 1 4F6E28A4
+P 3100 6600
+F 0 "#PWR01" H 3100 6700 30 0001 C CNN
+F 1 "VCC" H 3100 6700 30 0000 C CNN
+ 1 3100 6600
+ 1 0 0 -1
+$EndComp
+$Comp
+L GND #PWR02
+U 1 1 4F6E2889
+P 3950 6950
+F 0 "#PWR02" H 3950 6950 30 0001 C CNN
+F 1 "GND" H 3950 6880 30 0001 C CNN
+ 1 3950 6950
+ 1 0 0 -1
+$EndComp
+$Comp
+L C C7
+U 1 1 4F6E181E
+P 9650 5200
+F 0 "C7" H 9700 5300 50 0000 L CNN
+F 1 "10n" H 9700 5100 50 0000 L CNN
+ 1 9650 5200
+ 1 0 0 -1
+$EndComp
+$Comp
+L R R7
+U 1 1 4F6E1810
+P 9650 4650
+F 0 "R7" V 9730 4650 50 0000 C CNN
+F 1 "39" V 9650 4650 50 0000 C CNN
+ 1 9650 4650
+ 1 0 0 -1
+$EndComp
+$Comp
+L C C6
+U 1 1 4F6E14CE
+P 4750 1700
+F 0 "C6" H 4800 1800 50 0000 L CNN
+F 1 "100n" H 4800 1600 50 0000 L CNN
+ 1 4750 1700
+ 1 0 0 -1
+$EndComp
+NoConn ~ 1350 2650
+$Comp
+L VCC #PWR03
+U 1 1 4F6E1412
+P 2950 2800
+F 0 "#PWR03" H 2950 2900 30 0001 C CNN
+F 1 "VCC" H 2950 2900 30 0000 C CNN
+ 1 2950 2800
+ -1 0 0 1
+$EndComp
+$Comp
+L GND #PWR04
+U 1 1 4F6E13FA
+P 3350 2800
+F 0 "#PWR04" H 3350 2800 30 0001 C CNN
+F 1 "GND" H 3350 2730 30 0001 C CNN
+ 1 3350 2800
+ 1 0 0 -1
+$EndComp
+Text GLabel 1250 2550 0 60 BiDi ~ 0
+SCL
+Text GLabel 1250 2450 0 60 BiDi ~ 0
+SDA
+$Comp
+L GND #PWR05
+U 1 1 4F6E13AD
+P 1250 2850
+F 0 "#PWR05" H 1250 2850 30 0001 C CNN
+F 1 "GND" H 1250 2780 30 0001 C CNN
+ 1 1250 2850
+ 1 0 0 -1
+$EndComp
+$Comp
+L LM75 U2
+U 1 1 4F6E139C
+P 2100 2600
+F 0 "U2" H 2100 2500 50 0000 C CNN
+F 1 "LM75" H 2100 2700 50 0000 C CNN
+F 2 "MODULE" H 2100 2600 50 0001 C CNN
+F 3 "DOCUMENTATION" H 2100 2600 50 0001 C CNN
+ 1 2100 2600
+ 1 0 0 -1
+$EndComp
+$Comp
+L AT90USB162 U1
+U 1 1 4D41ACFD
+P 3700 5250
+F 0 "U1" H 3700 5150 50 0000 C CNN
+F 1 "AT90USB162" H 3700 5350 50 0000 C CNN
+ 1 3700 5250
+ 1 0 0 -1
+$EndComp
+Text GLabel 2250 5400 0 60 Input ~ 0
+SCL
+$Comp
+L CONN_2 P4
+U 1 1 4F6E1135
+P 10700 4450
+F 0 "P4" V 10650 4450 40 0000 C CNN
+F 1 "CONN_2" V 10750 4450 40 0000 C CNN
+ 1 10700 4450
+ 1 0 0 -1
+$EndComp
+$Comp
+L R R6
+U 1 1 4F6E10E2
+P 8600 4350
+F 0 "R6" V 8680 4350 50 0000 C CNN
+F 1 "330" V 8600 4350 50 0000 C CNN
+ 1 8600 4350
+ 0 1 1 0
+$EndComp
+$Comp
+L TRIAC U3
+U 1 1 4F6E10B7
+P 9050 5100
+F 0 "U3" H 8800 5450 70 0000 C CNN
+F 1 "TRIAC" H 8750 4850 60 0000 C CNN
+ 1 9050 5100
+ 1 0 0 -1
+$EndComp
+$Comp
+L GND #PWR06
+U 1 1 4F6E1053
+P 6700 4650
+F 0 "#PWR06" H 6700 4650 30 0001 C CNN
+F 1 "GND" H 6700 4580 30 0001 C CNN
+ 1 6700 4650
+ 1 0 0 -1
+$EndComp
+$Comp
+L MOC3023M OK1
+U 1 1 4F6E103D
+P 7800 4450
+F 0 "OK1" H 7524 4674 50 0000 L BNN
+F 1 "MOC3023M" H 7524 4153 50 0000 L BNN
+F 2 "optocoupler-2-DIL06" H 7800 4600 50 0001 C CNN
+ 1 7800 4450
+ 1 0 0 -1
+$EndComp
+$Comp
+L R R5
+U 1 1 4F6E0F44
+P 6950 4350
+F 0 "R5" V 7030 4350 50 0000 C CNN
+F 1 "220" V 6950 4350 50 0000 C CNN
+ 1 6950 4350
+ 0 1 1 0
+$EndComp
+NoConn ~ 3350 4400
+NoConn ~ 3950 4400
+NoConn ~ 4050 4400
+NoConn ~ 4850 5000
+NoConn ~ 4850 5100
+NoConn ~ 4850 5200
+NoConn ~ 2550 5600
+NoConn ~ 2550 5300
+$Comp
+L CONN_8 P2
+U 1 1 4DCFB290
+P 3450 7200
+F 0 "P2" V 3400 7200 60 0000 C CNN
+F 1 "EXPANSION" V 3500 7200 60 0000 C CNN
+ 1 3450 7200
+ 0 1 1 0
+$EndComp
+Text GLabel 2250 5500 0 60 Input ~ 0
+SDA
+Text GLabel 6450 4350 0 60 Input ~ 0
+COMPRESSOR
+Text GLabel 5150 5450 2 60 Output ~ 0
+COMPRESSOR
+Text GLabel 9600 3350 2 60 Input ~ 0
+GND
+Text GLabel 9600 3200 2 60 Input ~ 0
+MOSI
+Text GLabel 9600 3050 2 60 Input ~ 0
+VCC
+Text GLabel 8350 3350 0 60 Input ~ 0
+RST
+Text GLabel 8350 3200 0 60 Input ~ 0
+SCLK
+Text GLabel 8350 3050 0 60 Input ~ 0
+MISO
+$Comp
+L CONN_3X2 P3
+U 1 1 4DCFAE62
+P 8950 3250
+F 0 "P3" H 8950 3500 50 0000 C CNN
+F 1 "ISP" V 8950 3300 40 0000 C CNN
+ 1 8950 3250
+ 1 0 0 -1
+$EndComp
+Text GLabel 3900 6450 3 60 Input ~ 0
+SCLK
+Text GLabel 4050 6450 3 60 Input ~ 0
+MOSI
+Text GLabel 5150 5600 2 60 Input ~ 0
+MISO
+Text GLabel 5150 4900 2 60 Input ~ 0
+RST
+$Comp
+L VCC #PWR07
+U 1 1 4D4449D5
+P 4900 4000
+F 0 "#PWR07" H 4900 4100 30 0001 C CNN
+F 1 "VCC" H 4900 4100 30 0000 C CNN
+ 1 4900 4000
+ 1 0 0 -1
+$EndComp
+$Comp
+L R R4
+U 1 1 4D4449CE
+P 4900 4450
+F 0 "R4" V 4980 4450 50 0000 C CNN
+F 1 "10k" V 4900 4450 50 0000 C CNN
+ 1 4900 4450
+ 1 0 0 -1
+$EndComp
+$Comp
+L GND #PWR08
+U 1 1 4D41B0F4
+P 4300 4350
+F 0 "#PWR08" H 4300 4350 30 0001 C CNN
+F 1 "GND" H 4300 4280 30 0001 C CNN
+ 1 4300 4350
+ 1 0 0 -1
+$EndComp
+$Comp
+L VCC #PWR09
+U 1 1 4D41B0CC
+P 3450 3700
+F 0 "#PWR09" H 3450 3800 30 0001 C CNN
+F 1 "VCC" H 3450 3800 30 0000 C CNN
+ 1 3450 3700
+ 1 0 0 -1
+$EndComp
+Text GLabel 3550 3600 1 60 Input ~ 0
+DM
+Text GLabel 3650 3600 1 60 Input ~ 0
+DP
+Text GLabel 3850 3700 1 60 Input ~ 0
+UCAP
+$Comp
+L GND #PWR010
+U 1 1 4D41B093
+P 1850 5300
+F 0 "#PWR010" H 1850 5300 30 0001 C CNN
+F 1 "GND" H 1850 5230 30 0001 C CNN
+ 1 1850 5300
+ 1 0 0 -1
+$EndComp
+$Comp
+L VCC #PWR011
+U 1 1 4D41B07D
+P 1650 5250
+F 0 "#PWR011" H 1650 5350 30 0001 C CNN
+F 1 "VCC" H 1650 5350 30 0000 C CNN
+ 1 1650 5250
+ 1 0 0 -1
+$EndComp
+Text GLabel 1950 5050 0 60 Input ~ 0
+X2
+Text GLabel 1950 4950 0 60 Input ~ 0
+X1
+Text GLabel 9300 1450 2 60 Input ~ 0
+X2
+Text GLabel 8500 1450 0 60 Input ~ 0
+X1
+$Comp
+L GND #PWR012
+U 1 1 4D41AE92
+P 8900 2000
+F 0 "#PWR012" H 8900 2000 30 0001 C CNN
+F 1 "GND" H 8900 1930 30 0001 C CNN
+ 1 8900 2000
+ 1 0 0 -1
+$EndComp
+$Comp
+L C C5
+U 1 1 4D41AE84
+P 9200 1700
+F 0 "C5" H 9250 1800 50 0000 L CNN
+F 1 "18p" H 9250 1600 50 0000 L CNN
+ 1 9200 1700
+ 1 0 0 -1
+$EndComp
+$Comp
+L C C4
+U 1 1 4D41AE7F
+P 8600 1700
+F 0 "C4" H 8650 1800 50 0000 L CNN
+F 1 "18p" H 8650 1600 50 0000 L CNN
+ 1 8600 1700
+ 1 0 0 -1
+$EndComp
+$Comp
+L CRYSTAL X1
+U 1 1 4D41AE62
+P 8900 1400
+F 0 "X1" H 8900 1550 60 0000 C CNN
+F 1 "CRYSTAL" H 8900 1250 60 0000 C CNN
+ 1 8900 1400
+ 1 0 0 -1
+$EndComp
+$Comp
+L CP C3
+U 1 1 4D41ADFF
+P 5100 1700
+F 0 "C3" H 5150 1800 50 0000 L CNN
+F 1 "10u" H 5150 1600 50 0000 L CNN
+ 1 5100 1700
+ 1 0 0 -1
+$EndComp
+$Comp
+L VCC #PWR013
+U 1 1 4D41ADEA
+P 5450 1600
+F 0 "#PWR013" H 5450 1700 30 0001 C CNN
+F 1 "VCC" H 5450 1700 30 0000 C CNN
+ 1 5450 1600
+ 0 -1 -1 0
+$EndComp
+$Comp
+L GND #PWR014
+U 1 1 4D41ADDC
+P 5900 2000
+F 0 "#PWR014" H 5900 2000 30 0001 C CNN
+F 1 "GND" H 5900 1930 30 0001 C CNN
+ 1 5900 2000
+ 1 0 0 -1
+$EndComp
+Text GLabel 7000 1750 2 60 Input ~ 0
+DM
+Text GLabel 7000 1600 2 60 Input ~ 0
+DP
+$Comp
+L R R3
+U 1 1 4D41ADA8
+P 6650 1750
+F 0 "R3" V 6730 1750 50 0000 C CNN
+F 1 "22" V 6650 1750 50 0000 C CNN
+ 1 6650 1750
+ 0 1 1 0
+$EndComp
+$Comp
+L R R2
+U 1 1 4D41ADA3
+P 6650 1600
+F 0 "R2" V 6730 1600 50 0000 C CNN
+F 1 "22" V 6650 1600 50 0000 C CNN
+ 1 6650 1600
+ 0 1 1 0
+$EndComp
+$Comp
+L USB J1
+U 1 1 4D41AD80
+P 5950 1400
+F 0 "J1" H 5900 1800 60 0000 C CNN
+F 1 "USB" V 5700 1550 60 0000 C CNN
+ 1 5950 1400
+ 1 0 0 -1
+$EndComp
+Text GLabel 3750 1400 0 60 Input ~ 0
+UCAP
+$Comp
+L GND #PWR015
+U 1 1 4D41AD5D
+P 3850 2000
+F 0 "#PWR015" H 3850 2000 30 0001 C CNN
+F 1 "GND" H 3850 1930 30 0001 C CNN
+ 1 3850 2000
+ 1 0 0 -1
+$EndComp
+$Comp
+L C C1
+U 1 1 4D41AD3C
+P 3850 1700
+F 0 "C1" H 3900 1800 50 0000 L CNN
+F 1 "1u" H 3900 1600 50 0000 L CNN
+ 1 3850 1700
+ 1 0 0 -1
+$EndComp
+$EndSCHEMATC
diff --git a/circuit/fridge-lock.brd b/circuit/fridge-lock.brd
new file mode 100644
index 0000000..d550c4b
--- /dev/null
+++ b/circuit/fridge-lock.brd
@@ -0,0 +1,4427 @@
+PCBNEW-BOARD Version 1 date Sat 24 Mar 2012 11:03:34 PM CET
+
+# Created by Pcbnew(2010-03-14)-final
+
+$GENERAL
+LayerCount 2
+Ly 1FFF8001
+EnabledLayers 1FFF8001
+Links 54
+NoConn 0
+Di 18924 12424 42576 30876
+Ndraw 7
+Ntrack 277
+Nzone 0
+BoardThickness 630
+Nmodule 21
+Nnets 29
+$EndGENERAL
+
+$SHEETDESCR
+Sheet A4 11700 8267
+Title ""
+Date "24 mar 2012"
+Rev ""
+Comp ""
+Comment1 ""
+Comment2 ""
+Comment3 ""
+Comment4 ""
+$EndSHEETDESCR
+
+$SETUP
+InternalUnit 0.000100 INCH
+ZoneGridSize 250
+Layers 2
+Layer[0] Back signal
+Layer[15] Front signal
+TrackWidth 157
+TrackWidthList 157
+TrackWidthList 315
+TrackClearence 79
+ZoneClearence 200
+TrackMinWidth 80
+DrawSegmWidth 150
+EdgeSegmWidth 150
+ViaSize 700
+ViaDrill 250
+ViaMinSize 350
+ViaMinDrill 200
+MicroViaSize 200
+MicroViaDrill 50
+MicroViasAllowed 0
+MicroViaMinSize 200
+MicroViaMinDrill 50
+TextPcbWidth 120
+TextPcbSize 600 800
+EdgeModWidth 150
+TextModSize 600 600
+TextModWidth 120
+PadSize 900 900
+PadDrill 450
+Pad2MaskClearance 100
+AuxiliaryAxisOrg 0 0
+$EndSETUP
+
+$EQUIPOT
+Na 0 ""
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 1 "/hot1"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 2 "/hot2"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 3 "GND"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 4 "N-000011"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 5 "N-000013"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 6 "N-000014"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 7 "N-000018"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 8 "N-000020"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 9 "N-000021"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 10 "N-000022"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 11 "N-000023"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 12 "N-000024"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 13 "N-000025"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 14 "N-000026"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 15 "N-000027"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 16 "N-000028"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 17 "N-000029"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 18 "N-000030"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 19 "N-000031"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 20 "N-000032"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 21 "N-000033"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 22 "N-000034"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 23 "N-000035"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 24 "N-000036"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 25 "N-000037"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 26 "N-000038"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 27 "N-000039"
+St ~
+$EndEQUIPOT
+$EQUIPOT
+Na 28 "VCC"
+St ~
+$EndEQUIPOT
+$NCLASS
+Name "Default"
+Desc "This is the default net class."
+Clearance 79
+TrackWidth 157
+ViaDia 700
+ViaDrill 250
+uViaDia 200
+uViaDrill 50
+AddNet ""
+AddNet "GND"
+AddNet "N-000011"
+AddNet "N-000013"
+AddNet "N-000014"
+AddNet "N-000018"
+AddNet "N-000020"
+AddNet "N-000021"
+AddNet "N-000022"
+AddNet "N-000023"
+AddNet "N-000024"
+AddNet "N-000025"
+AddNet "N-000026"
+AddNet "N-000027"
+AddNet "N-000028"
+AddNet "N-000029"
+AddNet "N-000030"
+AddNet "N-000031"
+AddNet "N-000032"
+AddNet "N-000033"
+AddNet "N-000034"
+AddNet "N-000035"
+AddNet "N-000036"
+AddNet "N-000037"
+AddNet "N-000038"
+AddNet "N-000039"
+AddNet "VCC"
+$EndNCLASS
+$NCLASS
+Name "PWR"
+Desc ""
+Clearance 79
+TrackWidth 800
+ViaDia 472
+ViaDrill 250
+uViaDia 200
+uViaDrill 50
+AddNet "/hot1"
+AddNet "/hot2"
+$EndNCLASS
+$MODULE connect-CLAMP-02
+Po 40400 14800 2700 15 00200000 4F6E2807 ~~
+Li connect-CLAMP-02
+Sc 4F6E2807
+AR /4F6E1135
+Op 0 0 0
+At VIRTUAL
+T0 1000 -2849 700 700 2700 35 N V 21 N"P4"
+T1 1350 2650 700 700 2700 35 N V 21 N"CONN_2"
+DS 1970 -2000 1970 2000 50 21
+DS -1970 -2000 -1970 2000 50 21
+DS -1970 -2000 1970 -2000 50 21
+DS 1970 2000 -1970 2000 50 21
+DS -480 -520 -1650 350 50 21
+DS -350 -350 -1530 520 50 21
+DS -500 -350 -1500 350 200 21
+DS -400 -360 -490 -460 100 21
+DS -1520 460 -1590 370 100 21
+DS 480 -520 1350 650 50 21
+DS 650 -650 1520 530 50 21
+DS 650 -500 1350 500 200 21
+DS 640 -600 540 -509 100 21
+DS 1460 520 1370 590 100 21
+DS -1650 -1800 1950 -1800 20 21
+DS -1700 -1600 1950 -1600 20 21
+DS -1800 -1400 1950 -1400 20 21
+DS -1650 1800 1950 1800 20 21
+DS -1700 1600 1950 1600 20 21
+DS -1800 1400 1950 1400 20 21
+DS 1950 1200 -1900 1200 20 21
+DS -1900 -1200 1950 -1200 20 21
+DC -1000 0 -1375 375 25 21
+DC 1000 0 1375 375 25 21
+$PAD
+Sh "1" C 900 1800 0 0 2700
+Dr 500 0 0
+At STD N 00A88001
+Ne 1 "/hot1"
+Po -1000 0
+$EndPAD
+$PAD
+Sh "2" C 900 1800 0 0 2700
+Dr 500 0 0
+At STD N 00A88001
+Ne 2 "/hot2"
+Po 1000 0
+$EndPAD
+$EndMODULE connect-CLAMP-02
+$MODULE crystal-HC49UP
+Po 38400 28800 0 15 00200000 4F6E2808 ~~
+Li crystal-HC49UP
+Cd CRYSTAL
+Kw CRYSTAL
+Sc 4F6E2808
+AR /4D41AE62
+Op 0 0 0
+At SMD
+T0 -1000 1350 500 500 0 35 N V 21 N"X1"
+T1 -750 -1400 500 500 0 35 N V 21 N"CRYSTAL"
+DS -2600 1200 2600 1200 26 21
+DS 2600 1200 2600 -1200 26 21
+DS -2600 -1200 2600 -1200 26 21
+DS -2600 1200 -2600 -1200 26 21
+DS -2250 -450 -2250 -850 60 21
+DS 2250 -450 2250 -850 60 21
+DS 1350 500 -1350 500 20 21
+DS 1350 800 -1350 800 20 21
+DS -1350 -500 1350 -500 20 21
+DS 2150 950 -2150 950 60 21
+DS 2250 150 2550 150 60 21
+DS 2250 -150 2550 -150 60 21
+DS 2550 150 2550 -150 60 21
+DS 2250 450 2250 -450 60 21
+DS 2250 850 2250 450 60 21
+DS -2550 150 -2550 -150 60 21
+DS -2250 450 -2250 150 60 21
+DS -2250 150 -2250 -150 60 21
+DS -2250 -150 -2250 -450 60 21
+DS -2250 850 -2250 450 60 21
+DS -2250 150 -2550 150 60 21
+DS -2250 -150 -2550 -150 60 21
+DS -1350 -800 1350 -800 20 21
+DS 2150 -950 -2150 -950 60 21
+DS -100 -250 -100 250 60 21
+DS -100 250 100 250 60 21
+DS 100 250 100 -250 60 21
+DS 100 -250 -100 -250 60 21
+DS -250 -250 -250 0 60 21
+DS -250 0 -250 250 60 21
+DS -250 0 -400 0 20 21
+DS 250 -250 250 0 60 21
+DS 250 0 250 250 60 21
+DS 250 0 400 0 20 21
+DA -1349 0 -2011 -450 4157 20 21
+DA 1350 0 1350 -800 4157 20 21
+DA 2150 850 2250 850 4500 60 21
+DA 1350 0 1567 450 3858 20 21
+DA 1350 0 1350 -500 3858 20 21
+DA 1349 0 2011 449 4157 20 21
+DA 1350 0 1567 -450 4883 20 21
+DA 1350 0 2011 -450 4284 20 21
+DA -1350 0 -1350 800 4157 20 21
+DA -1350 0 -1567 450 4883 20 21
+DA -1350 0 -1350 500 3858 20 21
+DA -1350 0 -1567 -450 3858 20 21
+DA -1350 0 -2011 450 4284 20 21
+DA -2150 850 -2150 950 4500 60 21
+DA 2150 -850 2150 -950 4500 60 21
+DA -2150 -850 -2250 -850 4500 60 21
+$PAD
+Sh "1" R 2100 760 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 10 "N-000022"
+Po -1900 0
+$EndPAD
+$PAD
+Sh "2" R 2100 760 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 27 "N-000039"
+Po 1900 0
+$EndPAD
+$EndMODULE crystal-HC49UP
+$MODULE DIP-6__300_ELL
+Po 38400 20450 0 15 4879C789 4F6E2809 ~~
+Li DIP-6__300_ELL
+Cd 6 pins DIL package, elliptical pads
+Kw DIL
+Sc 4F6E2809
+AR /4F6E103D
+Op 0 0 0
+T0 0 -400 600 400 0 60 N V 21 N"OK1"
+T1 0 500 500 350 0 60 N V 21 N"MOC3023M"
+DS -1750 -1000 1750 -1000 150 21
+DS 1750 -1000 1750 1000 150 21
+DS 1750 1000 -1750 1000 150 21
+DS -1750 1000 -1750 -1000 150 21
+DS -1750 -250 -1250 -250 150 21
+DS -1250 -250 -1250 250 150 21
+DS -1250 250 -1750 250 150 21
+$PAD
+Sh "1" R 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 5 "N-000013"
+Po -1000 1500
+$EndPAD
+$PAD
+Sh "2" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 3 "GND"
+Po 0 1500
+$EndPAD
+$PAD
+Sh "3" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 1000 1500
+$EndPAD
+$PAD
+Sh "4" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 6 "N-000014"
+Po 1000 -1500
+$EndPAD
+$PAD
+Sh "5" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 0 ""
+Po 0 -1500
+$EndPAD
+$PAD
+Sh "6" O 620 900 0 0 0
+Dr 320 0 0
+At STD N 00E0FFFF
+Ne 4 "N-000011"
+Po -1000 -1500
+$EndPAD
+$SHAPE3D
+Na "dil/dil_6.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE DIP-6__300_ELL
+$MODULE molex-microusb
+Po 22600 13200 2700 15 4D4455B2 4F6E280A ~~
+Li molex-microusb
+Sc 4F6E280A
+AR /4D41AD80
+Op 0 0 0
+T0 -906 -3256 276 276 2700 39 N V 21 N"J1"
+T1 -2366 -2083 315 315 2700 79 N V 21 N"USB"
+DS -587 2807 -587 2949 50 21
+DS -587 -610 -587 -748 50 21
+DS -850 -602 -850 2815 50 21
+DS -587 -602 -587 2791 50 21
+$PAD
+Sh "" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1046 1390
+$EndPAD
+$PAD
+Sh "3" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 12 "N-000024"
+Po 1046 1134
+$EndPAD
+$PAD
+Sh "" R 827 473 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 903 164
+$EndPAD
+$PAD
+Sh "1" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po 1045 622
+$EndPAD
+$PAD
+Sh "" R 827 472 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 903 2102
+$EndPAD
+$PAD
+Sh "" R 748 933 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 2279
+$EndPAD
+$PAD
+Sh "" R 748 933 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 -13
+$EndPAD
+$PAD
+Sh "" R 748 463 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 802
+$EndPAD
+$PAD
+Sh "" R 748 463 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1 1464
+$EndPAD
+$PAD
+Sh "2" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 13 "N-000025"
+Po 1046 878
+$EndPAD
+$PAD
+Sh "5" R 543 157 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 1046 1646
+$EndPAD
+$EndMODULE molex-microusb
+$MODULE pin_array_3x2
+Po 28400 18600 1800 15 42931587 4F6E280C ~~
+Li pin_array_3x2
+Cd Double rangee de contacts 2 x 4 pins
+Kw CONN
+Sc 4F6E280C
+AR /4DCFAE62
+Op 0 0 0
+T0 0 -1500 400 400 1800 80 N V 21 N"P3"
+T1 0 1500 400 400 1800 80 N I 21 N"ISP"
+DS 1500 1000 -1500 1000 80 21
+DS -1500 -1000 1500 -1000 80 21
+DS 1500 -1000 1500 1000 80 21
+DS -1500 1000 -1500 -1000 80 21
+$PAD
+Sh "1" R 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 16 "N-000028"
+Po -1000 500
+$EndPAD
+$PAD
+Sh "2" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 28 "VCC"
+Po -1000 -500
+$EndPAD
+$PAD
+Sh "3" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 22 "N-000034"
+Po 0 500
+$EndPAD
+$PAD
+Sh "4" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 21 "N-000033"
+Po 0 -500
+$EndPAD
+$PAD
+Sh "5" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 20 "N-000032"
+Po 1000 500
+$EndPAD
+$PAD
+Sh "6" C 600 600 0 0 1800
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 3 "GND"
+Po 1000 -500
+$EndPAD
+$SHAPE3D
+Na "pin_array/pins_array_3x2.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE pin_array_3x2
+$MODULE SM1206
+Po 34200 17600 0 15 42806E24 4F6E280D ~~
+Li SM1206
+Sc 4F6E280D
+AR /4F6E1810
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"R7"
+T1 0 0 300 300 0 50 N I 21 N"39"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 1 "/hot1"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 26 "N-000038"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 34200 18800 0 15 42806E24 4F6E280F ~~
+Li SM1206
+Sc 4F6E280F
+AR /4F6E10E2
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"R6"
+T1 0 0 300 300 0 50 N I 21 N"330"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 1 "/hot1"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 4 "N-000011"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 35010 20530 900 15 42806E24 4F6E2811 ~~
+Li SM1206
+Sc 4F6E2811
+AR /4F6E0F44
+Op 0 0 0
+At SMD
+T0 0 0 300 300 900 50 N V 21 N"R5"
+T1 0 0 300 300 900 50 N I 21 N"220"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 5 "N-000013"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 17 "N-000029"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 22400 26200 0 15 42806E24 4F6E2813 ~~
+Li SM1206
+Sc 4F6E2813
+AR /4D4449CE
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"R4"
+T1 0 0 300 300 0 50 N I 21 N"10k"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 20 "N-000032"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 22400 17000 900 15 42806E24 4F6E2815 ~~
+Li SM1206
+Sc 4F6E2815
+AR /4D41ADA8
+Op 0 0 0
+At SMD
+T0 0 0 300 300 900 50 N V 21 N"R3"
+T1 0 0 300 300 900 50 N I 21 N"22"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 15 "N-000027"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 13 "N-000025"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 21200 17000 900 15 42806E24 4F6E2817 ~~
+Li SM1206
+Sc 4F6E2817
+AR /4D41ADA3
+Op 0 0 0
+At SMD
+T0 0 0 300 300 900 50 N V 21 N"R2"
+T1 0 0 300 300 900 50 N I 21 N"22"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 14 "N-000026"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 12 "N-000024"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 36600 17600 0 15 42806E24 4F6E2819 ~~
+Li SM1206
+Sc 4F6E2819
+AR /4F6E181E
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"C7"
+T1 0 0 300 300 0 50 N I 21 N"10n"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 26 "N-000038"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 2 "/hot2"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 40200 24800 1800 15 42806E24 4F6E281B ~~
+Li SM1206
+Sc 4F6E281B
+AR /4F6E14CE
+Op 0 0 0
+At SMD
+T0 0 0 300 300 1800 50 N V 21 N"C6"
+T1 0 0 300 300 1800 50 N I 21 N"100n"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 40200 26400 1800 15 42806E24 4F6E281D ~~
+Li SM1206
+Sc 4F6E281D
+AR /4D41AE84
+Op 0 0 0
+At SMD
+T0 0 0 300 300 1800 50 N V 21 N"C5"
+T1 0 0 300 300 1800 50 N I 21 N"18p"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 27 "N-000039"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206
+Po 36800 26400 0 15 42806E24 4F6E281F ~~
+Li SM1206
+Sc 4F6E281F
+AR /4D41AE7F
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"C4"
+T1 0 0 300 300 0 50 N I 21 N"18p"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 10 "N-000022"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE SM1206POL
+Po 36800 24800 1800 15 42806E4C 4F6E2820 ~~
+Li SM1206POL
+Sc 4F6E2820
+AR /4D41ADFF
+Op 0 0 0
+At SMD
+T0 0 0 300 300 1800 50 N V 21 N"C3"
+T1 0 0 300 300 1800 50 N I 21 N"10u"
+DS -1000 -450 -1100 -450 50 21
+DS -1100 -450 -1100 450 50 21
+DS -1100 450 -1000 450 50 21
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 1800
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms_pol.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206POL
+$MODULE SO8E
+Po 31400 27000 2700 15 42806F54 4F6E2821 ~~
+Li SO8E
+Cd module CMS SOJ 8 pins etroit
+Kw CMS SOJ
+Sc 4F6E2821
+AR /4F6E139C
+Op 0 0 0
+At SMD
+T0 0 -350 450 450 2700 60 N V 21 N"U2"
+T1 0 400 350 350 2700 60 N V 21 N"LM75"
+DS -1050 700 -1050 750 50 21
+DS -1050 750 1050 750 50 21
+DS 1050 -750 -1050 -750 50 21
+DS -1050 -750 -1050 700 50 21
+DS -1050 -200 -850 -200 50 21
+DS -850 -200 -850 200 50 21
+DS -850 200 -1050 200 50 21
+DS 1050 -750 1050 750 50 21
+$PAD
+Sh "8" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po -750 -1050
+$EndPAD
+$PAD
+Sh "1" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 7 "N-000018"
+Po -750 1050
+$EndPAD
+$PAD
+Sh "7" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po -250 -1050
+$EndPAD
+$PAD
+Sh "6" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 250 -1050
+$EndPAD
+$PAD
+Sh "5" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po 750 -1050
+$EndPAD
+$PAD
+Sh "2" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 9 "N-000021"
+Po -250 1050
+$EndPAD
+$PAD
+Sh "3" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 250 1050
+$EndPAD
+$PAD
+Sh "4" R 200 450 0 0 2700
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 750 1050
+$EndPAD
+$SHAPE3D
+Na "smd/cms_so8.wrl"
+Sc 0.500000 0.320000 0.500000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SO8E
+$MODULE TQFP32
+Po 24800 22200 900 15 43A670DA 4F6E2823 ~~
+Li TQFP32
+Sc 4F6E2823
+AR /4D41ACFD
+Op 0 0 0
+T0 0 -500 500 400 900 80 N V 21 N"U1"
+T1 0 750 500 400 900 80 N V 21 N"AT90USB162"
+DS 1980 1090 1530 1090 60 21
+DS 1980 -1090 1540 -1090 60 21
+DS 1980 1090 1980 -1090 60 21
+DS 1100 1560 1100 1990 60 21
+DS -1110 1570 -1110 1990 60 21
+DS -1120 1990 1100 2000 60 21
+DS -1100 -1980 1070 -1990 60 21
+DS -1530 -1290 -1530 1540 60 21
+DS 1080 -1980 1080 -1570 60 21
+DS -1280 -1530 1500 -1530 60 21
+DS 1520 1550 1520 -1490 60 21
+DS -1530 1550 1470 1550 60 21
+DS -1980 -1120 -1980 1100 60 21
+DS -1980 1100 -1530 1100 60 21
+DS -1526 -1300 -1296 -1530 60 21
+DS -1978 -1120 -1526 -1120 60 21
+DS -1100 -1530 -1100 -1982 60 21
+DC -1118 -1126 -958 -1026 60 21
+$PAD
+Sh "8" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1896 1093
+$EndPAD
+$PAD
+Sh "7" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 7 "N-000018"
+Po -1896 778
+$EndPAD
+$PAD
+Sh "6" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 9 "N-000021"
+Po -1896 463
+$EndPAD
+$PAD
+Sh "5" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1896 148
+$EndPAD
+$PAD
+Sh "4" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -1896 -167
+$EndPAD
+$PAD
+Sh "3" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po -1896 -482
+$EndPAD
+$PAD
+Sh "2" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 27 "N-000039"
+Po -1896 -797
+$EndPAD
+$PAD
+Sh "1" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 10 "N-000022"
+Po -1896 -1112
+$EndPAD
+$PAD
+Sh "24" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 20 "N-000032"
+Po 1870 -1110
+$EndPAD
+$PAD
+Sh "17" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 16 "N-000028"
+Po 1870 1100
+$EndPAD
+$PAD
+Sh "18" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 17 "N-000029"
+Po 1870 780
+$EndPAD
+$PAD
+Sh "19" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 460
+$EndPAD
+$PAD
+Sh "20" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 150
+$EndPAD
+$PAD
+Sh "21" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 -170
+$EndPAD
+$PAD
+Sh "22" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 -480
+$EndPAD
+$PAD
+Sh "23" R 787 177 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1870 -800
+$EndPAD
+$PAD
+Sh "32" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po -1112 -1900
+$EndPAD
+$PAD
+Sh "31" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 28 "VCC"
+Po -798 -1900
+$EndPAD
+$PAD
+Sh "30" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 15 "N-000027"
+Po -482 -1900
+$EndPAD
+$PAD
+Sh "29" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 14 "N-000026"
+Po -168 -1900
+$EndPAD
+$PAD
+Sh "28" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 148 -1900
+$EndPAD
+$PAD
+Sh "27" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 11 "N-000023"
+Po 462 -1900
+$EndPAD
+$PAD
+Sh "26" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 778 -1900
+$EndPAD
+$PAD
+Sh "25" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 0 ""
+Po 1092 -1900
+$EndPAD
+$PAD
+Sh "9" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 25 "N-000037"
+Po -1110 1880
+$EndPAD
+$PAD
+Sh "10" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 8 "N-000020"
+Po -800 1880
+$EndPAD
+$PAD
+Sh "11" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 24 "N-000036"
+Po -480 1880
+$EndPAD
+$PAD
+Sh "12" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 18 "N-000030"
+Po -170 1880
+$EndPAD
+$PAD
+Sh "13" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 23 "N-000035"
+Po 140 1880
+$EndPAD
+$PAD
+Sh "14" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 19 "N-000031"
+Po 460 1880
+$EndPAD
+$PAD
+Sh "15" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 22 "N-000034"
+Po 780 1880
+$EndPAD
+$PAD
+Sh "16" R 177 787 0 0 900
+Dr 0 0 0
+At SMD N 00888000
+Ne 21 "N-000033"
+Po 1100 1880
+$EndPAD
+$SHAPE3D
+Na "smd/tqfp32.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE TQFP32
+$MODULE pin_array_4x2
+Po 31800 22400 2700 15 3FAB90E6 4F6E280B ~~
+Li pin_array_4x2
+Cd Double rangee de contacts 2 x 4 pins
+Kw CONN
+Sc 4F6E280B
+AR /4DCFB290
+Op 0 0 0
+T0 0 -1500 400 400 2700 80 N V 21 N"P2"
+T1 0 1500 400 400 2700 80 N I 21 N"EXPANSION"
+DS -2000 -1000 2000 -1000 120 21
+DS 2000 -1000 2000 1000 120 21
+DS 2000 1000 -2000 1000 120 21
+DS -2000 1000 -2000 -1000 120 21
+$PAD
+Sh "1" R 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 3 "GND"
+Po -1500 500
+$EndPAD
+$PAD
+Sh "2" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 19 "N-000031"
+Po -1500 -500
+$EndPAD
+$PAD
+Sh "3" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 23 "N-000035"
+Po -500 500
+$EndPAD
+$PAD
+Sh "4" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 18 "N-000030"
+Po -500 -500
+$EndPAD
+$PAD
+Sh "5" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 24 "N-000036"
+Po 500 500
+$EndPAD
+$PAD
+Sh "6" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 8 "N-000020"
+Po 500 -500
+$EndPAD
+$PAD
+Sh "7" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 25 "N-000037"
+Po 1500 500
+$EndPAD
+$PAD
+Sh "8" C 600 600 0 0 2700
+Dr 400 0 0
+At STD N 00E0FFFF
+Ne 28 "VCC"
+Po 1500 -500
+$EndPAD
+$SHAPE3D
+Na "pin_array/pins_array_4x2.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE pin_array_4x2
+$MODULE SM1206
+Po 22400 27800 0 15 42806E24 4F6E2806 ~~
+Li SM1206
+Sc 4F6E2806
+AR /4D41AD3C
+Op 0 0 0
+At SMD
+T0 0 0 300 300 0 50 N V 21 N"C1"
+T1 0 0 300 300 0 50 N I 21 N"1u"
+DS -1000 -450 -1000 450 50 21
+DS -1000 450 -350 450 50 21
+DS 350 -450 1000 -450 50 21
+DS 1000 -450 1000 450 50 21
+DS 1000 450 350 450 50 21
+DS -350 -450 -1000 -450 50 21
+$PAD
+Sh "1" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 11 "N-000023"
+Po -650 0
+$EndPAD
+$PAD
+Sh "2" R 600 800 0 0 0
+Dr 0 0 0
+At SMD N 00888000
+Ne 3 "GND"
+Po 650 0
+$EndPAD
+$SHAPE3D
+Na "smd/chip_cms.wrl"
+Sc 0.170000 0.160000 0.160000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE SM1206
+$MODULE TO220-TRIAC
+Po 32800 15200 1800 15 4F6E38F2 4F6E2822 ~~
+Li TO220-TRIAC
+Cd Transistor TO 220
+Kw TR TO220 DEV
+Sc 4F6E2822
+AR /4F6E10B7
+Op 0 0 0
+T0 2750 0 400 400 2700 80 N V 21 N"U3"
+T1 4250 0 400 400 2700 80 N V 21 N"TRIAC"
+DS 0 -1000 2000 -1000 120 21
+DS 0 0 2000 0 120 21
+DS 0 1000 2000 1000 120 21
+DS 2000 2000 8000 2000 120 21
+DS 8000 2000 8000 -2000 120 21
+DS 8000 -2000 2000 -2000 120 21
+DS 2000 -2000 2000 2000 120 21
+DS 5000 1500 5000 -2000 120 21
+DS 5000 1500 5000 2000 120 21
+$PAD
+Sh "3" R 900 900 0 0 1800
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 6 "N-000014"
+Po 0 1000
+$EndPAD
+$PAD
+Sh "1" C 900 900 0 0 1800
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 2 "/hot2"
+Po 0 -1000
+$EndPAD
+$PAD
+Sh "2" C 900 900 0 0 1800
+Dr 450 0 0
+At STD N 00E0FFFF
+Ne 1 "/hot1"
+Po 0 0
+$EndPAD
+$PAD
+Sh "4" R 3500 3500 0 0 1800
+Dr 1200 0 0
+At STD N 00F0FFFF
+Ne 0 ""
+Po 6500 0
+$EndPAD
+$SHAPE3D
+Na "discret/to220_horiz.wrl"
+Sc 1.000000 1.000000 1.000000
+Of 0.000000 0.000000 0.000000
+Ro 0.000000 0.000000 0.000000
+$EndSHAPE3D
+$EndMODULE TO220-TRIAC
+$DRAWSEGMENT
+Po 0 19000 30800 19000 12500 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 42500 30800 19000 30800 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 42500 12500 42500 30800 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$TEXTPCB
+Te "Rev A"
+Po 41500 20600 600 800 120 900
+De 15 1 0 Normal
+$EndTEXTPCB
+$TEXTPCB
+Te "Bitraf 2012"
+Po 21100 29900 400 800 75 0
+De 15 1 0 Normal
+$EndTEXTPCB
+$DRAWSEGMENT
+Po 0 42500 30800 19000 30800 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$DRAWSEGMENT
+Po 0 19000 12500 42500 12500 150
+De 28 0 900 0 0
+$EndDRAWSEGMENT
+$TRACK
+Po 0 33550 17600 33550 18800 158 -1
+De 15 0 1 0 C00
+Po 0 32200 17600 33550 17600 158 -1
+De 15 0 1 0 400
+Po 0 31800 17200 32200 17600 158 -1
+De 15 0 1 0 0
+Po 0 31800 15800 31800 17200 158 -1
+De 15 0 1 0 0
+Po 0 32400 15200 31800 15800 158 -1
+De 15 0 1 0 0
+Po 0 32800 15200 32400 15200 158 -1
+De 15 0 1 0 800
+Po 0 39000 15200 40400 13800 800 -1
+De 15 0 1 0 400
+Po 0 32800 15200 39000 15200 800 -1
+De 15 0 1 0 800
+Po 0 38600 17600 40000 16200 158 -1
+De 15 0 2 0 0
+Po 0 37250 17600 38600 17600 158 -1
+De 15 0 2 0 800
+Po 0 40000 16200 40400 15800 158 -1
+De 15 0 2 0 400
+Po 0 32800 16200 40000 16200 800 -1
+De 15 0 2 0 800
+Po 0 40000 16200 40400 15800 800 -1
+De 15 0 2 0 400
+Po 0 20128 22100 20100 22100 157 -1
+De 15 0 3 0 0
+Po 0 20100 22100 20128 22100 157 -1
+De 15 0 3 0 0
+Po 0 20128 27886 20128 27928 158 -1
+De 15 0 3 0 0
+Po 0 20128 22100 20128 27886 158 -1
+De 15 0 3 0 0
+Po 0 22900 29100 24345 30545 157 -1
+De 15 0 3 0 0
+Po 0 21300 29100 22900 29100 157 -1
+De 15 0 3 0 0
+Po 0 20128 27928 21300 29100 157 -1
+De 15 0 3 0 0
+Po 0 22900 22052 21748 22052 157 -1
+De 15 0 3 0 800
+Po 0 19600 22100 20128 22100 157 -1
+De 15 0 3 0 0
+Po 3 19600 22100 19600 22100 700 -1
+De 15 1 3 0 0
+Po 0 21700 22100 19600 22100 157 -1
+De 0 0 3 0 0
+Po 3 21700 22100 21700 22100 700 -1
+De 15 1 3 0 0
+Po 0 21748 22052 21700 22100 157 -1
+De 15 0 3 0 0
+Po 0 30350 27750 30735 27750 158 -1
+De 15 0 3 0 800
+Po 0 32835 27250 32835 26750 158 -1
+De 15 0 3 0 0
+Po 0 32450 26750 32583 26750 158 -1
+De 15 0 3 0 800
+Po 0 32583 26750 32835 26750 158 -1
+De 15 0 3 0 0
+Po 0 32450 27250 32775 27250 158 -1
+De 15 0 3 0 800
+Po 0 32775 27250 32835 27250 158 -1
+De 15 0 3 0 0
+Po 0 32835 27250 32993 27408 158 -1
+De 15 0 3 0 0
+Po 0 36150 24800 35920 24800 158 -1
+De 15 0 3 0 800
+Po 0 35920 24800 35690 24800 158 -1
+De 15 0 3 0 0
+Po 0 38400 21950 38400 22560 158 -1
+De 15 0 3 0 800
+Po 0 36581 25461 35920 24800 158 -1
+De 15 0 3 0 0
+Po 0 38151 25461 36581 25461 158 -1
+De 15 0 3 0 0
+Po 0 39090 26400 38151 25461 158 -1
+De 15 0 3 0 0
+Po 0 32993 27986 32993 27408 158 -1
+De 15 0 3 0 0
+Po 0 32948 28031 32993 27986 158 -1
+De 15 0 3 0 0
+Po 0 31016 28031 32948 28031 158 -1
+De 15 0 3 0 0
+Po 0 30735 27750 31016 28031 158 -1
+De 15 0 3 0 0
+Po 0 32545 26250 32771 26250 158 -1
+De 15 0 3 0 0
+Po 0 39543 26400 39090 26400 158 -1
+De 15 0 3 0 0
+Po 0 39543 26400 39550 26400 158 -1
+De 15 0 3 0 400
+Po 0 39550 26400 40010 26400 158 -1
+De 15 0 3 0 800
+Po 0 33082 27408 32993 27408 158 -1
+De 15 0 3 0 0
+Po 0 35690 24800 33082 27408 158 -1
+De 15 0 3 0 0
+Po 0 38400 22560 38400 23571 158 -1
+De 15 0 3 0 0
+Po 0 39090 24261 38400 23571 158 -1
+De 15 0 3 0 0
+Po 0 39090 24800 39090 24261 158 -1
+De 15 0 3 0 0
+Po 0 35450 23571 38400 23571 158 -1
+De 15 0 3 0 0
+Po 0 32771 26250 35450 23571 158 -1
+De 15 0 3 0 0
+Po 0 39550 24800 39090 24800 158 -1
+De 15 0 3 0 800
+Po 0 32771 26562 32771 26250 158 -1
+De 15 0 3 0 0
+Po 0 32583 26750 32771 26562 158 -1
+De 15 0 3 0 0
+Po 0 39134 29341 39074 29281 158 -1
+De 15 0 3 0 0
+Po 0 41466 29341 39134 29341 158 -1
+De 15 0 3 0 0
+Po 0 41511 29296 41466 29341 158 -1
+De 15 0 3 0 0
+Po 0 41511 26084 41511 29296 158 -1
+De 15 0 3 0 0
+Po 0 41266 25839 41511 26084 158 -1
+De 15 0 3 0 0
+Po 0 40111 25839 41266 25839 158 -1
+De 15 0 3 0 0
+Po 0 40010 25940 40111 25839 158 -1
+De 15 0 3 0 0
+Po 0 40010 26400 40010 25940 158 -1
+De 15 0 3 0 0
+Po 0 25051 29341 23510 27800 158 -1
+De 15 0 3 0 0
+Po 0 39014 29341 25051 29341 158 -1
+De 15 0 3 0 0
+Po 0 39074 29281 39014 29341 158 -1
+De 15 0 3 0 0
+Po 0 39074 27564 37910 26400 158 -1
+De 15 0 3 0 0
+Po 0 39074 29281 39074 27564 158 -1
+De 15 0 3 0 0
+Po 0 23050 27800 23510 27800 158 -1
+De 15 0 3 0 800
+Po 0 37450 26400 37910 26400 158 -1
+De 15 0 3 0 800
+Po 0 24318 24599 24318 24096 158 -1
+De 15 0 3 0 400
+Po 0 27469 27750 24318 24599 158 -1
+De 15 0 3 0 0
+Po 0 30350 27750 27469 27750 158 -1
+De 15 0 3 0 800
+Po 0 24318 24096 24318 22052 158 -1
+De 15 0 3 0 800
+Po 0 27400 19641 27400 19100 158 -1
+De 15 0 3 0 400
+Po 0 24989 22052 27400 19641 158 -1
+De 15 0 3 0 0
+Po 0 24318 22052 24989 22052 158 -1
+De 15 0 3 0 0
+Po 0 32450 26250 32485 26250 158 -1
+De 15 0 3 0 800
+Po 0 32485 26250 32545 26250 158 -1
+De 15 0 3 0 0
+Po 0 28879 19658 28879 18917 158 -1
+De 15 0 3 0 0
+Po 0 30121 20900 28879 19658 158 -1
+De 15 0 3 0 0
+Po 0 31300 20900 30121 20900 158 -1
+De 15 0 3 0 800
+Po 0 27640 19100 27400 19100 158 -1
+De 15 0 3 0 400
+Po 0 28179 18561 27640 19100 158 -1
+De 15 0 3 0 0
+Po 0 28523 18561 28179 18561 158 -1
+De 15 0 3 0 0
+Po 0 28879 18917 28523 18561 158 -1
+De 15 0 3 0 0
+Po 0 20954 15224 20954 14246 158 -1
+De 15 0 3 0 400
+Po 0 20128 16050 20954 15224 158 -1
+De 15 0 3 0 0
+Po 0 20128 22100 20128 16050 158 -1
+De 15 0 3 0 0
+Po 0 41081 30545 24345 30545 158 -1
+De 15 0 3 0 0
+Po 0 42200 29426 41081 30545 158 -1
+De 15 0 3 0 0
+Po 0 42200 23586 42200 29426 158 -1
+De 15 0 3 0 0
+Po 0 38970 20356 42200 23586 158 -1
+De 15 0 3 0 0
+Po 0 33136 20356 38970 20356 158 -1
+De 15 0 3 0 0
+Po 0 31341 18561 33136 20356 158 -1
+De 15 0 3 0 0
+Po 0 29235 18561 31341 18561 158 -1
+De 15 0 3 0 0
+Po 0 28879 18917 29235 18561 158 -1
+De 15 0 3 0 0
+Po 0 37250 18800 37400 18950 158 -1
+De 15 0 4 0 400
+Po 0 34850 18800 37250 18800 158 -1
+De 15 0 4 0 800
+Po 0 37400 21950 35780 21950 157 -1
+De 15 0 5 0 800
+Po 0 35780 21950 35010 21180 157 -1
+De 15 0 5 0 400
+Po 0 40850 18950 39400 18950 158 -1
+De 15 0 6 0 400
+Po 0 41600 18200 40850 18950 158 -1
+De 15 0 6 0 0
+Po 0 41600 13600 41600 18200 158 -1
+De 15 0 6 0 0
+Po 0 40800 12800 41600 13600 158 -1
+De 15 0 6 0 0
+Po 0 34200 12800 40800 12800 158 -1
+De 15 0 6 0 0
+Po 0 32800 14200 34200 12800 158 -1
+De 15 0 6 0 800
+Po 0 27203 26250 30350 26250 158 -1
+De 15 0 7 0 400
+Po 0 25578 24625 27203 26250 158 -1
+De 15 0 7 0 0
+Po 0 25578 24096 25578 24625 158 -1
+De 15 0 7 0 800
+Po 0 28994 23000 26680 23000 158 -1
+De 15 0 8 0 400
+Po 0 29433 23439 28994 23000 158 -1
+De 15 0 8 0 0
+Po 0 31761 23439 29433 23439 158 -1
+De 15 0 8 0 0
+Po 0 32300 22900 31761 23439 158 -1
+De 15 0 8 0 800
+Po 0 27364 26750 30350 26750 158 -1
+De 15 0 9 0 400
+Po 0 25263 24649 27364 26750 158 -1
+De 15 0 9 0 0
+Po 0 25263 24096 25263 24649 158 -1
+De 15 0 9 0 800
+Po 0 36150 26400 35920 26400 158 -1
+De 15 0 10 0 800
+Po 0 35920 26400 35690 26400 158 -1
+De 15 0 10 0 0
+Po 0 35920 27680 36500 28260 158 -1
+De 15 0 10 0 0
+Po 0 35920 26400 35920 27680 158 -1
+De 15 0 10 0 0
+Po 0 36500 28800 36500 28260 158 -1
+De 15 0 10 0 800
+Po 0 23688 24666 23688 24096 158 -1
+De 15 0 10 0 400
+Po 0 27787 28765 23688 24666 158 -1
+De 15 0 10 0 0
+Po 0 33325 28765 27787 28765 158 -1
+De 15 0 10 0 0
+Po 0 35690 26400 33325 28765 158 -1
+De 15 0 10 0 0
+Po 0 20929 23155 20929 22071 158 -1
+De 15 0 11 0 0
+Po 0 21290 27800 20929 27439 158 -1
+De 15 0 11 0 0
+Po 0 20929 27439 20929 23155 158 -1
+De 15 0 11 0 0
+Po 0 21750 27800 21290 27800 158 -1
+De 15 0 11 0 800
+Po 0 22200 21500 22438 21738 157 -1
+De 15 0 11 0 0
+Po 0 21500 21500 22200 21500 157 -1
+De 15 0 11 0 0
+Po 0 20929 22071 21500 21500 157 -1
+De 15 0 11 0 0
+Po 0 22900 21738 22438 21738 158 -1
+De 15 0 11 0 800
+Po 0 21466 15624 21466 14246 158 -1
+De 15 0 12 0 400
+Po 0 21200 15890 21466 15624 158 -1
+De 15 0 12 0 0
+Po 0 21200 16350 21200 15890 158 -1
+De 15 0 12 0 800
+Po 0 21722 15212 21722 14246 158 -1
+De 15 0 13 0 400
+Po 0 22400 15890 21722 15212 158 -1
+De 15 0 13 0 0
+Po 0 22400 16350 22400 15890 158 -1
+De 15 0 13 0 800
+Po 0 22900 22368 22346 22368 158 -1
+De 15 0 14 0 800
+Po 0 21200 17650 21200 18110 158 -1
+De 15 0 14 0 800
+Po 0 20690 18620 21200 18110 158 -1
+De 15 0 14 0 0
+Po 0 20690 27719 20690 18620 158 -1
+De 15 0 14 0 0
+Po 0 21342 28371 20690 27719 158 -1
+De 15 0 14 0 0
+Po 0 22190 28371 21342 28371 158 -1
+De 15 0 14 0 0
+Po 0 22210 28351 22190 28371 158 -1
+De 15 0 14 0 0
+Po 0 22210 27270 22210 28351 158 -1
+De 15 0 14 0 0
+Po 0 21707 26767 22210 27270 158 -1
+De 15 0 14 0 0
+Po 0 21321 26767 21707 26767 158 -1
+De 15 0 14 0 0
+Po 0 21276 26722 21321 26767 158 -1
+De 15 0 14 0 0
+Po 0 21276 23438 21276 26722 158 -1
+De 15 0 14 0 0
+Po 0 22346 22368 21276 23438 158 -1
+De 15 0 14 0 0
+Po 0 22400 19800 22400 19900 157 -1
+De 15 0 15 0 0
+Po 0 22400 17650 22400 19800 157 -1
+De 15 0 15 0 800
+Po 0 23318 22682 22900 22682 157 -1
+De 15 0 15 0 400
+Po 0 23500 22500 23500 21000 157 -1
+De 15 0 15 0 0
+Po 0 23318 22682 23500 22500 157 -1
+De 15 0 15 0 0
+Po 0 23000 20500 23500 21000 157 -1
+De 15 0 15 0 0
+Po 0 22400 19900 23000 20500 157 -1
+De 15 0 15 0 0
+Po 0 25900 20330 25900 20300 157 -1
+De 15 0 16 0 800
+Po 0 30400 18100 29400 18100 157 -1
+De 15 0 16 0 400
+Po 0 30500 18000 30400 18100 157 -1
+De 15 0 16 0 0
+Po 3 30500 18000 30500 18000 700 -1
+De 15 1 16 0 0
+Po 0 30500 19800 30500 18000 157 -1
+De 0 0 16 0 0
+Po 0 26400 19800 30500 19800 157 -1
+De 0 0 16 0 0
+Po 3 26400 19800 26400 19800 700 -1
+De 15 1 16 0 0
+Po 0 25900 20300 26400 19800 157 -1
+De 15 0 16 0 0
+Po 0 35010 19880 33780 19880 157 -1
+De 15 0 17 0 800
+Po 0 25580 19020 25600 19000 157 -1
+De 15 0 17 0 0
+Po 3 25600 19000 25600 19000 700 -1
+De 15 1 17 0 0
+Po 0 25580 19020 25580 20330 157 -1
+De 15 0 17 0 400
+Po 0 25600 20200 25600 19000 157 -1
+De 0 0 17 0 0
+Po 0 26900 21500 25600 20200 157 -1
+De 0 0 17 0 0
+Po 0 29800 21500 26900 21500 157 -1
+De 0 0 17 0 0
+Po 0 31200 20100 29800 21500 157 -1
+De 0 0 17 0 0
+Po 0 33400 20100 31200 20100 157 -1
+De 0 0 17 0 0
+Po 0 33700 19800 33400 20100 157 -1
+De 0 0 17 0 0
+Po 3 33700 19800 33700 19800 700 -1
+De 15 1 17 0 0
+Po 0 33780 19880 33700 19800 157 -1
+De 15 0 17 0 0
+Po 0 31830 22370 26680 22370 158 -1
+De 15 0 18 0 400
+Po 0 32300 21900 31830 22370 158 -1
+De 15 0 18 0 800
+Po 0 31761 21439 32300 20900 158 -1
+De 15 0 19 0 400
+Po 0 29018 21439 31761 21439 158 -1
+De 15 0 19 0 0
+Po 0 28717 21740 29018 21439 158 -1
+De 15 0 19 0 0
+Po 0 26680 21740 28717 21740 158 -1
+De 15 0 19 0 800
+Po 0 23690 20330 23690 20790 157 -1
+De 15 0 20 0 800
+Po 0 23050 23950 23050 26200 157 -1
+De 15 0 20 0 400
+Po 0 23800 23200 23050 23950 157 -1
+De 15 0 20 0 0
+Po 0 23800 20900 23800 23200 157 -1
+De 15 0 20 0 0
+Po 0 23690 20790 23800 20900 157 -1
+De 15 0 20 0 0
+Po 0 23690 20330 23690 20053 158 -1
+De 15 0 20 0 800
+Po 0 27400 18100 23690 18100 158 -1
+De 15 0 20 0 800
+Po 0 23690 20053 23690 18100 158 -1
+De 15 0 20 0 0
+Po 0 27233 20267 28400 19100 158 -1
+De 15 0 21 0 400
+Po 0 27233 21100 27233 20267 158 -1
+De 15 0 21 0 0
+Po 0 26680 21100 27233 21100 158 -1
+De 15 0 21 0 800
+Po 0 28400 18100 28400 17900 157 -1
+De 15 0 22 0 800
+Po 0 27880 21420 26680 21420 157 -1
+De 15 0 22 0 400
+Po 0 28400 20900 27880 21420 157 -1
+De 15 0 22 0 0
+Po 3 28400 20900 28400 20900 700 -1
+De 15 1 22 0 0
+Po 0 29900 20900 28400 20900 157 -1
+De 0 0 22 0 0
+Po 0 30900 19900 29900 20900 157 -1
+De 0 0 22 0 0
+Po 0 30900 18600 30900 19900 157 -1
+De 0 0 22 0 0
+Po 0 31500 18000 30900 18600 157 -1
+De 0 0 22 0 0
+Po 3 31500 18000 31500 18000 700 -1
+De 15 1 22 0 0
+Po 0 30900 17400 31500 18000 157 -1
+De 15 0 22 0 0
+Po 0 28900 17400 30900 17400 157 -1
+De 15 0 22 0 0
+Po 0 28400 17900 28900 17400 157 -1
+De 15 0 22 0 0
+Po 0 31140 22060 26680 22060 158 -1
+De 15 0 23 0 400
+Po 0 31300 21900 31140 22060 158 -1
+De 15 0 23 0 800
+Po 0 31080 22680 26680 22680 158 -1
+De 15 0 24 0 400
+Po 0 31300 22900 31080 22680 158 -1
+De 15 0 24 0 800
+Po 0 26680 23310 27233 23310 158 -1
+De 15 0 25 0 800
+Po 0 27823 23900 27233 23310 158 -1
+De 15 0 25 0 0
+Po 0 31300 23900 27823 23900 158 -1
+De 15 0 25 0 800
+Po 0 35950 17600 34850 17600 158 -1
+De 15 0 26 0 C00
+Po 0 40300 28800 40300 28530 158 -1
+De 15 0 27 0 800
+Po 0 40850 26400 40390 26400 158 -1
+De 15 0 27 0 800
+Po 0 40300 28530 40300 27359 158 -1
+De 15 0 27 0 0
+Po 0 40300 26490 40390 26400 158 -1
+De 15 0 27 0 0
+Po 0 40300 27359 40300 26490 158 -1
+De 15 0 27 0 0
+Po 0 24003 24623 24003 24096 158 -1
+De 15 0 27 0 400
+Po 0 27901 28521 24003 24623 158 -1
+De 15 0 27 0 0
+Po 0 33030 28521 27901 28521 158 -1
+De 15 0 27 0 0
+Po 0 35712 25839 33030 28521 158 -1
+De 15 0 27 0 0
+Po 0 37879 25839 35712 25839 158 -1
+De 15 0 27 0 0
+Po 0 39399 27359 37879 25839 158 -1
+De 15 0 27 0 0
+Po 0 40300 27359 39399 27359 158 -1
+De 15 0 27 0 0
+Po 0 37450 24800 37910 24800 158 -1
+De 15 0 28 0 800
+Po 0 40623 24800 40390 24800 158 -1
+De 15 0 28 0 0
+Po 0 32450 27750 32065 27750 158 -1
+De 15 0 28 0 800
+Po 0 22900 22998 22346 22998 158 -1
+De 15 0 28 0 800
+Po 0 21750 26200 22210 26200 158 -1
+De 15 0 28 0 800
+Po 0 24633 24096 24633 23542 158 -1
+De 15 0 28 0 800
+Po 0 27645 25062 32065 25062 158 -1
+De 15 0 28 0 0
+Po 0 26125 23542 27645 25062 158 -1
+De 15 0 28 0 0
+Po 0 24633 23542 26125 23542 158 -1
+De 15 0 28 0 0
+Po 0 32065 25062 32065 27750 158 -1
+De 15 0 28 0 0
+Po 0 32065 24135 32300 23900 158 -1
+De 15 0 28 0 400
+Po 0 32065 25062 32065 24135 158 -1
+De 15 0 28 0 0
+Po 0 22346 26064 22210 26200 158 -1
+De 15 0 28 0 0
+Po 0 22346 22998 22346 26064 158 -1
+De 15 0 28 0 0
+Po 0 40390 24937 40390 24800 158 -1
+De 15 0 28 0 0
+Po 0 39966 25361 40390 24937 158 -1
+De 15 0 28 0 0
+Po 0 38471 25361 39966 25361 158 -1
+De 15 0 28 0 0
+Po 0 37910 24800 38471 25361 158 -1
+De 15 0 28 0 0
+Po 0 40623 24800 40850 24800 158 -1
+De 15 0 28 0 400
+Po 0 40850 24800 41310 24800 158 -1
+De 15 0 28 0 800
+Po 0 22590 26580 22590 28350 158 -1
+De 15 0 28 0 0
+Po 0 22210 26200 22590 26580 158 -1
+De 15 0 28 0 0
+Po 0 24497 30257 22590 28350 158 -1
+De 15 0 28 0 0
+Po 0 41030 30257 24497 30257 158 -1
+De 15 0 28 0 0
+Po 0 41751 29536 41030 30257 158 -1
+De 15 0 28 0 0
+Po 0 41751 25241 41751 29536 158 -1
+De 15 0 28 0 0
+Po 0 41310 24800 41751 25241 158 -1
+De 15 0 28 0 0
+Po 0 21978 14958 21978 14245 158 -1
+De 15 0 28 0 400
+Po 0 22961 15941 21978 14958 158 -1
+De 15 0 28 0 0
+Po 0 22961 16769 22961 15941 158 -1
+De 15 0 28 0 0
+Po 0 22556 17174 22961 16769 158 -1
+De 15 0 28 0 0
+Po 0 20568 17174 22556 17174 158 -1
+De 15 0 28 0 0
+Po 0 20382 17360 20568 17174 158 -1
+De 15 0 28 0 0
+Po 0 20382 27801 20382 17360 158 -1
+De 15 0 28 0 0
+Po 0 21400 28819 20382 27801 158 -1
+De 15 0 28 0 0
+Po 0 22121 28819 21400 28819 158 -1
+De 15 0 28 0 0
+Po 0 22590 28350 22121 28819 158 -1
+De 15 0 28 0 0
+Po 0 40390 23780 40390 24800 158 -1
+De 15 0 28 0 0
+Po 0 38900 22290 40390 23780 158 -1
+De 15 0 28 0 0
+Po 0 38900 21384 38900 22290 158 -1
+De 15 0 28 0 0
+Po 0 38229 20713 38900 21384 158 -1
+De 15 0 28 0 0
+Po 0 32771 20713 38229 20713 158 -1
+De 15 0 28 0 0
+Po 0 32771 23429 32771 20713 158 -1
+De 15 0 28 0 0
+Po 0 32300 23900 32771 23429 158 -1
+De 15 0 28 0 800
+Po 0 31158 19100 29400 19100 158 -1
+De 15 0 28 0 400
+Po 0 32771 20713 31158 19100 158 -1
+De 15 0 28 0 0
+$EndTRACK
+$ZONE
+$EndZONE
+$CZONE_OUTLINE
+ZInfo 4F6E4273 0 ""
+ZLayer 15
+ZAux 4 E
+ZClearance 200 I
+ZMinThickness 100
+ZOptions 1 16 F 200 200
+ZCorner 42500 30700 0
+ZCorner 42500 12500 0
+ZCorner 19100 12500 0
+ZCorner 19100 30700 1
+$POLYSCORNERS
+42225 30525 0 0
+42225 29866 0 0
+41566 30525 1 0
+23081 30525 0 0
+23861 30525 0 0
+23081 29745 1 0
+40893 29928 0 0
+41151 29670 0 0
+39134 29670 0 0
+39133 29669 0 0
+39133 29670 0 0
+39112 29665 0 0
+39075 29658 0 0
+39014 29671 0 0
+39009 29670 0 0
+25051 29670 0 0
+24925 29645 0 0
+24818 29574 0 0
+24816 29571 0 0
+23568 28323 0 0
+23561 28341 0 0
+23491 28411 0 0
+23399 28449 0 0
+23154 28449 0 0
+24633 29928 1 0
+20765 29029 0 0
+19900 28164 0 0
+19895 28161 0 0
+19824 28054 0 0
+19799 27928 0 0
+19799 27886 0 0
+19799 22665 0 0
+19719 22699 0 0
+19481 22699 0 0
+19275 22613 0 0
+19275 29029 1 0
+38745 29012 0 0
+38745 27701 0 0
+37968 26924 0 0
+37961 26941 0 0
+37891 27011 0 0
+37799 27049 0 0
+37100 27049 0 0
+37009 27011 0 0
+36939 26941 0 0
+36901 26849 0 0
+36901 26168 0 0
+36699 26168 0 0
+36699 26850 0 0
+36661 26941 0 0
+36591 27011 0 0
+36499 27049 0 0
+36249 27049 0 0
+36249 27543 0 0
+36730 28025 0 0
+36733 28027 0 0
+36804 28134 0 0
+36811 28171 0 0
+37600 28171 0 0
+37691 28209 0 0
+37761 28279 0 0
+37799 28371 0 0
+37799 29012 1 0
+35201 29012 0 0
+35201 28370 0 0
+35239 28279 0 0
+35309 28209 0 0
+35401 28171 0 0
+35945 28171 0 0
+35687 27913 0 0
+35616 27806 0 0
+35590 27680 0 0
+35591 27675 0 0
+35591 26964 0 0
+33558 28998 0 0
+33536 29012 1 0
+27575 29012 0 0
+27554 28998 0 0
+27552 28995 0 0
+23455 24899 0 0
+23384 24792 0 0
+23378 24762 0 0
+23378 25551 0 0
+23400 25551 0 0
+23491 25589 0 0
+23561 25659 0 0
+23599 25751 0 0
+23599 26650 0 0
+23561 26741 0 0
+23491 26811 0 0
+23399 26849 0 0
+22919 26849 0 0
+22919 27151 0 0
+23400 27151 0 0
+23491 27189 0 0
+23561 27259 0 0
+23599 27351 0 0
+23599 27488 0 0
+23636 27496 0 0
+23743 27567 0 0
+25187 29012 1 0
+30711 28192 0 0
+30618 28099 0 0
+30075 28099 0 0
+30027 28079 0 0
+27924 28079 0 0
+28037 28192 1 0
+41182 28171 0 0
+41182 27049 0 0
+40629 27049 0 0
+40629 27359 0 0
+40629 28171 1 0
+39971 28171 0 0
+39971 27688 0 0
+39403 27688 0 0
+39403 28171 1 0
+33322 27763 0 0
+35477 25608 0 0
+35479 25606 0 0
+35586 25535 0 0
+35685 25515 0 0
+35711 25510 0 0
+35711 25510 0 0
+35712 25510 0 0
+36164 25510 0 0
+36103 25449 0 0
+35800 25449 0 0
+35709 25411 0 0
+35639 25341 0 0
+35631 25323 0 0
+33322 27633 1 0
+31736 27702 0 0
+31736 25391 0 0
+27645 25391 0 0
+27519 25366 0 0
+27412 25295 0 0
+27410 25292 0 0
+26230 24112 0 0
+26230 24539 0 0
+26192 24630 0 0
+26122 24700 0 0
+26119 24700 0 0
+27340 25921 0 0
+30027 25921 0 0
+30076 25901 0 0
+30625 25901 0 0
+30716 25939 0 0
+30786 26009 0 0
+30824 26101 0 0
+30824 26400 0 0
+30786 26491 0 0
+30776 26499 0 0
+30786 26509 0 0
+30824 26601 0 0
+30824 26900 0 0
+30786 26991 0 0
+30777 27000 0 0
+30786 27009 0 0
+30824 27101 0 0
+30824 27400 0 0
+30809 27435 0 0
+30861 27446 0 0
+30968 27517 0 0
+31152 27702 1 0
+29885 27421 0 0
+29876 27399 0 0
+29876 27100 0 0
+29884 27079 0 0
+27364 27079 0 0
+27239 27054 0 0
+27606 27421 1 0
+21258 27240 0 0
+21309 27189 0 0
+21401 27151 0 0
+21625 27151 0 0
+21570 27096 0 0
+21321 27096 0 0
+21258 27083 1 0
+39971 27030 0 0
+39971 27019 0 0
+39945 27030 1 0
+33164 26860 0 0
+35455 24569 0 0
+35457 24567 0 0
+35564 24496 0 0
+35601 24488 0 0
+35601 24350 0 0
+35639 24259 0 0
+35709 24189 0 0
+35801 24151 0 0
+36500 24151 0 0
+36591 24189 0 0
+36661 24259 0 0
+36699 24351 0 0
+36699 25113 0 0
+36717 25132 0 0
+36901 25132 0 0
+36901 24350 0 0
+36939 24259 0 0
+37009 24189 0 0
+37101 24151 0 0
+37800 24151 0 0
+37891 24189 0 0
+37961 24259 0 0
+37999 24351 0 0
+37999 24488 0 0
+38036 24496 0 0
+38143 24567 0 0
+38607 25032 0 0
+38856 25032 0 0
+38786 24926 0 0
+38761 24800 0 0
+38761 24397 0 0
+38263 23900 0 0
+35586 23900 0 0
+33100 26386 0 0
+33100 26562 0 0
+33099 26562 0 0
+33100 26563 0 0
+33099 26564 0 0
+33139 26624 0 0
+33164 26750 1 0
+22261 26855 0 0
+22261 26741 0 0
+22203 26798 1 0
+32654 25901 0 0
+35215 23340 0 0
+35217 23338 0 0
+35324 23267 0 0
+35450 23242 0 0
+38071 23242 0 0
+38071 22560 0 0
+38071 22550 0 0
+37959 22438 0 0
+37959 22450 0 0
+37921 22541 0 0
+37851 22611 0 0
+37759 22649 0 0
+37040 22649 0 0
+36949 22611 0 0
+36879 22541 0 0
+36841 22449 0 0
+36841 22278 0 0
+35780 22278 0 0
+35654 22253 0 0
+35548 22182 0 0
+35547 22181 0 0
+35547 22181 0 0
+35095 21729 0 0
+34560 21729 0 0
+34469 21691 0 0
+34399 21621 0 0
+34361 21529 0 0
+34361 21042 0 0
+33100 21042 0 0
+33100 23429 0 0
+33075 23555 0 0
+33004 23662 0 0
+32849 23817 0 0
+32849 24009 0 0
+32765 24211 0 0
+32611 24365 0 0
+32409 24449 0 0
+32394 24449 0 0
+32394 25062 0 0
+32394 25901 1 0
+39031 25876 0 0
+39039 25859 0 0
+39109 25789 0 0
+39201 25751 0 0
+39747 25750 0 0
+39777 25707 0 0
+39794 25690 0 0
+38845 25690 1 0
+22675 25561 0 0
+22701 25551 0 0
+22722 25551 0 0
+22722 23950 0 0
+22747 23824 0 0
+22818 23718 0 0
+22887 23649 0 0
+22675 23649 1 0
+41422 25554 0 0
+41422 25377 0 0
+41368 25323 0 0
+41361 25341 0 0
+41291 25411 0 0
+41199 25449 0 0
+40500 25449 0 0
+40409 25411 0 0
+40395 25397 0 0
+40282 25510 0 0
+41261 25510 0 0
+41266 25509 0 0
+41392 25535 1 0
+22017 25551 0 0
+22017 23162 0 0
+21605 23574 0 0
+21605 25551 1 0
+41871 24895 0 0
+41871 23722 0 0
+39949 21800 0 0
+39949 22212 0 0
+39865 22414 0 0
+39711 22568 0 0
+39663 22587 0 0
+40623 23547 0 0
+40694 23654 0 0
+40719 23780 0 0
+40719 24151 0 0
+41200 24151 0 0
+41291 24189 0 0
+41361 24259 0 0
+41399 24351 0 0
+41399 24488 0 0
+41436 24496 0 0
+41543 24567 1 0
+24958 24773 0 0
+24951 24738 0 0
+24923 24738 1 0
+31736 24733 0 0
+31736 24240 0 0
+31611 24365 0 0
+31409 24449 0 0
+31191 24449 0 0
+30989 24365 0 0
+30853 24229 0 0
+27823 24229 0 0
+27697 24204 0 0
+27590 24133 0 0
+27588 24130 0 0
+27104 23647 0 0
+26695 23647 0 0
+27781 24733 1 0
+40061 24259 0 0
+40061 23917 0 0
+38729 22585 0 0
+38729 23434 0 0
+39320 24026 0 0
+39323 24028 0 0
+39394 24135 0 0
+39397 24151 0 0
+39900 24151 0 0
+39991 24189 1 0
+29099 23571 0 0
+28857 23329 0 0
+27717 23329 0 0
+27959 23571 1 0
+26038 23213 0 0
+26038 23172 0 0
+26045 23154 0 0
+26038 23137 0 0
+26038 22862 0 0
+26047 22839 0 0
+26038 22817 0 0
+26038 22542 0 0
+26045 22524 0 0
+26038 22507 0 0
+26038 22232 0 0
+26045 22214 0 0
+26038 22197 0 0
+26038 21922 0 0
+26047 21899 0 0
+26038 21877 0 0
+26038 21602 0 0
+26047 21579 0 0
+26038 21557 0 0
+26038 21468 0 0
+25222 22285 0 0
+25115 22356 0 0
+24989 22382 0 0
+24984 22381 0 0
+24647 22381 0 0
+24647 23213 1 0
+42225 23145 0 0
+42225 22251 0 0
+41330 22250 1 0
+30793 23110 0 0
+30751 23009 0 0
+29468 23008 0 0
+29569 23109 1 0
+21258 22990 0 0
+21558 22689 0 0
+21361 22608 0 0
+21258 22505 1 0
+24128 21790 0 0
+24192 21748 0 0
+24318 21723 0 0
+24852 21723 0 0
+25603 20972 0 0
+25442 20972 0 0
+25419 20962 0 0
+25397 20972 0 0
+25122 20972 0 0
+25104 20964 0 0
+25087 20972 0 0
+24812 20972 0 0
+24789 20962 0 0
+24767 20972 0 0
+24492 20972 0 0
+24474 20964 0 0
+24457 20972 0 0
+24182 20972 0 0
+24159 20962 0 0
+24137 20972 0 0
+24128 20972 1 0
+36841 21622 0 0
+36841 21450 0 0
+36879 21359 0 0
+36949 21289 0 0
+37041 21251 0 0
+37760 21251 0 0
+37851 21289 0 0
+37921 21359 0 0
+37959 21451 0 0
+37959 21462 0 0
+38089 21332 0 0
+38291 21248 0 0
+38298 21248 0 0
+38092 21042 0 0
+35659 21042 0 0
+35659 21365 0 0
+35916 21622 1 0
+19275 21586 0 0
+19481 21501 0 0
+19719 21501 0 0
+19799 21534 0 0
+19799 16054 0 0
+19798 16050 0 0
+19824 15924 0 0
+19895 15817 0 0
+20625 15087 0 0
+20625 14765 0 0
+20212 14765 0 0
+20121 14727 0 0
+20051 14657 0 0
+20013 14565 0 0
+20013 13822 0 0
+19805 13822 0 0
+19714 13784 0 0
+19644 13714 0 0
+19606 13622 0 0
+19606 12775 0 0
+19275 12775 1 0
+21019 21517 0 0
+21268 21268 0 0
+21374 21197 0 0
+21500 21172 0 0
+22200 21172 0 0
+22258 21183 0 0
+22258 20970 0 0
+22296 20879 0 0
+22366 20809 0 0
+22458 20771 0 0
+22807 20771 0 0
+22767 20731 0 0
+22168 20132 0 0
+22097 20026 0 0
+22072 19900 0 0
+22072 19800 0 0
+22072 18199 0 0
+21950 18199 0 0
+21859 18161 0 0
+21799 18102 0 0
+21741 18161 0 0
+21649 18199 0 0
+21511 18199 0 0
+21504 18236 0 0
+21433 18343 0 0
+21430 18344 0 0
+21019 18756 1 0
+40560 21480 0 0
+40560 19279 0 0
+39921 19279 0 0
+39865 19414 0 0
+39711 19568 0 0
+39509 19652 0 0
+39291 19652 0 0
+39089 19568 0 0
+38935 19414 0 0
+38900 19329 0 0
+38865 19414 0 0
+38711 19568 0 0
+38509 19652 0 0
+38291 19652 0 0
+38089 19568 0 0
+37935 19414 0 0
+37900 19329 0 0
+37865 19414 0 0
+37711 19568 0 0
+37509 19652 0 0
+37291 19652 0 0
+37089 19568 0 0
+36935 19414 0 0
+36851 19212 0 0
+36851 19129 0 0
+35399 19129 0 0
+35399 19250 0 0
+35365 19331 0 0
+35460 19331 0 0
+35551 19369 0 0
+35621 19439 0 0
+35659 19531 0 0
+35659 20027 0 0
+38965 20027 0 0
+38970 20026 0 0
+39096 20052 0 0
+39203 20123 1 0
+39208 21282 0 0
+39291 21248 0 0
+39396 21248 0 0
+38833 20684 0 0
+38666 20685 0 0
+39130 21149 0 0
+39133 21151 0 0
+39204 21258 1 0
+28956 21122 0 0
+29018 21110 0 0
+29865 21110 0 0
+28646 19891 0 0
+28575 19784 0 0
+28549 19658 0 0
+28550 19653 0 0
+28550 19631 0 0
+28509 19649 0 0
+28316 19649 0 0
+27562 20403 0 0
+27562 21092 0 0
+27743 21092 0 0
+27805 21030 0 0
+27801 21019 0 0
+27801 20781 0 0
+27892 20561 0 0
+28061 20392 0 0
+28281 20301 0 0
+28519 20301 0 0
+28739 20392 0 0
+28908 20561 0 0
+28999 20781 0 0
+28999 21019 1 0
+26904 20763 0 0
+26904 20602 0 0
+26743 20763 1 0
+31849 20575 0 0
+31989 20435 0 0
+32015 20423 0 0
+31021 19429 0 0
+29847 19429 0 0
+29711 19565 0 0
+29509 19649 0 0
+29335 19649 0 0
+30257 20571 0 0
+30751 20571 0 0
+30751 20550 0 0
+30789 20459 0 0
+30859 20389 0 0
+30951 20351 0 0
+31650 20351 0 0
+31741 20389 0 0
+31811 20459 0 0
+31849 20551 1 0
+23353 20389 0 0
+23353 19887 0 0
+23361 19867 0 0
+23361 18100 0 0
+23386 17974 0 0
+23457 17867 0 0
+23564 17796 0 0
+23690 17771 0 0
+24500 17771 0 1
+24500 17199 0 0
+24409 17161 0 0
+24339 17091 0 0
+24301 16999 0 0
+24301 13400 0 0
+24339 13309 0 0
+24409 13239 0 0
+24501 13201 0 0
+28100 13201 0 0
+28191 13239 0 0
+28261 13309 0 0
+28299 13401 0 0
+28299 17000 0 0
+28261 17091 0 0
+28191 17161 0 0
+28099 17199 0 0
+24500 17199 0 1
+24500 17771 0 0
+26952 17771 0 0
+27089 17635 0 0
+27291 17551 0 0
+27509 17551 0 0
+27711 17635 0 0
+27865 17789 0 0
+27900 17873 0 0
+27935 17789 0 0
+28089 17635 0 0
+28280 17555 0 0
+28668 17168 0 0
+28774 17097 0 0
+28900 17072 0 0
+30900 17072 0 0
+31026 17097 0 0
+31132 17168 0 0
+31369 17405 0 0
+31381 17401 0 0
+31545 17401 0 0
+31496 17326 0 0
+31470 17200 0 0
+31471 17195 0 0
+31471 15804 0 0
+31470 15800 0 0
+31496 15674 0 0
+31567 15567 0 0
+32119 15015 0 0
+32191 14843 0 0
+32139 14791 0 0
+32101 14699 0 0
+32101 13700 0 0
+32139 13609 0 0
+32209 13539 0 0
+32301 13501 0 0
+33033 13501 0 0
+33759 12775 0 0
+23327 12775 0 0
+23328 12776 0 0
+23328 13623 0 0
+23290 13714 0 0
+23220 13784 0 0
+23128 13822 0 0
+22921 13822 0 0
+22921 14566 0 0
+22883 14657 0 0
+22813 14727 0 0
+22721 14765 0 0
+22307 14765 0 0
+22307 14821 0 0
+23194 15708 0 0
+23265 15815 0 0
+23290 15941 0 0
+23290 16769 0 0
+23289 16769 0 0
+23290 16770 0 0
+23265 16895 0 0
+23194 17002 0 0
+23191 17003 0 0
+22998 17196 0 0
+23011 17209 0 0
+23049 17301 0 0
+23049 18000 0 0
+23011 18091 0 0
+22941 18161 0 0
+22849 18199 0 0
+22728 18199 0 0
+22728 19764 0 0
+23232 20268 1 0
+33101 19855 0 0
+33101 19681 0 0
+33192 19461 0 0
+33204 19448 0 0
+33200 19449 0 0
+33109 19411 0 0
+33039 19341 0 0
+33001 19249 0 0
+33001 18350 0 0
+33039 18259 0 0
+33097 18199 0 0
+33039 18141 0 0
+33001 18049 0 0
+33001 17929 0 0
+32200 17929 0 0
+32099 17908 0 0
+32099 18119 0 0
+32008 18339 0 0
+31839 18508 0 0
+31778 18532 1 0
+24790 19697 0 0
+24813 19688 0 0
+25088 19688 0 0
+25105 19695 0 0
+25123 19688 0 0
+25252 19688 0 0
+25252 19499 0 0
+25092 19339 0 0
+25001 19119 0 0
+25001 18881 0 0
+25092 18661 0 0
+25261 18492 0 0
+25413 18429 0 0
+24019 18429 0 0
+24019 19688 0 0
+24138 19688 0 0
+24160 19697 0 0
+24183 19688 0 0
+24458 19688 0 0
+24475 19695 0 0
+24493 19688 0 0
+24768 19688 1 0
+26968 19607 0 0
+27049 19525 0 0
+26935 19411 0 0
+26851 19209 0 0
+26851 18991 0 0
+26935 18789 0 0
+27089 18635 0 0
+27173 18600 0 0
+27089 18565 0 0
+26953 18429 0 0
+25786 18429 0 0
+25939 18492 0 0
+26108 18661 0 0
+26199 18881 0 0
+26199 19119 0 0
+26141 19258 0 0
+26281 19201 0 0
+26519 19201 0 0
+26739 19292 0 0
+26908 19461 1 0
+34361 19552 0 0
+34361 19530 0 0
+34399 19439 0 0
+34421 19416 0 0
+34409 19411 0 0
+34339 19341 0 0
+34301 19249 0 0
+34301 18350 0 0
+34339 18259 0 0
+34398 18200 0 0
+34339 18141 0 0
+34301 18049 0 0
+34301 17150 0 0
+34339 17059 0 0
+34409 16989 0 0
+34501 16951 0 0
+35200 16951 0 0
+35291 16989 0 0
+35361 17059 0 0
+35399 17151 0 0
+35399 17271 0 0
+35401 17271 0 0
+35401 17150 0 0
+35439 17059 0 0
+35509 16989 0 0
+35601 16951 0 0
+36300 16951 0 0
+36391 16989 0 0
+36461 17059 0 0
+36499 17151 0 0
+36499 18050 0 0
+36461 18141 0 0
+36391 18211 0 0
+36299 18249 0 0
+35600 18249 0 0
+35509 18211 0 0
+35439 18141 0 0
+35401 18049 0 0
+35401 17929 0 0
+35399 17929 0 0
+35399 18050 0 0
+35361 18141 0 0
+35302 18200 0 0
+35361 18259 0 0
+35399 18351 0 0
+35399 18471 0 0
+36950 18471 0 0
+37089 18332 0 0
+37288 18249 0 0
+36900 18249 0 0
+36809 18211 0 0
+36739 18141 0 0
+36701 18049 0 0
+36701 17150 0 0
+36739 17059 0 0
+36809 16989 0 0
+36901 16951 0 0
+37600 16951 0 0
+37691 16989 0 0
+37761 17059 0 0
+37799 17151 0 0
+37799 17271 0 0
+38463 17271 0 0
+38884 16850 0 0
+33056 16850 0 0
+32938 16899 0 0
+32660 16899 0 0
+32403 16792 0 0
+32207 16595 0 0
+32129 16405 0 0
+32129 17063 0 0
+32336 17271 0 0
+33001 17271 0 0
+33001 17150 0 0
+33039 17059 0 0
+33109 16989 0 0
+33201 16951 0 0
+33900 16951 0 0
+33991 16989 0 0
+34061 17059 0 0
+34099 17151 0 0
+34099 18050 0 0
+34061 18141 0 0
+34002 18199 0 0
+34061 18259 0 0
+34099 18351 0 0
+34099 19250 0 0
+34068 19321 0 0
+34208 19461 0 0
+34245 19552 1 0
+42225 19069 0 0
+42225 12775 0 0
+41240 12775 0 0
+41830 13365 0 0
+41833 13367 0 0
+41904 13474 0 0
+41929 13600 0 0
+41929 18200 0 0
+41904 18326 0 0
+41833 18433 0 0
+41830 18434 0 0
+41196 19068 1 0
+40713 18621 0 0
+41271 18063 0 0
+41271 13736 0 0
+41030 13495 0 0
+41099 13662 0 0
+41099 13940 0 0
+40992 14197 0 0
+40795 14393 0 0
+40677 14441 0 0
+39569 15550 0 0
+39730 15550 0 0
+39758 15522 0 0
+39808 15403 0 0
+40005 15207 0 0
+40262 15101 0 0
+40540 15101 0 0
+40797 15208 0 0
+40993 15405 0 0
+41099 15662 0 0
+41099 15940 0 0
+40992 16197 0 0
+40795 16393 0 0
+40678 16441 0 0
+40460 16660 0 0
+40249 16801 0 0
+40000 16851 0 0
+39995 16850 0 0
+39815 16850 0 0
+38833 17833 0 0
+38726 17904 0 0
+38600 17930 0 0
+38595 17929 0 0
+37799 17929 0 0
+37799 18050 0 0
+37761 18141 0 0
+37691 18211 0 0
+37599 18249 0 0
+37511 18249 0 0
+37711 18332 0 0
+37865 18486 0 0
+37900 18570 0 0
+37935 18486 0 0
+38089 18332 0 0
+38291 18248 0 0
+38509 18248 0 0
+38711 18332 0 0
+38865 18486 0 0
+38900 18570 0 0
+38935 18486 0 0
+39089 18332 0 0
+39291 18248 0 0
+39509 18248 0 0
+39711 18332 0 0
+39865 18486 0 0
+39921 18621 1 0
+27660 18613 0 0
+27708 18566 0 0
+27626 18600 1 0
+27865 18409 0 0
+27914 18360 0 0
+27900 18326 1 0
+29949 17764 0 0
+29964 17728 0 0
+29939 17728 0 0
+29949 17751 1 0
+20457 16867 0 0
+20568 16845 0 0
+20643 16845 0 0
+20589 16791 0 0
+20551 16699 0 0
+20551 16093 0 0
+20457 16187 1 0
+21843 16845 0 0
+21799 16801 0 0
+21756 16845 1 0
+32129 15992 0 0
+32168 15896 0 0
+32129 15936 1 0
+21799 15898 0 0
+21859 15839 0 0
+21876 15831 0 0
+21774 15729 0 0
+21770 15750 0 0
+21717 15829 0 0
+21741 15839 1 0
+20888 15801 0 0
+20896 15764 0 0
+20927 15716 0 0
+20843 15801 1 0
+38730 14550 0 0
+39758 13522 0 0
+39808 13403 0 0
+40005 13207 0 0
+40194 13129 0 0
+34336 13129 0 0
+33499 13966 0 0
+33499 14550 1 0
+40703 13168 0 0
+40663 13129 0 0
+40607 13129 1 0
+$endPOLYSCORNERS
+$FILLSEGMENTS
+42225 29866 42225 29866
+42145 29946 42225 29946
+42065 30026 42225 30026
+41985 30106 42225 30106
+41905 30186 42225 30186
+41825 30266 42225 30266
+41745 30346 42225 30346
+41665 30426 42225 30426
+41585 30506 42225 30506
+23081 29745 23081 29745
+23081 29825 23161 29825
+23081 29905 23241 29905
+23081 29985 23321 29985
+23081 30065 23401 30065
+23081 30145 23481 30145
+23081 30225 23561 30225
+23081 30305 23641 30305
+23081 30385 23721 30385
+23081 30465 23801 30465
+23568 28323 23568 28323
+23499 28403 23648 28403
+23188 28483 23728 28483
+23268 28563 23808 28563
+23348 28643 23888 28643
+23428 28723 23968 28723
+23508 28803 24048 28803
+23588 28883 24128 28883
+23668 28963 24208 28963
+23748 29043 24288 29043
+23828 29123 24368 29123
+23908 29203 24448 29203
+23988 29283 24528 29283
+24068 29363 24608 29363
+24148 29443 24688 29443
+24228 29523 24768 29523
+24308 29603 24861 29603
+24388 29683 41138 29683
+24468 29763 41058 29763
+24548 29843 40978 29843
+24628 29923 40898 29923
+19275 22613 19275 22613
+19275 22693 19466 22693
+19733 22693 19799 22693
+19275 22773 19799 22773
+19275 22853 19799 22853
+19275 22933 19799 22933
+19275 23013 19799 23013
+19275 23093 19799 23093
+19275 23173 19799 23173
+19275 23253 19799 23253
+19275 23333 19799 23333
+19275 23413 19799 23413
+19275 23493 19799 23493
+19275 23573 19799 23573
+19275 23653 19799 23653
+19275 23733 19799 23733
+19275 23813 19799 23813
+19275 23893 19799 23893
+19275 23973 19799 23973
+19275 24053 19799 24053
+19275 24133 19799 24133
+19275 24213 19799 24213
+19275 24293 19799 24293
+19275 24373 19799 24373
+19275 24453 19799 24453
+19275 24533 19799 24533
+19275 24613 19799 24613
+19275 24693 19799 24693
+19275 24773 19799 24773
+19275 24853 19799 24853
+19275 24933 19799 24933
+19275 25013 19799 25013
+19275 25093 19799 25093
+19275 25173 19799 25173
+19275 25253 19799 25253
+19275 25333 19799 25333
+19275 25413 19799 25413
+19275 25493 19799 25493
+19275 25573 19799 25573
+19275 25653 19799 25653
+19275 25733 19799 25733
+19275 25813 19799 25813
+19275 25893 19799 25893
+19275 25973 19799 25973
+19275 26053 19799 26053
+19275 26133 19799 26133
+19275 26213 19799 26213
+19275 26293 19799 26293
+19275 26373 19799 26373
+19275 26453 19799 26453
+19275 26533 19799 26533
+19275 26613 19799 26613
+19275 26693 19799 26693
+19275 26773 19799 26773
+19275 26853 19799 26853
+19275 26933 19799 26933
+19275 27013 19799 27013
+19275 27093 19799 27093
+19275 27173 19799 27173
+19275 27253 19799 27253
+19275 27333 19799 27333
+19275 27413 19799 27413
+19275 27493 19799 27493
+19275 27573 19799 27573
+19275 27653 19799 27653
+19275 27733 19799 27733
+19275 27813 19799 27813
+19275 27893 19799 27893
+19275 27973 19807 27973
+19275 28053 19823 28053
+19275 28133 19876 28133
+19275 28213 19949 28213
+19275 28293 20029 28293
+19275 28373 20109 28373
+19275 28453 20189 28453
+19275 28533 20269 28533
+19275 28613 20349 28613
+19275 28693 20429 28693
+19275 28773 20509 28773
+19275 28853 20589 28853
+19275 28933 20669 28933
+19275 29013 20749 29013
+36699 26168 36901 26168
+36699 26248 36901 26248
+36699 26328 36901 26328
+36699 26408 36901 26408
+36699 26488 36901 26488
+36699 26568 36901 26568
+36699 26648 36901 26648
+36699 26728 36901 26728
+36699 26808 36901 26808
+36683 26888 36917 26888
+36634 26968 36966 26968
+37934 26968 38012 26968
+36501 27048 37097 27048
+37801 27048 38092 27048
+36249 27128 38172 27128
+36249 27208 38252 27208
+36249 27288 38332 27288
+36249 27368 38412 27368
+36249 27448 38492 27448
+36249 27528 38572 27528
+36314 27608 38652 27608
+36394 27688 38732 27688
+36474 27768 38745 27768
+36554 27848 38745 27848
+36634 27928 38745 27928
+36714 28008 38745 28008
+36774 28088 38745 28088
+36811 28168 38745 28168
+37730 28248 38745 28248
+37782 28328 38745 28328
+37799 28408 38745 28408
+37799 28488 38745 28488
+37799 28568 38745 28568
+37799 28648 38745 28648
+37799 28728 38745 28728
+37799 28808 38745 28808
+37799 28888 38745 28888
+37799 28968 38745 28968
+35591 26964 35591 26964
+35511 27044 35591 27044
+35431 27124 35591 27124
+35351 27204 35591 27204
+35271 27284 35591 27284
+35191 27364 35591 27364
+35111 27444 35591 27444
+35031 27524 35591 27524
+34951 27604 35591 27604
+34871 27684 35590 27684
+34791 27764 35607 27764
+34711 27844 35641 27844
+34631 27924 35698 27924
+34551 28004 35778 28004
+34471 28084 35858 28084
+34391 28164 35938 28164
+34311 28244 35274 28244
+34231 28324 35221 28324
+34151 28404 35201 28404
+34071 28484 35201 28484
+33991 28564 35201 28564
+33911 28644 35201 28644
+33831 28724 35201 28724
+33751 28804 35201 28804
+33671 28884 35201 28884
+33591 28964 35201 28964
+23378 24762 23378 24762
+23378 24842 23417 24842
+23378 24922 23478 24922
+23378 25002 23558 25002
+23378 25082 23638 25082
+23378 25162 23718 25162
+23378 25242 23798 25242
+23378 25322 23878 25322
+23378 25402 23958 25402
+23378 25482 24038 25482
+23427 25562 24118 25562
+23544 25642 24198 25642
+23588 25722 24278 25722
+23599 25802 24358 25802
+23599 25882 24438 25882
+23599 25962 24518 25962
+23599 26042 24598 26042
+23599 26122 24678 26122
+23599 26202 24758 26202
+23599 26282 24838 26282
+23599 26362 24918 26362
+23599 26442 24998 26442
+23599 26522 25078 26522
+23599 26602 25158 26602
+23585 26682 25238 26682
+23540 26762 25318 26762
+23415 26842 25398 26842
+22919 26922 25478 26922
+22919 27002 25558 27002
+22919 27082 25638 27082
+23427 27162 25718 27162
+23544 27242 25798 27242
+23588 27322 25878 27322
+23599 27402 25958 27402
+23599 27482 26038 27482
+23736 27562 26118 27562
+23818 27642 26198 27642
+23898 27722 26278 27722
+23978 27802 26358 27802
+24058 27882 26438 27882
+24138 27962 26518 27962
+24218 28042 26598 28042
+24298 28122 26678 28122
+24378 28202 26758 28202
+24458 28282 26838 28282
+24538 28362 26918 28362
+24618 28442 26998 28442
+24698 28522 27078 28522
+24778 28602 27158 28602
+24858 28682 27238 28682
+24938 28762 27318 28762
+25018 28842 27398 28842
+25098 28922 27478 28922
+25178 29002 27560 29002
+27924 28079 30027 28079
+28004 28159 30678 28159
+40629 27049 41182 27049
+40629 27129 41182 27129
+40629 27209 41182 27209
+40629 27289 41182 27289
+40629 27369 41182 27369
+40629 27449 41182 27449
+40629 27529 41182 27529
+40629 27609 41182 27609
+40629 27689 41182 27689
+40629 27769 41182 27769
+40629 27849 41182 27849
+40629 27929 41182 27929
+40629 28009 41182 28009
+40629 28089 41182 28089
+40629 28169 41182 28169
+39403 27688 39971 27688
+39403 27768 39971 27768
+39403 27848 39971 27848
+39403 27928 39971 27928
+39403 28008 39971 28008
+39403 28088 39971 28088
+39403 28168 39971 28168
+35631 25323 35631 25323
+35551 25403 35701 25403
+35471 25483 36137 25483
+35391 25563 35544 25563
+35311 25643 35442 25643
+35231 25723 35362 25723
+35151 25803 35282 25803
+35071 25883 35202 25883
+34991 25963 35122 25963
+34911 26043 35042 26043
+34831 26123 34962 26123
+34751 26203 34882 26203
+34671 26283 34802 26283
+34591 26363 34722 26363
+34511 26443 34642 26443
+34431 26523 34562 26523
+34351 26603 34482 26603
+34271 26683 34402 26683
+34191 26763 34322 26763
+34111 26843 34242 26843
+34031 26923 34162 26923
+33951 27003 34082 27003
+33871 27083 34002 27083
+33791 27163 33922 27163
+33711 27243 33842 27243
+33631 27323 33762 27323
+33551 27403 33682 27403
+33471 27483 33602 27483
+33391 27563 33522 27563
+33322 27643 33442 27643
+33322 27723 33362 27723
+26230 24112 26230 24112
+26230 24192 26310 24192
+26230 24272 26390 24272
+26230 24352 26470 24352
+26230 24432 26550 24432
+26230 24512 26630 24512
+26207 24592 26710 24592
+26150 24672 26790 24672
+26171 24752 26870 24752
+26251 24832 26950 24832
+26331 24912 27030 24912
+26411 24992 27110 24992
+26491 25072 27190 25072
+26571 25152 27270 25152
+26651 25232 27350 25232
+26731 25312 27437 25312
+26811 25392 31736 25392
+26891 25472 31736 25472
+26971 25552 31736 25552
+27051 25632 31736 25632
+27131 25712 31736 25712
+27211 25792 31736 25792
+27291 25872 31736 25872
+30729 25952 31736 25952
+30796 26032 31736 26032
+30824 26112 31736 26112
+30824 26192 31736 26192
+30824 26272 31736 26272
+30824 26352 31736 26352
+30810 26432 31736 26432
+30788 26512 31736 26512
+30821 26592 31736 26592
+30824 26672 31736 26672
+30824 26752 31736 26752
+30824 26832 31736 26832
+30818 26912 31736 26912
+30785 26992 31736 26992
+30813 27072 31736 27072
+30824 27152 31736 27152
+30824 27232 31736 27232
+30824 27312 31736 27312
+30824 27392 31736 27392
+30901 27472 31736 27472
+31003 27552 31736 27552
+31083 27632 31736 27632
+27239 27054 27239 27054
+27319 27134 29876 27134
+27399 27214 29876 27214
+27479 27294 29876 27294
+27559 27374 29876 27374
+21258 27083 21258 27083
+21258 27163 21372 27163
+39971 27019 39971 27019
+35586 23900 38263 23900
+35506 23980 38343 23980
+35426 24060 38423 24060
+35346 24140 38503 24140
+35266 24220 35678 24220
+36622 24220 36978 24220
+37922 24220 38583 24220
+35186 24300 35622 24300
+36678 24300 36922 24300
+37978 24300 38663 24300
+35106 24380 35601 24380
+36699 24380 36901 24380
+37999 24380 38743 24380
+35026 24460 35601 24460
+36699 24460 36901 24460
+37999 24460 38761 24460
+34946 24540 35498 24540
+36699 24540 36901 24540
+38103 24540 38761 24540
+34866 24620 35404 24620
+36699 24620 36901 24620
+38196 24620 38761 24620
+34786 24700 35324 24700
+36699 24700 36901 24700
+38276 24700 38761 24700
+34706 24780 35244 24780
+36699 24780 36901 24780
+38356 24780 38761 24780
+34626 24860 35164 24860
+36699 24860 36901 24860
+38436 24860 38772 24860
+34546 24940 35084 24940
+36699 24940 36901 24940
+38516 24940 38795 24940
+34466 25020 35004 25020
+36699 25020 36901 25020
+38596 25020 38848 25020
+34386 25100 34924 25100
+36699 25100 36901 25100
+34306 25180 34844 25180
+34226 25260 34764 25260
+34146 25340 34684 25340
+34066 25420 34604 25420
+33986 25500 34524 25500
+33906 25580 34444 25580
+33826 25660 34364 25660
+33746 25740 34284 25740
+33666 25820 34204 25820
+33586 25900 34124 25900
+33506 25980 34044 25980
+33426 26060 33964 26060
+33346 26140 33884 26140
+33266 26220 33804 26220
+33186 26300 33724 26300
+33106 26380 33644 26380
+33100 26460 33564 26460
+33100 26540 33484 26540
+33137 26620 33404 26620
+33155 26700 33324 26700
+33164 26780 33244 26780
+22261 26741 22261 26741
+22227 26821 22261 26821
+33100 21042 34361 21042
+33100 21122 34361 21122
+33100 21202 34361 21202
+33100 21282 34361 21282
+33100 21362 34361 21362
+33100 21442 34361 21442
+33100 21522 34361 21522
+33100 21602 34391 21602
+33100 21682 34460 21682
+33100 21762 35128 21762
+33100 21842 35208 21842
+33100 21922 35288 21922
+33100 22002 35368 22002
+33100 22082 35448 22082
+33100 22162 35528 22162
+33100 22242 35637 22242
+33100 22322 36841 22322
+33100 22402 36841 22402
+33100 22482 36854 22482
+37945 22482 38003 22482
+33100 22562 36900 22562
+37900 22562 38071 22562
+33100 22642 37023 22642
+37775 22642 38071 22642
+33100 22722 38071 22722
+33100 22802 38071 22802
+33100 22882 38071 22882
+33100 22962 38071 22962
+33100 23042 38071 23042
+33100 23122 38071 23122
+33100 23202 38071 23202
+33100 23282 35302 23282
+33100 23362 35193 23362
+33097 23442 35113 23442
+33081 23522 35033 23522
+33043 23602 34953 23602
+32984 23682 34873 23682
+32904 23762 34793 23762
+32849 23842 34713 23842
+32849 23922 34633 23922
+32849 24002 34553 24002
+32818 24082 34473 24082
+32785 24162 34393 24162
+32734 24242 34313 24242
+32654 24322 34233 24322
+32522 24402 34153 24402
+32394 24482 34073 24482
+32394 24562 33993 24562
+32394 24642 33913 24642
+32394 24722 33833 24722
+32394 24802 33753 24802
+32394 24882 33673 24882
+32394 24962 33593 24962
+32394 25042 33513 25042
+32394 25122 33433 25122
+32394 25202 33353 25202
+32394 25282 33273 25282
+32394 25362 33193 25362
+32394 25442 33113 25442
+32394 25522 33033 25522
+32394 25602 32953 25602
+32394 25682 32873 25682
+32394 25762 32793 25762
+32394 25842 32713 25842
+38845 25690 39794 25690
+38925 25770 39155 25770
+39005 25850 39048 25850
+22675 23649 22887 23649
+22675 23729 22811 23729
+22675 23809 22758 23809
+22675 23889 22735 23889
+22675 23969 22722 23969
+22675 24049 22722 24049
+22675 24129 22722 24129
+22675 24209 22722 24209
+22675 24289 22722 24289
+22675 24369 22722 24369
+22675 24449 22722 24449
+22675 24529 22722 24529
+22675 24609 22722 24609
+22675 24689 22722 24689
+22675 24769 22722 24769
+22675 24849 22722 24849
+22675 24929 22722 24929
+22675 25009 22722 25009
+22675 25089 22722 25089
+22675 25169 22722 25169
+22675 25249 22722 25249
+22675 25329 22722 25329
+22675 25409 22722 25409
+22675 25489 22722 25489
+41368 25323 41368 25323
+40389 25403 40401 25403
+41299 25403 41422 25403
+40309 25483 41422 25483
+22017 23162 22017 23162
+21937 23242 22017 23242
+21857 23322 22017 23322
+21777 23402 22017 23402
+21697 23482 22017 23482
+21617 23562 22017 23562
+21605 23642 22017 23642
+21605 23722 22017 23722
+21605 23802 22017 23802
+21605 23882 22017 23882
+21605 23962 22017 23962
+21605 24042 22017 24042
+21605 24122 22017 24122
+21605 24202 22017 24202
+21605 24282 22017 24282
+21605 24362 22017 24362
+21605 24442 22017 24442
+21605 24522 22017 24522
+21605 24602 22017 24602
+21605 24682 22017 24682
+21605 24762 22017 24762
+21605 24842 22017 24842
+21605 24922 22017 24922
+21605 25002 22017 25002
+21605 25082 22017 25082
+21605 25162 22017 25162
+21605 25242 22017 25242
+21605 25322 22017 25322
+21605 25402 22017 25402
+21605 25482 22017 25482
+39949 21800 39949 21800
+39949 21880 40029 21880
+39949 21960 40109 21960
+39949 22040 40189 22040
+39949 22120 40269 22120
+39949 22200 40349 22200
+39920 22280 40429 22280
+39887 22360 40509 22360
+39839 22440 40589 22440
+39759 22520 40669 22520
+39676 22600 40749 22600
+39756 22680 40829 22680
+39836 22760 40909 22760
+39916 22840 40989 22840
+39996 22920 41069 22920
+40076 23000 41149 23000
+40156 23080 41229 23080
+40236 23160 41309 23160
+40316 23240 41389 23240
+40396 23320 41469 23320
+40476 23400 41549 23400
+40556 23480 41629 23480
+40632 23560 41709 23560
+40685 23640 41789 23640
+40708 23720 41869 23720
+40719 23800 41871 23800
+40719 23880 41871 23880
+40719 23960 41871 23960
+40719 24040 41871 24040
+40719 24120 41871 24120
+41302 24200 41871 24200
+41370 24280 41871 24280
+41399 24360 41871 24360
+41399 24440 41871 24440
+41473 24520 41871 24520
+41576 24600 41871 24600
+41656 24680 41871 24680
+41736 24760 41871 24760
+41816 24840 41871 24840
+24923 24738 24951 24738
+26695 23647 27104 23647
+26775 23727 27184 23727
+26855 23807 27264 23807
+26935 23887 27344 23887
+27015 23967 27424 23967
+27095 24047 27504 24047
+27175 24127 27584 24127
+27255 24207 27712 24207
+27335 24287 30911 24287
+31689 24287 31736 24287
+27415 24367 30993 24367
+31606 24367 31736 24367
+27495 24447 31186 24447
+31413 24447 31736 24447
+27575 24527 31736 24527
+27655 24607 31736 24607
+27735 24687 31736 24687
+38729 22585 38729 22585
+38729 22665 38809 22665
+38729 22745 38889 22745
+38729 22825 38969 22825
+38729 22905 39049 22905
+38729 22985 39129 22985
+38729 23065 39209 23065
+38729 23145 39289 23145
+38729 23225 39369 23225
+38729 23305 39449 23305
+38729 23385 39529 23385
+38760 23465 39609 23465
+38840 23545 39689 23545
+38920 23625 39769 23625
+39000 23705 39849 23705
+39080 23785 39929 23785
+39160 23865 40009 23865
+39240 23945 40061 23945
+39320 24025 40061 24025
+39375 24105 40061 24105
+39982 24185 40061 24185
+27717 23329 28857 23329
+27797 23409 28937 23409
+27877 23489 29017 23489
+27957 23569 29097 23569
+26038 21468 26038 21468
+25958 21548 26038 21548
+25878 21628 26038 21628
+25798 21708 26038 21708
+25718 21788 26038 21788
+25638 21868 26038 21868
+25558 21948 26038 21948
+25478 22028 26038 22028
+25398 22108 26038 22108
+25318 22188 26038 22188
+25238 22268 26038 22268
+25127 22348 26038 22348
+24647 22428 26038 22428
+24647 22508 26038 22508
+24647 22588 26038 22588
+24647 22668 26038 22668
+24647 22748 26038 22748
+24647 22828 26042 22828
+24647 22908 26038 22908
+24647 22988 26038 22988
+24647 23068 26038 23068
+24647 23148 26042 23148
+41330 22250 41330 22250
+41410 22330 42225 22330
+41490 22410 42225 22410
+41570 22490 42225 22490
+41650 22570 42225 22570
+41730 22650 42225 22650
+41810 22730 42225 22730
+41890 22810 42225 22810
+41970 22890 42225 22890
+42050 22970 42225 22970
+42130 23050 42225 23050
+42210 23130 42225 23130
+29468 23008 29468 23008
+29548 23088 30783 23088
+21258 22505 21258 22505
+21258 22585 21338 22585
+21258 22665 21499 22665
+21258 22745 21503 22745
+21258 22825 21423 22825
+21258 22905 21343 22905
+21258 22985 21263 22985
+24159 20962 24159 20962
+24789 20962 24789 20962
+25419 20962 25419 20962
+24128 21042 25533 21042
+24128 21122 25453 21122
+24128 21202 25373 21202
+24128 21282 25293 21282
+24128 21362 25213 21362
+24128 21442 25133 21442
+24128 21522 25053 21522
+24128 21602 24973 21602
+24128 21682 24893 21682
+24128 21762 24171 21762
+35659 21042 38092 21042
+35659 21122 38172 21122
+35659 21202 38252 21202
+35659 21282 36966 21282
+37835 21282 38210 21282
+35659 21362 36878 21362
+37923 21362 38059 21362
+35736 21442 36845 21442
+37956 21442 37979 21442
+35816 21522 36841 21522
+35896 21602 36841 21602
+19275 12775 19606 12775
+19275 12855 19606 12855
+19275 12935 19606 12935
+19275 13015 19606 13015
+19275 13095 19606 13095
+19275 13175 19606 13175
+19275 13255 19606 13255
+19275 13335 19606 13335
+19275 13415 19606 13415
+19275 13495 19606 13495
+19275 13575 19606 13575
+19275 13655 19619 13655
+19275 13735 19665 13735
+19275 13815 19788 13815
+19275 13895 20013 13895
+19275 13975 20013 13975
+19275 14055 20013 14055
+19275 14135 20013 14135
+19275 14215 20013 14215
+19275 14295 20013 14295
+19275 14375 20013 14375
+19275 14455 20013 14455
+19275 14535 20013 14535
+19275 14615 20033 14615
+19275 14695 20089 14695
+19275 14775 20625 14775
+19275 14855 20625 14855
+19275 14935 20625 14935
+19275 15015 20625 15015
+19275 15095 20617 15095
+19275 15175 20537 15175
+19275 15255 20457 15255
+19275 15335 20377 15335
+19275 15415 20297 15415
+19275 15495 20217 15495
+19275 15575 20137 15575
+19275 15655 20057 15655
+19275 15735 19977 15735
+19275 15815 19897 15815
+19275 15895 19844 15895
+19275 15975 19814 15975
+19275 16055 19799 16055
+19275 16135 19799 16135
+19275 16215 19799 16215
+19275 16295 19799 16295
+19275 16375 19799 16375
+19275 16455 19799 16455
+19275 16535 19799 16535
+19275 16615 19799 16615
+19275 16695 19799 16695
+19275 16775 19799 16775
+19275 16855 19799 16855
+19275 16935 19799 16935
+19275 17015 19799 17015
+19275 17095 19799 17095
+19275 17175 19799 17175
+19275 17255 19799 17255
+19275 17335 19799 17335
+19275 17415 19799 17415
+19275 17495 19799 17495
+19275 17575 19799 17575
+19275 17655 19799 17655
+19275 17735 19799 17735
+19275 17815 19799 17815
+19275 17895 19799 17895
+19275 17975 19799 17975
+19275 18055 19799 18055
+19275 18135 19799 18135
+19275 18215 19799 18215
+19275 18295 19799 18295
+19275 18375 19799 18375
+19275 18455 19799 18455
+19275 18535 19799 18535
+19275 18615 19799 18615
+19275 18695 19799 18695
+19275 18775 19799 18775
+19275 18855 19799 18855
+19275 18935 19799 18935
+19275 19015 19799 19015
+19275 19095 19799 19095
+19275 19175 19799 19175
+19275 19255 19799 19255
+19275 19335 19799 19335
+19275 19415 19799 19415
+19275 19495 19799 19495
+19275 19575 19799 19575
+19275 19655 19799 19655
+19275 19735 19799 19735
+19275 19815 19799 19815
+19275 19895 19799 19895
+19275 19975 19799 19975
+19275 20055 19799 20055
+19275 20135 19799 20135
+19275 20215 19799 20215
+19275 20295 19799 20295
+19275 20375 19799 20375
+19275 20455 19799 20455
+19275 20535 19799 20535
+19275 20615 19799 20615
+19275 20695 19799 20695
+19275 20775 19799 20775
+19275 20855 19799 20855
+19275 20935 19799 20935
+19275 21015 19799 21015
+19275 21095 19799 21095
+19275 21175 19799 21175
+19275 21255 19799 21255
+19275 21335 19799 21335
+19275 21415 19799 21415
+19275 21495 19799 21495
+19275 21575 19302 21575
+21799 18102 21799 18102
+21690 18182 21909 18182
+21486 18262 22072 18262
+21433 18342 22072 18342
+21352 18422 22072 18422
+21272 18502 22072 18502
+21192 18582 22072 18582
+21112 18662 22072 18662
+21032 18742 22072 18742
+21019 18822 22072 18822
+21019 18902 22072 18902
+21019 18982 22072 18982
+21019 19062 22072 19062
+21019 19142 22072 19142
+21019 19222 22072 19222
+21019 19302 22072 19302
+21019 19382 22072 19382
+21019 19462 22072 19462
+21019 19542 22072 19542
+21019 19622 22072 19622
+21019 19702 22072 19702
+21019 19782 22072 19782
+21019 19862 22072 19862
+21019 19942 22080 19942
+21019 20022 22096 20022
+21019 20102 22147 20102
+21019 20182 22218 20182
+21019 20262 22298 20262
+21019 20342 22378 20342
+21019 20422 22458 20422
+21019 20502 22538 20502
+21019 20582 22618 20582
+21019 20662 22698 20662
+21019 20742 22778 20742
+21019 20822 22353 20822
+21019 20902 22287 20902
+21019 20982 22258 20982
+21019 21062 22258 21062
+21019 21142 22258 21142
+21019 21222 21337 21222
+21019 21302 21234 21302
+21019 21382 21154 21382
+21019 21462 21074 21462
+35399 19129 36851 19129
+35399 19209 36851 19209
+35382 19289 36883 19289
+39916 19289 40560 19289
+35551 19369 36916 19369
+37883 19369 37916 19369
+38883 19369 38916 19369
+39883 19369 40560 19369
+35626 19449 36970 19449
+37830 19449 37970 19449
+38830 19449 38970 19449
+39830 19449 40560 19449
+35659 19529 37050 19529
+37750 19529 38050 19529
+38750 19529 39050 19529
+39750 19529 40560 19529
+35659 19609 37187 19609
+37612 19609 38187 19609
+38612 19609 39187 19609
+39612 19609 40560 19609
+35659 19689 40560 19689
+35659 19769 40560 19769
+35659 19849 40560 19849
+35659 19929 40560 19929
+35659 20009 40560 20009
+39152 20089 40560 20089
+39249 20169 40560 20169
+39329 20249 40560 20249
+39409 20329 40560 20329
+39489 20409 40560 20409
+39569 20489 40560 20489
+39649 20569 40560 20569
+39729 20649 40560 20649
+39809 20729 40560 20729
+39889 20809 40560 20809
+39969 20889 40560 20889
+40049 20969 40560 20969
+40129 21049 40560 21049
+40209 21129 40560 21129
+40289 21209 40560 21209
+40369 21289 40560 21289
+40449 21369 40560 21369
+40529 21449 40560 21449
+38833 20684 38833 20684
+38745 20764 38912 20764
+38825 20844 38992 20844
+38905 20924 39072 20924
+38985 21004 39152 21004
+39065 21084 39232 21084
+39142 21164 39312 21164
+39195 21244 39392 21244
+28550 19631 28550 19631
+28254 19711 28559 19711
+28174 19791 28579 19791
+28094 19871 28632 19871
+28014 19951 28706 19951
+27934 20031 28786 20031
+27854 20111 28866 20111
+27774 20191 28946 20191
+27694 20271 29026 20271
+27614 20351 28161 20351
+28640 20351 29106 20351
+27562 20431 28022 20431
+28778 20431 29186 20431
+27562 20511 27942 20511
+28858 20511 29266 20511
+27562 20591 27880 20591
+28921 20591 29346 20591
+27562 20671 27847 20671
+28954 20671 29426 20671
+27562 20751 27814 20751
+28987 20751 29506 20751
+27562 20831 27801 20831
+28999 20831 29586 20831
+27562 20911 27801 20911
+28999 20911 29666 20911
+27562 20991 27801 20991
+28999 20991 29746 20991
+27562 21071 27764 21071
+28977 21071 29826 21071
+26904 20602 26904 20602
+26824 20682 26904 20682
+26744 20762 26904 20762
+29847 19429 31021 19429
+29767 19509 31101 19509
+29653 19589 31181 19589
+29355 19669 31261 19669
+29435 19749 31341 19749
+29515 19829 31421 19829
+29595 19909 31501 19909
+29675 19989 31581 19989
+29755 20069 31661 20069
+29835 20149 31741 20149
+29915 20229 31821 20229
+29995 20309 31901 20309
+30075 20389 30859 20389
+31741 20389 31981 20389
+30155 20469 30785 20469
+31816 20469 31955 20469
+30235 20549 30752 20549
+31849 20549 31875 20549
+23327 12775 33759 12775
+23328 12855 33679 12855
+23328 12935 33599 12935
+23328 13015 33519 13015
+23328 13095 33439 13095
+23328 13175 33359 13175
+23328 13255 24393 13255
+28207 13255 33279 13255
+23328 13335 24329 13335
+28272 13335 33199 13335
+23328 13415 24301 13415
+28299 13415 33119 13415
+23328 13495 24301 13495
+28299 13495 33039 13495
+23328 13575 24301 13575
+28299 13575 32173 13575
+23314 13655 24301 13655
+28299 13655 32120 13655
+23269 13735 24301 13735
+28299 13735 32101 13735
+23144 13815 24301 13815
+28299 13815 32101 13815
+22921 13895 24301 13895
+28299 13895 32101 13895
+22921 13975 24301 13975
+28299 13975 32101 13975
+22921 14055 24301 14055
+28299 14055 32101 14055
+22921 14135 24301 14135
+28299 14135 32101 14135
+22921 14215 24301 14215
+28299 14215 32101 14215
+22921 14295 24301 14295
+28299 14295 32101 14295
+22921 14375 24301 14375
+28299 14375 32101 14375
+22921 14455 24301 14455
+28299 14455 32101 14455
+22921 14535 24301 14535
+28299 14535 32101 14535
+22900 14615 24301 14615
+28299 14615 32101 14615
+22845 14695 24301 14695
+28299 14695 32101 14695
+22307 14775 24301 14775
+28299 14775 32132 14775
+22341 14855 24301 14855
+28299 14855 32186 14855
+22421 14935 24301 14935
+28299 14935 32153 14935
+22501 15015 24301 15015
+28299 15015 32119 15015
+22581 15095 24301 15095
+28299 15095 32039 15095
+22661 15175 24301 15175
+28299 15175 31959 15175
+22741 15255 24301 15255
+28299 15255 31879 15255
+22821 15335 24301 15335
+28299 15335 31799 15335
+22901 15415 24301 15415
+28299 15415 31719 15415
+22981 15495 24301 15495
+28299 15495 31639 15495
+23061 15575 24301 15575
+28299 15575 31562 15575
+23141 15655 24301 15655
+28299 15655 31509 15655
+23212 15735 24301 15735
+28299 15735 31484 15735
+23265 15815 24301 15815
+28299 15815 31471 15815
+23281 15895 24301 15895
+28299 15895 31471 15895
+23290 15975 24301 15975
+28299 15975 31471 15975
+23290 16055 24301 16055
+28299 16055 31471 16055
+23290 16135 24301 16135
+28299 16135 31471 16135
+23290 16215 24301 16215
+28299 16215 31471 16215
+23290 16295 24301 16295
+28299 16295 31471 16295
+23290 16375 24301 16375
+28299 16375 31471 16375
+23290 16455 24301 16455
+28299 16455 31471 16455
+23290 16535 24301 16535
+28299 16535 31471 16535
+23290 16615 24301 16615
+28299 16615 31471 16615
+23290 16695 24301 16695
+28299 16695 31471 16695
+23289 16775 24301 16775
+28299 16775 31471 16775
+23273 16855 24301 16855
+28299 16855 31471 16855
+23238 16935 24301 16935
+28299 16935 31471 16935
+23179 17015 24307 17015
+28292 17015 31471 17015
+23099 17095 24343 17095
+28257 17095 28785 17095
+31016 17095 31471 17095
+23019 17175 24442 17175
+28157 17175 28661 17175
+31139 17175 31471 17175
+23030 17255 28581 17255
+31219 17255 31481 17255
+23049 17335 28501 17335
+31299 17335 31501 17335
+23049 17415 28421 17415
+23049 17495 28341 17495
+23049 17575 27234 17575
+27567 17575 28233 17575
+23049 17655 27069 17655
+27731 17655 28069 17655
+23049 17735 26989 17735
+27811 17735 27989 17735
+23049 17815 23536 17815
+27876 17815 27925 17815
+23049 17895 23439 17895
+23049 17975 23386 17975
+23026 18055 23370 18055
+22967 18135 23361 18135
+22728 18215 23361 18215
+22728 18295 23361 18295
+22728 18375 23361 18375
+22728 18455 23361 18455
+22728 18535 23361 18535
+22728 18615 23361 18615
+22728 18695 23361 18695
+22728 18775 23361 18775
+22728 18855 23361 18855
+22728 18935 23361 18935
+22728 19015 23361 19015
+22728 19095 23361 19095
+22728 19175 23361 19175
+22728 19255 23361 19255
+22728 19335 23361 19335
+22728 19415 23361 19415
+22728 19495 23361 19495
+22728 19575 23361 19575
+22728 19655 23361 19655
+22728 19735 23361 19735
+22779 19815 23361 19815
+22859 19895 23353 19895
+22939 19975 23353 19975
+23019 20055 23353 20055
+23099 20135 23353 20135
+23179 20215 23353 20215
+23259 20295 23353 20295
+23339 20375 23353 20375
+32099 17908 32099 17908
+32099 17988 33001 17988
+32099 18068 33008 18068
+32087 18148 33046 18148
+32053 18228 33069 18228
+32020 18308 33019 18308
+31959 18388 33001 18388
+31879 18468 33001 18468
+31794 18548 33001 18548
+31874 18628 33001 18628
+31954 18708 33001 18708
+32034 18788 33001 18788
+32114 18868 33001 18868
+32194 18948 33001 18948
+32274 19028 33001 19028
+32354 19108 33001 19108
+32434 19188 33001 19188
+32514 19268 33008 19268
+32594 19348 33046 19348
+32674 19428 33149 19428
+32754 19508 33173 19508
+32834 19588 33140 19588
+32914 19668 33107 19668
+32994 19748 33101 19748
+33074 19828 33101 19828
+24019 18429 25413 18429
+24019 18509 25244 18509
+24019 18589 25164 18589
+24019 18669 25089 18669
+24019 18749 25056 18749
+24019 18829 25023 18829
+24019 18909 25001 18909
+24019 18989 25001 18989
+24019 19069 25001 19069
+24019 19149 25013 19149
+24019 19229 25046 19229
+24019 19309 25079 19309
+24019 19389 25142 19389
+24019 19469 25222 19469
+24019 19549 25252 19549
+24019 19629 25252 19629
+25786 18429 26953 18429
+25956 18509 27033 18509
+26036 18589 27146 18589
+26112 18669 27055 18669
+26145 18749 26975 18749
+26178 18829 26919 18829
+26199 18909 26886 18909
+26199 18989 26852 18989
+26199 19069 26851 19069
+26186 19149 26851 19149
+26153 19229 26213 19229
+26587 19229 26859 19229
+26756 19309 26892 19309
+26836 19389 26925 19389
+26912 19469 26993 19469
+26945 19549 27026 19549
+32129 16405 32129 16405
+32129 16485 32161 16485
+32129 16565 32194 16565
+32129 16645 32256 16645
+32129 16725 32336 16725
+32129 16805 32434 16805
+32129 16885 32626 16885
+32971 16885 38849 16885
+32129 16965 33168 16965
+33934 16965 34468 16965
+35234 16965 35568 16965
+36334 16965 36868 16965
+37634 16965 38769 16965
+32129 17045 33053 17045
+34047 17045 34353 17045
+35347 17045 35453 17045
+36447 17045 36753 17045
+37747 17045 38689 17045
+32191 17125 33012 17125
+34089 17125 34312 17125
+35389 17125 35412 17125
+36489 17125 36712 17125
+37789 17125 38609 17125
+32271 17205 33001 17205
+34099 17205 34301 17205
+35399 17205 35401 17205
+36499 17205 36701 17205
+37799 17205 38529 17205
+34099 17285 34301 17285
+36499 17285 36701 17285
+34099 17365 34301 17365
+36499 17365 36701 17365
+34099 17445 34301 17445
+36499 17445 36701 17445
+34099 17525 34301 17525
+36499 17525 36701 17525
+34099 17605 34301 17605
+36499 17605 36701 17605
+34099 17685 34301 17685
+36499 17685 36701 17685
+34099 17765 34301 17765
+36499 17765 36701 17765
+34099 17845 34301 17845
+36499 17845 36701 17845
+34099 17925 34301 17925
+36499 17925 36701 17925
+34099 18005 34301 18005
+35399 18005 35401 18005
+36499 18005 36701 18005
+34084 18085 34315 18085
+35384 18085 35415 18085
+36484 18085 36715 18085
+34036 18165 34363 18165
+35337 18165 35463 18165
+36437 18165 36763 18165
+34048 18245 34353 18245
+35347 18245 35590 18245
+36308 18245 36890 18245
+34089 18325 34312 18325
+35389 18325 37106 18325
+34099 18405 34301 18405
+35399 18405 37016 18405
+34099 18485 34301 18485
+34099 18565 34301 18565
+34099 18645 34301 18645
+34099 18725 34301 18725
+34099 18805 34301 18805
+34099 18885 34301 18885
+34099 18965 34301 18965
+34099 19045 34301 19045
+34099 19125 34301 19125
+34099 19205 34301 19205
+34083 19285 34315 19285
+34112 19365 34363 19365
+34192 19445 34397 19445
+34235 19525 34364 19525
+41240 12775 42225 12775
+41320 12855 42225 12855
+41400 12935 42225 12935
+41480 13015 42225 13015
+41560 13095 42225 13095
+41640 13175 42225 13175
+41720 13255 42225 13255
+41800 13335 42225 13335
+41865 13415 42225 13415
+41909 13495 42225 13495
+41925 13575 42225 13575
+41929 13655 42225 13655
+41929 13735 42225 13735
+41929 13815 42225 13815
+41929 13895 42225 13895
+41929 13975 42225 13975
+41929 14055 42225 14055
+41929 14135 42225 14135
+41929 14215 42225 14215
+41929 14295 42225 14295
+41929 14375 42225 14375
+41929 14455 42225 14455
+41929 14535 42225 14535
+41929 14615 42225 14615
+41929 14695 42225 14695
+41929 14775 42225 14775
+41929 14855 42225 14855
+41929 14935 42225 14935
+41929 15015 42225 15015
+41929 15095 42225 15095
+41929 15175 42225 15175
+41929 15255 42225 15255
+41929 15335 42225 15335
+41929 15415 42225 15415
+41929 15495 42225 15495
+41929 15575 42225 15575
+41929 15655 42225 15655
+41929 15735 42225 15735
+41929 15815 42225 15815
+41929 15895 42225 15895
+41929 15975 42225 15975
+41929 16055 42225 16055
+41929 16135 42225 16135
+41929 16215 42225 16215
+41929 16295 42225 16295
+41929 16375 42225 16375
+41929 16455 42225 16455
+41929 16535 42225 16535
+41929 16615 42225 16615
+41929 16695 42225 16695
+41929 16775 42225 16775
+41929 16855 42225 16855
+41929 16935 42225 16935
+41929 17015 42225 17015
+41929 17095 42225 17095
+41929 17175 42225 17175
+41929 17255 42225 17255
+41929 17335 42225 17335
+41929 17415 42225 17415
+41929 17495 42225 17495
+41929 17575 42225 17575
+41929 17655 42225 17655
+41929 17735 42225 17735
+41929 17815 42225 17815
+41929 17895 42225 17895
+41929 17975 42225 17975
+41929 18055 42225 18055
+41929 18135 42225 18135
+41926 18215 42225 18215
+41910 18295 42225 18295
+41871 18375 42225 18375
+41809 18455 42225 18455
+41729 18535 42225 18535
+41649 18615 42225 18615
+41569 18695 42225 18695
+41489 18775 42225 18775
+41409 18855 42225 18855
+41329 18935 42225 18935
+41249 19015 42225 19015
+41030 13495 41030 13495
+41064 13575 41110 13575
+41097 13655 41190 13655
+41099 13735 41270 13735
+41099 13815 41271 13815
+41099 13895 41271 13895
+41084 13975 41271 13975
+41051 14055 41271 14055
+41017 14135 41271 14135
+40973 14215 41271 14215
+40893 14295 41271 14295
+40813 14375 41271 14375
+40663 14455 41271 14455
+40583 14535 41271 14535
+40503 14615 41271 14615
+40423 14695 41271 14695
+40343 14775 41271 14775
+40263 14855 41271 14855
+40183 14935 41271 14935
+40103 15015 41271 15015
+40023 15095 41271 15095
+39943 15175 40083 15175
+40718 15175 41271 15175
+39863 15255 39957 15255
+40844 15255 41271 15255
+39783 15335 39877 15335
+40924 15335 41271 15335
+39703 15415 39803 15415
+40998 15415 41271 15415
+39623 15495 39770 15495
+41031 15495 41271 15495
+41064 15575 41271 15575
+41097 15655 41271 15655
+41099 15735 41271 15735
+41099 15815 41271 15815
+41099 15895 41271 15895
+41084 15975 41271 15975
+41051 16055 41271 16055
+41017 16135 41271 16135
+40973 16215 41271 16215
+40893 16295 41271 16295
+40813 16375 41271 16375
+40664 16455 41271 16455
+40584 16535 41271 16535
+40504 16615 41271 16615
+40407 16695 41271 16695
+40287 16775 41271 16775
+39810 16855 41271 16855
+39730 16935 41271 16935
+39650 17015 41271 17015
+39570 17095 41271 17095
+39490 17175 41271 17175
+39410 17255 41271 17255
+39330 17335 41271 17335
+39250 17415 41271 17415
+39170 17495 41271 17495
+39090 17575 41271 17575
+39010 17655 41271 17655
+38930 17735 41271 17735
+38850 17815 41271 17815
+38739 17895 41271 17895
+37799 17975 41271 17975
+37796 18055 41271 18055
+37763 18135 41199 18135
+37681 18215 41119 18215
+37622 18295 38178 18295
+38623 18295 39178 18295
+39623 18295 41039 18295
+37754 18375 38046 18375
+38754 18375 39046 18375
+39754 18375 40959 18375
+37834 18455 37966 18455
+38834 18455 38966 18455
+39834 18455 40879 18455
+37886 18535 37915 18535
+38886 18535 38915 18535
+39886 18535 40799 18535
+39919 18615 40719 18615
+27708 18566 27708 18566
+27900 18326 27900 18326
+27866 18406 27868 18406
+29939 17728 29964 17728
+20551 16093 20551 16093
+20471 16173 20551 16173
+20457 16253 20551 16253
+20457 16333 20551 16333
+20457 16413 20551 16413
+20457 16493 20551 16493
+20457 16573 20551 16573
+20457 16653 20551 16653
+20457 16733 20565 16733
+20457 16813 20611 16813
+21799 16801 21799 16801
+32168 15896 32168 15896
+32129 15976 32136 15976
+21774 15729 21774 15729
+21730 15809 21854 15809
+21791 15889 21809 15889
+20927 15716 20927 15716
+20847 15796 20890 15796
+34336 13129 40194 13129
+34256 13209 40003 13209
+34176 13289 39923 13289
+34096 13369 39843 13369
+34016 13449 39789 13449
+33936 13529 39751 13529
+33856 13609 39671 13609
+33776 13689 39591 13689
+33696 13769 39511 13769
+33616 13849 39431 13849
+33536 13929 39351 13929
+33499 14009 39271 14009
+33499 14089 39191 14089
+33499 14169 39111 14169
+33499 14249 39031 14249
+33499 14329 38951 14329
+33499 14409 38871 14409
+33499 14489 38791 14489
+40607 13129 40663 13129
+$endFILLSEGMENTS
+$endCZONE_OUTLINE
+$EndBOARD
diff --git a/circuit/fridge-lock.cmp b/circuit/fridge-lock.cmp
new file mode 100644
index 0000000..41372c6
--- /dev/null
+++ b/circuit/fridge-lock.cmp
@@ -0,0 +1,150 @@
+Cmp-Mod V01 Created by CvPCB (2010-03-14)-final date = Sat 24 Mar 2012 09:37:22 PM CET
+
+BeginCmp
+TimeStamp = /4D41AD3C;
+Reference = C1;
+ValeurCmp = 1u;
+IdModule = SM1206;
+EndCmp
+
+BeginCmp
+TimeStamp = /4D41ADFF;
+Reference = C3;
+ValeurCmp = 10u;
+IdModule = SM1206POL;
+EndCmp
+
+BeginCmp
+TimeStamp = /4D41AE7F;
+Reference = C4;
+ValeurCmp = 18p;
+IdModule = SM1206;
+EndCmp
+
+BeginCmp
+TimeStamp = /4D41AE84;
+Reference = C5;
+ValeurCmp = 18p;
+IdModule = SM1206;
+EndCmp
+
+BeginCmp
+TimeStamp = /4F6E14CE;
+Reference = C6;
+ValeurCmp = 100n;
+IdModule = SM1206;
+EndCmp
+
+BeginCmp
+TimeStamp = /4F6E181E;
+Reference = C7;
+ValeurCmp = 10n;
+IdModule = SM1206;
+EndCmp
+
+BeginCmp
+TimeStamp = /4D41AD80;
+Reference = J1;
+ValeurCmp = USB;
+IdModule = molex-microusb;
+EndCmp
+
+BeginCmp
+TimeStamp = /4F6E103D;
+Reference = OK1;
+ValeurCmp = MOC3023M;
+IdModule = DIP-6__300_ELL;
+EndCmp
+
+BeginCmp
+TimeStamp = /4DCFB290;
+Reference = P2;
+ValeurCmp = EXPANSION;
+IdModule = pin_array_4x2;
+EndCmp
+
+BeginCmp
+TimeStamp = /4DCFAE62;
+Reference = P3;
+ValeurCmp = ISP;
+IdModule = pin_array_3x2;
+EndCmp
+
+BeginCmp
+TimeStamp = /4F6E1135;
+Reference = P4;
+ValeurCmp = CONN_2;
+IdModule = connect-CLAMP-02;
+EndCmp
+
+BeginCmp
+TimeStamp = /4D41ADA3;
+Reference = R2;
+ValeurCmp = 22;
+IdModule = SM1206;
+EndCmp
+
+BeginCmp
+TimeStamp = /4D41ADA8;
+Reference = R3;
+ValeurCmp = 22;
+IdModule = SM1206;
+EndCmp
+
+BeginCmp
+TimeStamp = /4D4449CE;
+Reference = R4;
+ValeurCmp = 10k;
+IdModule = SM1206;
+EndCmp
+
+BeginCmp
+TimeStamp = /4F6E0F44;
+Reference = R5;
+ValeurCmp = 220;
+IdModule = SM1206;
+EndCmp
+
+BeginCmp
+TimeStamp = /4F6E10E2;
+Reference = R6;
+ValeurCmp = 330;
+IdModule = SM1206;
+EndCmp
+
+BeginCmp
+TimeStamp = /4F6E1810;
+Reference = R7;
+ValeurCmp = 39;
+IdModule = SM1206;
+EndCmp
+
+BeginCmp
+TimeStamp = /4D41ACFD;
+Reference = U1;
+ValeurCmp = AT90USB162;
+IdModule = TQFP32;
+EndCmp
+
+BeginCmp
+TimeStamp = /4F6E139C;
+Reference = U2;
+ValeurCmp = LM75;
+IdModule = SO8E;
+EndCmp
+
+BeginCmp
+TimeStamp = /4F6E10B7;
+Reference = U3;
+ValeurCmp = TRIAC;
+IdModule = TO220-TRIAC;
+EndCmp
+
+BeginCmp
+TimeStamp = /4D41AE62;
+Reference = X1;
+ValeurCmp = CRYSTAL;
+IdModule = crystal-HC49UP;
+EndCmp
+
+EndListe
diff --git a/circuit/fridge-lock.dsn b/circuit/fridge-lock.dsn
new file mode 100644
index 0000000..f3f56aa
--- /dev/null
+++ b/circuit/fridge-lock.dsn
@@ -0,0 +1,539 @@
+(pcb "/home/trygvis/dev/no.bitraf/fridge-lock/circuit/fridge-lock.dsn"
+ (parser
+ (string_quote ")
+ (space_in_quoted_tokens on)
+ (host_cad "Kicad's PCBNEW")
+ (host_version "(2010-03-14)-final")
+ )
+ (resolution mil 10)
+ (unit mil)
+ (structure
+ (layer Front
+ (type signal)
+ (property
+ (index 0)
+ )
+ )
+ (layer Back
+ (type signal)
+ (property
+ (index 1)
+ )
+ )
+ (boundary
+ (path pcb 0 1900 -1250 1900 -4900 4250 -4900 4250 -1250 1900 -1250)
+ )
+ (via "Via[0-1]_47.2:25_mil" "Via[0-1]_47.2:0_mil")
+ (rule
+ (width 15.7)
+ (clearance 8)
+ (clearance 8 (type default_smd))
+ (clearance 1.975 (type smd_smd))
+ )
+ )
+ (placement
+ (component "connect-CLAMP-02"
+ (place P4 4040 -1480 front 270 (PN CONN_2))
+ )
+ (component "crystal-HC49UP"
+ (place X1 3840 -2880 front 0 (PN CRYSTAL))
+ )
+ (component "DIP-6__300_ELL"
+ (place OK1 3840 -2045 front 0 (PN MOC3023M))
+ )
+ (component "molex-microusb"
+ (place J1 2260 -1320 front 270 (PN USB))
+ )
+ (component pin_array_3x2
+ (place P3 2840 -1860 front 180 (PN ISP))
+ )
+ (component SM1206
+ (place R7 3420 -1760 front 0 (PN 39))
+ (place R6 3420 -1880 front 0 (PN 330))
+ (place R5 3500 -2200 front 180 (PN 220))
+ (place R4 2240 -2620 front 0 (PN 10k))
+ (place R3 2240 -1700 front 90 (PN 22))
+ (place R2 2120 -1700 front 90 (PN 22))
+ (place C7 3660 -1760 front 0 (PN 10n))
+ (place C6 4020 -2480 front 180 (PN 100n))
+ (place C5 4020 -2640 front 180 (PN 18p))
+ (place C4 3680 -2640 front 0 (PN 18p))
+ (place C1 2240 -2780 front 0 (PN 1u))
+ )
+ (component SM1206POL
+ (place C3 3680 -2480 front 180 (PN 10u))
+ )
+ (component SO8E
+ (place U2 3140 -2700 front 270 (PN LM75))
+ )
+ (component TQFP32
+ (place U1 2480 -2220 front 90 (PN AT90USB162))
+ )
+ (component pin_array_4x2
+ (place P2 3180 -2240 front 270 (PN EXPANSION))
+ )
+ (component "TO220-TRIAC"
+ (place U3 3280 -1520 front 180 (PN TRIAC))
+ )
+ )
+ (library
+ (image "connect-CLAMP-02"
+ (outline (path signal 5 197 200 197 -200))
+ (outline (path signal 5 -197 200 -197 -200))
+ (outline (path signal 5 -197 200 197 200))
+ (outline (path signal 5 197 -200 -197 -200))
+ (outline (path signal 5 -48 52 -165 -35))
+ (outline (path signal 5 -35 35 -153 -52))
+ (outline (path signal 20 -50 35 -150 -35))
+ (outline (path signal 10 -40 36 -49 46))
+ (outline (path signal 10 -152 -46 -159 -37))
+ (outline (path signal 5 48 52 135 -65))
+ (outline (path signal 5 65 65 152 -53))
+ (outline (path signal 20 65 50 135 -50))
+ (outline (path signal 10 64 60 54 50.9))
+ (outline (path signal 10 146 -52 137 -59))
+ (outline (path signal 2 -165 180 195 180))
+ (outline (path signal 2 -170 160 195 160))
+ (outline (path signal 2 -180 140 195 140))
+ (outline (path signal 2 -165 -180 195 -180))
+ (outline (path signal 2 -170 -160 195 -160))
+ (outline (path signal 2 -180 -140 195 -140))
+ (outline (path signal 2 195 -120 -190 -120))
+ (outline (path signal 2 -190 120 195 120))
+ (outline (path signal 2.5 -47 0 -49.6 -16.3 -57.1 -31.1 -68.9 -42.9 -83.7 -50.4
+ -100 -53 -116.3 -50.4 -131.1 -42.9 -142.9 -31.1 -150.4 -16.3
+ -153 0 -150.4 16.3 -142.9 31.1 -131.1 42.9 -116.3 50.4 -100 53
+ -83.7 50.4 -68.9 42.9 -57.1 31.1 -49.6 16.3))
+ (outline (path signal 2.5 153 0 150.4 -16.3 142.9 -31.1 131.1 -42.9 116.3 -50.4
+ 100 -53 83.7 -50.4 68.9 -42.9 57.1 -31.1 49.6 -16.3 47 0
+ 49.6 16.3 57.1 31.1 68.9 42.9 83.7 50.4 100 53 116.3 50.4
+ 131.1 42.9 142.9 31.1 150.4 16.3))
+ (pin Round[TB]Pad_90_mil 1 -100 0)
+ (pin Round[TB]Pad_90_mil 2 100 0)
+ )
+ (image "crystal-HC49UP"
+ (outline (path signal 2.6 -260 -120 260 -120))
+ (outline (path signal 2.6 260 -120 260 120))
+ (outline (path signal 2.6 -260 120 260 120))
+ (outline (path signal 2.6 -260 -120 -260 120))
+ (outline (path signal 6 -225 45 -225 85))
+ (outline (path signal 6 225 45 225 85))
+ (outline (path signal 2 135 -50 -135 -50))
+ (outline (path signal 2 135 -80 -135 -80))
+ (outline (path signal 2 -135 50 135 50))
+ (outline (path signal 6 215 -95 -215 -95))
+ (outline (path signal 6 225 -15 255 -15))
+ (outline (path signal 6 225 15 255 15))
+ (outline (path signal 6 255 -15 255 15))
+ (outline (path signal 6 225 -45 225 45))
+ (outline (path signal 6 225 -85 225 -45))
+ (outline (path signal 6 -255 -15 -255 15))
+ (outline (path signal 6 -225 -45 -225 -15))
+ (outline (path signal 6 -225 -15 -225 15))
+ (outline (path signal 6 -225 15 -225 45))
+ (outline (path signal 6 -225 -85 -225 -45))
+ (outline (path signal 6 -225 -15 -255 -15))
+ (outline (path signal 6 -225 15 -255 15))
+ (outline (path signal 2 -135 80 135 80))
+ (outline (path signal 6 215 95 -215 95))
+ (outline (path signal 6 -10 25 -10 -25))
+ (outline (path signal 6 -10 -25 10 -25))
+ (outline (path signal 6 10 -25 10 25))
+ (outline (path signal 6 10 25 -10 25))
+ (outline (path signal 6 -25 25 -25 0))
+ (outline (path signal 6 -25 0 -25 -25))
+ (outline (path signal 2 -25 0 -40 0))
+ (outline (path signal 6 25 25 25 0))
+ (outline (path signal 6 25 0 25 -25))
+ (outline (path signal 2 25 0 40 0))
+ (pin Rect[T]Pad_210x76_mil 1 -190 0)
+ (pin Rect[T]Pad_210x76_mil 2 190 0)
+ )
+ (image "DIP-6__300_ELL"
+ (outline (path signal 15 -175 100 175 100))
+ (outline (path signal 15 175 100 175 -100))
+ (outline (path signal 15 175 -100 -175 -100))
+ (outline (path signal 15 -175 -100 -175 100))
+ (outline (path signal 15 -175 25 -125 25))
+ (outline (path signal 15 -125 25 -125 -25))
+ (outline (path signal 15 -125 -25 -175 -25))
+ (pin Rect[A]Pad_62x90_mil 1 -100 -150)
+ (pin Oval[A]Pad_62x90_mil 2 0 -150)
+ (pin Oval[A]Pad_62x90_mil 3 100 -150)
+ (pin Oval[A]Pad_62x90_mil 4 100 150)
+ (pin Oval[A]Pad_62x90_mil 5 0 150)
+ (pin Oval[A]Pad_62x90_mil 6 -100 150)
+ )
+ (image "molex-microusb"
+ (outline (path signal 5 -58.7 -280.7 -58.7 -294.9))
+ (outline (path signal 5 -58.7 61 -58.7 74.8))
+ (outline (path signal 5 -85 60.2 -85 -281.5))
+ (outline (path signal 5 -58.7 60.2 -58.7 -279.1))
+ (pin Rect[T]Pad_54.3x15.7_mil @1 104.6 -139)
+ (pin Rect[T]Pad_54.3x15.7_mil 3 104.6 -113.4)
+ (pin Rect[T]Pad_82.7x47.3_mil @2 90.3 -16.4)
+ (pin Rect[T]Pad_54.3x15.7_mil 1 104.5 -62.2)
+ (pin Rect[T]Pad_82.7x47.2_mil @3 90.3 -210.2)
+ (pin Rect[T]Pad_74.8x93.3_mil @4 -0.1 -227.9)
+ (pin Rect[T]Pad_74.8x93.3_mil @5 -0.1 1.3)
+ (pin Rect[T]Pad_74.8x46.3_mil @6 -0.1 -80.2)
+ (pin Rect[T]Pad_74.8x46.3_mil @7 -0.1 -146.4)
+ (pin Rect[T]Pad_54.3x15.7_mil 2 104.6 -87.8)
+ (pin Rect[T]Pad_54.3x15.7_mil 5 104.6 -164.6)
+ )
+ (image pin_array_3x2
+ (outline (path signal 8 150 -100 -150 -100))
+ (outline (path signal 8 -150 100 150 100))
+ (outline (path signal 8 150 100 150 -100))
+ (outline (path signal 8 -150 -100 -150 100))
+ (pin Rect[A]Pad_60x60_mil 1 -100 -50)
+ (pin Round[A]Pad_60_mil 2 -100 50)
+ (pin Round[A]Pad_60_mil 3 0 -50)
+ (pin Round[A]Pad_60_mil 4 0 50)
+ (pin Round[A]Pad_60_mil 5 100 -50)
+ (pin Round[A]Pad_60_mil 6 100 50)
+ )
+ (image SM1206
+ (outline (path signal 5 -100 45 -100 -45))
+ (outline (path signal 5 -100 -45 -35 -45))
+ (outline (path signal 5 35 45 100 45))
+ (outline (path signal 5 100 45 100 -45))
+ (outline (path signal 5 100 -45 35 -45))
+ (outline (path signal 5 -35 45 -100 45))
+ (pin Rect[T]Pad_60x80_mil 1 -65 0)
+ (pin Rect[T]Pad_60x80_mil 2 65 0)
+ )
+ (image SM1206POL
+ (outline (path signal 5 -100 45 -110 45))
+ (outline (path signal 5 -110 45 -110 -45))
+ (outline (path signal 5 -110 -45 -100 -45))
+ (outline (path signal 5 -100 45 -100 -45))
+ (outline (path signal 5 -100 -45 -35 -45))
+ (outline (path signal 5 35 45 100 45))
+ (outline (path signal 5 100 45 100 -45))
+ (outline (path signal 5 100 -45 35 -45))
+ (outline (path signal 5 -35 45 -100 45))
+ (pin Rect[T]Pad_60x80_mil 1 -65 0)
+ (pin Rect[T]Pad_60x80_mil 2 65 0)
+ )
+ (image SO8E
+ (outline (path signal 5 -105 -70 -105 -75))
+ (outline (path signal 5 -105 -75 105 -75))
+ (outline (path signal 5 105 75 -105 75))
+ (outline (path signal 5 -105 75 -105 -70))
+ (outline (path signal 5 -105 20 -85 20))
+ (outline (path signal 5 -85 20 -85 -20))
+ (outline (path signal 5 -85 -20 -105 -20))
+ (outline (path signal 5 105 75 105 -75))
+ (pin Rect[T]Pad_20x45_mil 8 -75 105)
+ (pin Rect[T]Pad_20x45_mil 1 -75 -105)
+ (pin Rect[T]Pad_20x45_mil 7 -25 105)
+ (pin Rect[T]Pad_20x45_mil 6 25 105)
+ (pin Rect[T]Pad_20x45_mil 5 75 105)
+ (pin Rect[T]Pad_20x45_mil 2 -25 -105)
+ (pin Rect[T]Pad_20x45_mil 3 25 -105)
+ (pin Rect[T]Pad_20x45_mil 4 75 -105)
+ )
+ (image TQFP32
+ (outline (path signal 6 198 -109 153 -109))
+ (outline (path signal 6 198 109 154 109))
+ (outline (path signal 6 198 -109 198 109))
+ (outline (path signal 6 110 -156 110 -199))
+ (outline (path signal 6 -111 -157 -111 -199))
+ (outline (path signal 6 -112 -199 110 -200))
+ (outline (path signal 6 -110 198 107 199))
+ (outline (path signal 6 -153 129 -153 -154))
+ (outline (path signal 6 108 198 108 157))
+ (outline (path signal 6 -128 153 150 153))
+ (outline (path signal 6 152 -155 152 149))
+ (outline (path signal 6 -153 -155 147 -155))
+ (outline (path signal 6 -198 112 -198 -110))
+ (outline (path signal 6 -198 -110 -153 -110))
+ (outline (path signal 6 -152.6 130 -129.6 153))
+ (outline (path signal 6 -197.8 112 -152.6 112))
+ (outline (path signal 6 -110 153 -110 198.2))
+ (outline (path signal 6 -93 112.6 -93.9 106.8 -96.6 101.6 -100.8 97.4 -106 94.7
+ -111.8 93.8 -117.6 94.7 -122.8 97.4 -127 101.6 -129.7 106.8
+ -130.6 112.6 -129.7 118.4 -127 123.6 -122.8 127.8 -117.6 130.5
+ -111.8 131.4 -106 130.5 -100.8 127.8 -96.6 123.6 -93.9 118.4))
+ (pin Rect[T]Pad_78.7x17.7_mil 8 -189.6 -109.3)
+ (pin Rect[T]Pad_78.7x17.7_mil 7 -189.6 -77.8)
+ (pin Rect[T]Pad_78.7x17.7_mil 6 -189.6 -46.3)
+ (pin Rect[T]Pad_78.7x17.7_mil 5 -189.6 -14.8)
+ (pin Rect[T]Pad_78.7x17.7_mil 4 -189.6 16.7)
+ (pin Rect[T]Pad_78.7x17.7_mil 3 -189.6 48.2)
+ (pin Rect[T]Pad_78.7x17.7_mil 2 -189.6 79.7)
+ (pin Rect[T]Pad_78.7x17.7_mil 1 -189.6 111.2)
+ (pin Rect[T]Pad_78.7x17.7_mil 24 187 111)
+ (pin Rect[T]Pad_78.7x17.7_mil 17 187 -110)
+ (pin Rect[T]Pad_78.7x17.7_mil 18 187 -78)
+ (pin Rect[T]Pad_78.7x17.7_mil 19 187 -46)
+ (pin Rect[T]Pad_78.7x17.7_mil 20 187 -15)
+ (pin Rect[T]Pad_78.7x17.7_mil 21 187 17)
+ (pin Rect[T]Pad_78.7x17.7_mil 22 187 48)
+ (pin Rect[T]Pad_78.7x17.7_mil 23 187 80)
+ (pin Rect[T]Pad_17.7x78.7_mil 32 -111.2 190)
+ (pin Rect[T]Pad_17.7x78.7_mil 31 -79.8 190)
+ (pin Rect[T]Pad_17.7x78.7_mil 30 -48.2 190)
+ (pin Rect[T]Pad_17.7x78.7_mil 29 -16.8 190)
+ (pin Rect[T]Pad_17.7x78.7_mil 28 14.8 190)
+ (pin Rect[T]Pad_17.7x78.7_mil 27 46.2 190)
+ (pin Rect[T]Pad_17.7x78.7_mil 26 77.8 190)
+ (pin Rect[T]Pad_17.7x78.7_mil 25 109.2 190)
+ (pin Rect[T]Pad_17.7x78.7_mil 9 -111 -188)
+ (pin Rect[T]Pad_17.7x78.7_mil 10 -80 -188)
+ (pin Rect[T]Pad_17.7x78.7_mil 11 -48 -188)
+ (pin Rect[T]Pad_17.7x78.7_mil 12 -17 -188)
+ (pin Rect[T]Pad_17.7x78.7_mil 13 14 -188)
+ (pin Rect[T]Pad_17.7x78.7_mil 14 46 -188)
+ (pin Rect[T]Pad_17.7x78.7_mil 15 78 -188)
+ (pin Rect[T]Pad_17.7x78.7_mil 16 110 -188)
+ )
+ (image pin_array_4x2
+ (outline (path signal 12 -200 100 200 100))
+ (outline (path signal 12 200 100 200 -100))
+ (outline (path signal 12 200 -100 -200 -100))
+ (outline (path signal 12 -200 -100 -200 100))
+ (pin Rect[A]Pad_60x60_mil 1 -150 -50)
+ (pin Round[A]Pad_60_mil 2 -150 50)
+ (pin Round[A]Pad_60_mil 3 -50 -50)
+ (pin Round[A]Pad_60_mil 4 -50 50)
+ (pin Round[A]Pad_60_mil 5 50 -50)
+ (pin Round[A]Pad_60_mil 6 50 50)
+ (pin Round[A]Pad_60_mil 7 150 -50)
+ (pin Round[A]Pad_60_mil 8 150 50)
+ )
+ (image "TO220-TRIAC"
+ (outline (path signal 12 0 100 200 100))
+ (outline (path signal 12 0 0 200 0))
+ (outline (path signal 12 0 -100 200 -100))
+ (outline (path signal 12 200 -200 800 -200))
+ (outline (path signal 12 800 -200 800 200))
+ (outline (path signal 12 800 200 200 200))
+ (outline (path signal 12 200 200 200 -200))
+ (outline (path signal 12 500 -150 500 200))
+ (outline (path signal 12 500 -150 500 -200))
+ (pin Rect[A]Pad_90x90_mil 3 0 -100)
+ (pin Round[A]Pad_90_mil 1 0 100)
+ (pin Round[A]Pad_90_mil 2 0 0)
+ (pin Rect[A]Pad_350x350_mil 4 650 0)
+ )
+ (padstack Round[A]Pad_60_mil
+ (shape (circle Front 60))
+ (shape (circle Back 60))
+ (attach off)
+ )
+ (padstack Round[A]Pad_90_mil
+ (shape (circle Front 90))
+ (shape (circle Back 90))
+ (attach off)
+ )
+ (padstack Round[TB]Pad_90_mil
+ (shape (circle Front 90))
+ (shape (circle Back 90))
+ (attach off)
+ )
+ (padstack Oval[A]Pad_62x90_mil
+ (shape (path Front 62 0 -14 0 14))
+ (shape (path Back 62 0 -14 0 14))
+ (attach off)
+ )
+ (padstack Rect[T]Pad_20x45_mil
+ (shape (rect Front -10 -22.5 10 22.5))
+ (attach off)
+ )
+ (padstack Rect[T]Pad_210x76_mil
+ (shape (rect Front -105 -38 105 38))
+ (attach off)
+ )
+ (padstack Rect[A]Pad_350x350_mil
+ (shape (rect Front -175 -175 175 175))
+ (shape (rect Back -175 -175 175 175))
+ (attach off)
+ )
+ (padstack Rect[T]Pad_54.3x15.7_mil
+ (shape (rect Front -27.15 -7.85 27.15 7.85))
+ (attach off)
+ )
+ (padstack Rect[A]Pad_60x60_mil
+ (shape (rect Front -30 -30 30 30))
+ (shape (rect Back -30 -30 30 30))
+ (attach off)
+ )
+ (padstack Rect[T]Pad_60x80_mil
+ (shape (rect Front -30 -40 30 40))
+ (attach off)
+ )
+ (padstack Rect[A]Pad_62x90_mil
+ (shape (rect Front -31 -45 31 45))
+ (shape (rect Back -31 -45 31 45))
+ (attach off)
+ )
+ (padstack Rect[T]Pad_74.8x46.3_mil
+ (shape (rect Front -37.4 -23.15 37.4 23.15))
+ (attach off)
+ )
+ (padstack Rect[T]Pad_74.8x93.3_mil
+ (shape (rect Front -37.4 -46.65 37.4 46.65))
+ (attach off)
+ )
+ (padstack Rect[T]Pad_78.7x17.7_mil
+ (shape (rect Front -39.35 -8.85 39.35 8.85))
+ (attach off)
+ )
+ (padstack Rect[T]Pad_82.7x47.2_mil
+ (shape (rect Front -41.35 -23.6 41.35 23.6))
+ (attach off)
+ )
+ (padstack Rect[T]Pad_82.7x47.3_mil
+ (shape (rect Front -41.35 -23.65 41.35 23.65))
+ (attach off)
+ )
+ (padstack Rect[A]Pad_90x90_mil
+ (shape (rect Front -45 -45 45 45))
+ (shape (rect Back -45 -45 45 45))
+ (attach off)
+ )
+ (padstack Rect[T]Pad_17.7x78.7_mil
+ (shape (rect Front -8.85 -39.35 8.85 39.35))
+ (attach off)
+ )
+ (padstack "Via[0-1]_47.2:25_mil"
+ (shape (circle Front 47.2))
+ (shape (circle Back 47.2))
+ (attach off)
+ )
+ (padstack "Via[0-1]_47.2:0_mil"
+ (shape (circle Front 47.2))
+ (shape (circle Back 47.2))
+ (attach off)
+ )
+ )
+ (network
+ (net /hot1
+ (pins P4-1 R7-1 R6-1 U3-2)
+ )
+ (net /hot2
+ (pins P4-2 C7-2 U3-1)
+ )
+ (net GND
+ (pins OK1-2 J1-5 P3-6 C6-2 C5-2 C4-2 C3-2 U2-8 U2-7 U2-6 U2-4 U1-3 U1-28 P2-1
+ C1-2)
+ )
+ (net "N-000011"
+ (pins OK1-6 R6-2)
+ )
+ (net "N-000013"
+ (pins OK1-1 R5-1)
+ )
+ (net "N-000014"
+ (pins OK1-4 U3-3)
+ )
+ (net "N-000018"
+ (pins U2-1 U1-7)
+ )
+ (net "N-000020"
+ (pins U1-10 P2-6)
+ )
+ (net "N-000021"
+ (pins U2-2 U1-6)
+ )
+ (net "N-000022"
+ (pins X1-1 C4-1 U1-1)
+ )
+ (net "N-000023"
+ (pins U1-27 C1-1)
+ )
+ (net "N-000024"
+ (pins J1-3 R2-2)
+ )
+ (net "N-000025"
+ (pins J1-2 R3-2)
+ )
+ (net "N-000026"
+ (pins R2-1 U1-29)
+ )
+ (net "N-000027"
+ (pins R3-1 U1-30)
+ )
+ (net "N-000028"
+ (pins P3-1 U1-17)
+ )
+ (net "N-000029"
+ (pins R5-2 U1-18)
+ )
+ (net "N-000030"
+ (pins U1-12 P2-4)
+ )
+ (net "N-000031"
+ (pins U1-14 P2-2)
+ )
+ (net "N-000032"
+ (pins P3-5 R4-2 U1-24)
+ )
+ (net "N-000033"
+ (pins P3-4 U1-16)
+ )
+ (net "N-000034"
+ (pins P3-3 U1-15)
+ )
+ (net "N-000035"
+ (pins U1-13 P2-3)
+ )
+ (net "N-000036"
+ (pins U1-11 P2-5)
+ )
+ (net "N-000037"
+ (pins U1-9 P2-7)
+ )
+ (net "N-000038"
+ (pins R7-2 C7-1)
+ )
+ (net "N-000039"
+ (pins X1-2 C5-1 U1-2)
+ )
+ (net VCC
+ (pins J1-1 P3-2 R4-1 C6-1 C3-1 U2-5 U1-4 U1-31 P2-8)
+ )
+ (class kicad_default "" GND "N-000011" "N-000013" "N-000014" "N-000018"
+ "N-000020" "N-000021" "N-000022" "N-000023" "N-000024" "N-000025" "N-000026"
+ "N-000027" "N-000028" "N-000029" "N-000030" "N-000031" "N-000032" "N-000033"
+ "N-000034" "N-000035" "N-000036" "N-000037" "N-000038" "N-000039" VCC
+ (circuit
+ (use_via Via[0-1]_47.2:25_mil)
+ )
+ (rule
+ (width 15.7)
+ (clearance 8)
+ )
+ )
+ (class PWR /hot1 /hot2
+ (circuit
+ (use_via Via[0-1]_47.2:25_mil)
+ )
+ (rule
+ (width 80)
+ (clearance 8)
+ )
+ )
+ )
+ (wiring
+ (wire (path Front 15.7 3355 -1760 3355 -1880)(net /hot1)(type protect))
+ (wire (path Front 15.7 3280 -1520 3240 -1520)(net /hot1)(type protect))
+ (wire (path Front 15.7 3220 -1760 3355 -1760)(net /hot1)(type protect))
+ (wire (path Front 15.7 3180 -1720 3220 -1760)(net /hot1)(type protect))
+ (wire (path Front 15.7 3180 -1580 3180 -1720)(net /hot1)(type protect))
+ (wire (path Front 15.7 3240 -1520 3180 -1580)(net /hot1)(type protect))
+ (wire (path Front 80 3280 -1520 3900 -1520 4040 -1380)(net /hot1)(type protect))
+ (wire (path Front 15.7 3725 -1760 3860 -1760 4040 -1580)(net /hot2)(type protect))
+ (wire (path Front 80 3280 -1620 4000 -1620 4040 -1580)(net /hot2)(type protect))
+ (wire (path Front 15.7 3485 -1880 3725 -1880 3740 -1895)(net "N-000011")(type protect))
+ (wire (path Front 15.7 3280 -1420 3420 -1280)(net "N-000014")(type protect))
+ (wire (path Front 15.7 4085 -1895 3940 -1895)(net "N-000014")(type protect))
+ (wire (path Front 15.7 4160 -1820 4085 -1895)(net "N-000014")(type protect))
+ (wire (path Front 15.7 4160 -1360 4160 -1820)(net "N-000014")(type protect))
+ (wire (path Front 15.7 4080 -1280 4160 -1360)(net "N-000014")(type protect))
+ (wire (path Front 15.7 3420 -1280 4080 -1280)(net "N-000014")(type protect))
+ (wire (path Front 15.7 3595 -1760 3485 -1760)(net "N-000038")(type protect))
+ )
+)
diff --git a/circuit/fridge-lock.lst b/circuit/fridge-lock.lst
new file mode 100644
index 0000000..0db4be3
--- /dev/null
+++ b/circuit/fridge-lock.lst
@@ -0,0 +1,47 @@
+eeschema (2010-03-13)-final >> Creation date: Tue 17 May 2011 01:13:11 PM CEST
+
+#Cmp ( order = Reference )
+| C1 1u
+| C2 4.7u
+| C3 4.7u
+| C4 18p
+| C5 18p
+| J1 USB
+| P1 DSENSOR
+| P2 EXPANSION
+| P3 ISP
+| P4 MAG_LOCK
+| P5 12V_PWR
+| Q1 8050D
+| R1 4.7k
+| R2 22
+| R3 22
+| R4 10k
+| R5 4.7k
+| U1 AT90USB162
+| X1 CRYSTAL
+#End Cmp
+
+#Cmp ( order = Value )
+| 10k R4
+| 12V_PWR P5
+| 18p C4
+| 18p C5
+| 1u C1
+| 22 R2
+| 22 R3
+| 4.7k R1
+| 4.7k R5
+| 4.7u C2
+| 4.7u C3
+| 8050D Q1
+| AT90USB162 U1
+| CRYSTAL X1
+| DSENSOR P1
+| EXPANSION P2
+| ISP P3
+| MAG_LOCK P4
+| USB J1
+#End Cmp
+
+#End List
diff --git a/circuit/fridge-lock.net b/circuit/fridge-lock.net
new file mode 100644
index 0000000..1886548
--- /dev/null
+++ b/circuit/fridge-lock.net
@@ -0,0 +1,324 @@
+# EESchema Netlist Version 1.1 created Sat 24 Mar 2012 10:17:06 PM CET
+(
+ ( /4F6E181E $noname C7 10n {Lib=C}
+ ( 1 N-000038 )
+ ( 2 /hot2 )
+ )
+ ( /4F6E1810 $noname R7 39 {Lib=R}
+ ( 1 /hot1 )
+ ( 2 N-000038 )
+ )
+ ( /4F6E14CE $noname C6 100n {Lib=C}
+ ( 1 VCC )
+ ( 2 GND )
+ )
+ ( /4F6E139C MODULE U2 LM75 {Lib=LM75}
+ ( 1 N-000018 )
+ ( 2 N-000021 )
+ ( 3 ? )
+ ( 4 GND )
+ ( 5 VCC )
+ ( 6 GND )
+ ( 7 GND )
+ ( 8 GND )
+ )
+ ( /4D41ACFD $noname U1 AT90USB162 {Lib=AT90USB162}
+ ( 1 N-000022 )
+ ( 2 N-000039 )
+ ( 3 GND )
+ ( 4 VCC )
+ ( 5 ? )
+ ( 6 N-000021 )
+ ( 7 N-000018 )
+ ( 8 ? )
+ ( 9 N-000037 )
+ ( 10 N-000020 )
+ ( 11 N-000036 )
+ ( 12 N-000030 )
+ ( 13 N-000035 )
+ ( 14 N-000031 )
+ ( 15 N-000034 )
+ ( 16 N-000033 )
+ ( 17 N-000028 )
+ ( 18 N-000029 )
+ ( 19 ? )
+ ( 20 ? )
+ ( 21 ? )
+ ( 22 ? )
+ ( 23 ? )
+ ( 24 N-000032 )
+ ( 25 ? )
+ ( 26 ? )
+ ( 27 N-000023 )
+ ( 28 GND )
+ ( 29 N-000026 )
+ ( 30 N-000027 )
+ ( 31 VCC )
+ ( 32 ? )
+ )
+ ( /4F6E1135 $noname P4 CONN_2 {Lib=CONN_2}
+ ( 1 /hot1 )
+ ( 2 /hot2 )
+ )
+ ( /4F6E10E2 $noname R6 330 {Lib=R}
+ ( 1 /hot1 )
+ ( 2 N-000011 )
+ )
+ ( /4F6E10B7 $noname U3 TRIAC {Lib=TRIAC}
+ ( 1 /hot2 )
+ ( 2 /hot1 )
+ ( 3 N-000014 )
+ )
+ ( /4F6E103D optocoupler-2-DIL06 OK1 MOC3023M {Lib=MOC3023M}
+ ( 1 N-000013 )
+ ( 2 GND )
+ ( 4 N-000014 )
+ ( 6 N-000011 )
+ )
+ ( /4F6E0F44 $noname R5 220 {Lib=R}
+ ( 1 N-000013 )
+ ( 2 N-000029 )
+ )
+ ( /4DCFB290 $noname P2 EXPANSION {Lib=CONN_8}
+ ( 1 GND )
+ ( 2 N-000031 )
+ ( 3 N-000035 )
+ ( 4 N-000030 )
+ ( 5 N-000036 )
+ ( 6 N-000020 )
+ ( 7 N-000037 )
+ ( 8 VCC )
+ )
+ ( /4DCFAE62 $noname P3 ISP {Lib=CONN_3X2}
+ ( 1 N-000028 )
+ ( 2 VCC )
+ ( 3 N-000034 )
+ ( 4 N-000033 )
+ ( 5 N-000032 )
+ ( 6 GND )
+ )
+ ( /4D4449CE $noname R4 10k {Lib=R}
+ ( 1 VCC )
+ ( 2 N-000032 )
+ )
+ ( /4D41AE84 $noname C5 18p {Lib=C}
+ ( 1 N-000039 )
+ ( 2 GND )
+ )
+ ( /4D41AE7F $noname C4 18p {Lib=C}
+ ( 1 N-000022 )
+ ( 2 GND )
+ )
+ ( /4D41AE62 $noname X1 CRYSTAL {Lib=CRYSTAL}
+ ( 1 N-000022 )
+ ( 2 N-000039 )
+ )
+ ( /4D41ADFF $noname C3 10u {Lib=CP}
+ ( 1 VCC )
+ ( 2 GND )
+ )
+ ( /4D41ADA8 $noname R3 22 {Lib=R}
+ ( 1 N-000027 )
+ ( 2 N-000025 )
+ )
+ ( /4D41ADA3 $noname R2 22 {Lib=R}
+ ( 1 N-000026 )
+ ( 2 N-000024 )
+ )
+ ( /4D41AD80 $noname J1 USB {Lib=USB}
+ ( 1 VCC )
+ ( 2 N-000025 )
+ ( 3 N-000024 )
+ ( 4 GND )
+ ( 5 GND )
+ ( 6 GND )
+ )
+ ( /4D41AD3C $noname C1 1u {Lib=C}
+ ( 1 N-000023 )
+ ( 2 GND )
+ )
+)
+*
+{ Allowed footprints by component:
+$component C7
+ SM*
+ C?
+ C1-1
+$endlist
+$component R7
+ R?
+ SM0603
+ SM0805
+ R?-*
+$endlist
+$component C6
+ SM*
+ C?
+ C1-1
+$endlist
+$component R6
+ R?
+ SM0603
+ SM0805
+ R?-*
+$endlist
+$component R5
+ R?
+ SM0603
+ SM0805
+ R?-*
+$endlist
+$component R4
+ R?
+ SM0603
+ SM0805
+ R?-*
+$endlist
+$component C5
+ SM*
+ C?
+ C1-1
+$endlist
+$component C4
+ SM*
+ C?
+ C1-1
+$endlist
+$component C3
+ CP*
+ SM*
+$endlist
+$component R3
+ R?
+ SM0603
+ SM0805
+ R?-*
+$endlist
+$component R2
+ R?
+ SM0603
+ SM0805
+ R?-*
+$endlist
+$component C1
+ SM*
+ C?
+ C1-1
+$endlist
+$endfootprintlist
+}
+{ Pin List by Nets
+Net 1 "/hot2" "hot2"
+ U3 1
+ P4 2
+ C7 2
+Net 11 "" ""
+ OK1 6
+ R6 2
+Net 12 "GND" "GND"
+ P3 6
+ P2 1
+ J1 4
+ J1 5
+ J1 6
+ C1 2
+ U2 8
+ U1 3
+ C6 2
+ C3 2
+ U2 4
+ U2 6
+ U2 7
+ U1 28
+ C5 2
+ C4 2
+ OK1 2
+Net 13 "" ""
+ OK1 1
+ R5 1
+Net 14 "" ""
+ OK1 4
+ U3 3
+Net 15 "/hot1" "hot1"
+ R7 1
+ U3 2
+ P4 1
+ R6 1
+Net 16 "VCC" "VCC"
+ U2 5
+ C6 1
+ C3 1
+ U1 4
+ P3 2
+ P2 8
+ U1 31
+ J1 1
+ R4 1
+Net 18 "" ""
+ U1 7
+ U2 1
+Net 20 "" ""
+ U1 10
+ P2 6
+Net 21 "" ""
+ U2 2
+ U1 6
+Net 22 "" ""
+ U1 1
+ C4 1
+ X1 1
+Net 23 "" ""
+ C1 1
+ U1 27
+Net 24 "" ""
+ J1 3
+ R2 2
+Net 25 "" ""
+ R3 2
+ J1 2
+Net 26 "" ""
+ R2 1
+ U1 29
+Net 27 "" ""
+ U1 30
+ R3 1
+Net 28 "" ""
+ U1 17
+ P3 1
+Net 29 "" ""
+ R5 2
+ U1 18
+Net 30 "" ""
+ P2 4
+ U1 12
+Net 31 "" ""
+ P2 2
+ U1 14
+Net 32 "" ""
+ U1 24
+ R4 2
+ P3 5
+Net 33 "" ""
+ U1 16
+ P3 4
+Net 34 "" ""
+ P3 3
+ U1 15
+Net 35 "" ""
+ U1 13
+ P2 3
+Net 36 "" ""
+ U1 11
+ P2 5
+Net 37 "" ""
+ U1 9
+ P2 7
+Net 38 "" ""
+ C7 1
+ R7 2
+Net 39 "" ""
+ U1 2
+ C5 1
+ X1 2
+}
+#End
diff --git a/circuit/fridge-lock.pro b/circuit/fridge-lock.pro
new file mode 100644
index 0000000..48fe717
--- /dev/null
+++ b/circuit/fridge-lock.pro
@@ -0,0 +1,117 @@
+update=Sat 24 Mar 2012 09:38:03 PM CET
+version=1
+last_client=pcbnew
+[general]
+version=1
+[eeschema]
+version=1
+LibDir=../../library/contrib
+NetFmt=1
+HPGLSpd=20
+HPGLDm=15
+HPGLNum=1
+offX_A4=0
+offY_A4=0
+offX_A3=0
+offY_A3=0
+offX_A2=0
+offY_A2=0
+offX_A1=0
+offY_A1=0
+offX_A0=0
+offY_A0=0
+offX_A=0
+offY_A=0
+offX_B=0
+offY_B=0
+offX_C=0
+offY_C=0
+offX_D=0
+offY_D=0
+offX_E=0
+offY_E=0
+RptD_X=0
+RptD_Y=100
+RptLab=1
+SimCmd=
+UseNetN=0
+LabSize=60
+PrintMonochrome=1
+ShowSheetReferenceAndTitleBlock=1
+[eeschema/libraries]
+LibName1=power
+LibName2=device
+LibName3=transistors
+LibName4=conn
+LibName5=linear
+LibName6=regul
+LibName7=74xx
+LibName8=cmos4000
+LibName9=adc-dac
+LibName10=memory
+LibName11=xilinx
+LibName12=special
+LibName13=microcontrollers
+LibName14=dsp
+LibName15=microchip
+LibName16=analog_switches
+LibName17=motorola
+LibName18=texas
+LibName19=intel
+LibName20=audio
+LibName21=interface
+LibName22=digital-audio
+LibName23=philips
+LibName24=display
+LibName25=cypress
+LibName26=siliconi
+LibName27=opto
+LibName28=atmel
+LibName29=contrib
+LibName30=valves
+LibName31=optocoupler-2
+LibName32=analog-devices
+LibName33=analog-devices2
+LibName34=LM75
+[cvpcb]
+version=1
+NetIExt=net
+[cvpcb/libraries]
+EquName1=devcms
+[pcbnew]
+version=1
+PadDrlX=450
+PadDimH=700
+PadDimV=700
+BoardThickness=630
+RouteTo=15
+RouteBo=0
+Segm45=1
+Racc45=1
+SgPcb45=1
+TxtPcbV=800
+TxtPcbH=600
+TxtModV=600
+TxtModH=600
+TxtModW=120
+VEgarde=100
+DrawLar=150
+EdgeLar=150
+TxtLar=120
+MSegLar=150
+WpenSer=10
+[pcbnew/libraries]
+LibDir=../../library;../../library/contrib
+LibName1=sockets
+LibName2=connect
+LibName3=discret
+LibName4=pin_array
+LibName5=divers
+LibName6=libcms
+LibName7=display
+LibName8=valves
+LibName9=led
+LibName10=dip_sockets
+LibName11=molex-microusb
+LibName12=crystal
+LibName13=TO220-TRIAC
diff --git a/circuit/fridge-lock.sch b/circuit/fridge-lock.sch
new file mode 100644
index 0000000..d502cf1
--- /dev/null
+++ b/circuit/fridge-lock.sch
@@ -0,0 +1,704 @@
+EESchema Schematic File Version 2 date Sat 24 Mar 2012 10:16:51 PM CET
+LIBS:power
+LIBS:device
+LIBS:transistors
+LIBS:conn
+LIBS:linear
+LIBS:regul
+LIBS:74xx
+LIBS:cmos4000
+LIBS:adc-dac
+LIBS:memory
+LIBS:xilinx
+LIBS:special
+LIBS:microcontrollers
+LIBS:dsp
+LIBS:microchip
+LIBS:analog_switches
+LIBS:motorola
+LIBS:texas
+LIBS:intel
+LIBS:audio
+LIBS:interface
+LIBS:digital-audio
+LIBS:philips
+LIBS:display
+LIBS:cypress
+LIBS:siliconi
+LIBS:opto
+LIBS:atmel
+LIBS:contrib
+LIBS:valves
+LIBS:optocoupler-2
+LIBS:analog-devices
+LIBS:analog-devices2
+LIBS:LM75
+LIBS:fridge-lock-cache
+EELAYER 24 0
+EELAYER END
+$Descr A4 11700 8267
+Sheet 1 1
+Title ""
+Date "24 mar 2012"
+Rev ""
+Comp ""
+Comment1 ""
+Comment2 ""
+Comment3 ""
+Comment4 ""
+$EndDescr
+Text Label 9950 5450 0 60 ~ 0
+hot2
+Text Label 9950 4350 0 60 ~ 0
+hot1
+Wire Wire Line
+ 2550 5500 2250 5500
+Wire Wire Line
+ 10350 4350 8850 4350
+Wire Wire Line
+ 3100 6600 3100 6850
+Wire Wire Line
+ 3300 6850 3300 6250
+Wire Wire Line
+ 3500 6850 3500 6350
+Wire Wire Line
+ 3700 6850 3700 6450
+Connection ~ 9650 5450
+Wire Wire Line
+ 9650 5400 9650 5450
+Connection ~ 9650 4350
+Wire Wire Line
+ 9650 4350 9650 4400
+Wire Wire Line
+ 4300 4250 3750 4250
+Connection ~ 4750 1900
+Wire Wire Line
+ 4750 1900 5550 1900
+Wire Wire Line
+ 2950 2800 2950 2750
+Wire Wire Line
+ 2950 2750 2850 2750
+Connection ~ 2950 2550
+Wire Wire Line
+ 2950 2550 2850 2550
+Wire Wire Line
+ 1350 2450 1250 2450
+Wire Wire Line
+ 1250 2850 1250 2750
+Wire Wire Line
+ 1250 2750 1350 2750
+Wire Wire Line
+ 10350 4550 10200 4550
+Connection ~ 9050 4350
+Wire Wire Line
+ 9050 4350 9050 4700
+Wire Wire Line
+ 8200 4550 8400 4550
+Wire Wire Line
+ 6700 4650 6700 4550
+Wire Wire Line
+ 6700 4550 7400 4550
+Wire Wire Line
+ 6700 4350 6450 4350
+Wire Wire Line
+ 3850 6100 3850 6450
+Wire Wire Line
+ 3850 6450 3700 6450
+Wire Wire Line
+ 3650 6100 3650 6350
+Wire Wire Line
+ 3650 6350 3500 6350
+Wire Wire Line
+ 3300 6250 3450 6250
+Wire Wire Line
+ 3450 6250 3450 6100
+Wire Wire Line
+ 9600 3050 9400 3050
+Wire Wire Line
+ 9350 3300 9400 3300
+Wire Wire Line
+ 9400 3300 9400 3350
+Wire Wire Line
+ 9400 3350 9600 3350
+Wire Wire Line
+ 8350 3350 8500 3350
+Wire Wire Line
+ 8500 3350 8500 3300
+Wire Wire Line
+ 8500 3300 8550 3300
+Wire Wire Line
+ 8550 3200 8350 3200
+Wire Wire Line
+ 3950 6100 3950 6350
+Wire Wire Line
+ 3950 6350 3900 6350
+Wire Wire Line
+ 3900 6350 3900 6450
+Wire Wire Line
+ 5150 5600 4850 5600
+Wire Wire Line
+ 5150 4900 4850 4900
+Wire Wire Line
+ 4900 4200 4900 4000
+Connection ~ 5100 1900
+Connection ~ 3550 4350
+Wire Wire Line
+ 4300 4250 4300 4350
+Connection ~ 3450 4350
+Connection ~ 2500 5200
+Wire Wire Line
+ 2500 5250 2500 5200
+Wire Wire Line
+ 2500 5250 1650 5250
+Connection ~ 2500 4900
+Wire Wire Line
+ 1950 4950 2500 4950
+Wire Wire Line
+ 2500 4950 2500 4900
+Connection ~ 8600 1450
+Wire Wire Line
+ 8500 1450 8600 1450
+Wire Wire Line
+ 3550 4400 3550 3600
+Wire Wire Line
+ 2550 5100 2500 5100
+Wire Wire Line
+ 2500 4900 2550 4900
+Connection ~ 8900 1900
+Wire Wire Line
+ 9200 1900 8600 1900
+Wire Wire Line
+ 9200 1400 9200 1500
+Connection ~ 5550 1900
+Wire Wire Line
+ 5550 1600 5450 1600
+Connection ~ 5550 1850
+Wire Wire Line
+ 5900 2000 5900 1950
+Wire Wire Line
+ 5550 1750 5550 1950
+Wire Wire Line
+ 7000 1750 6900 1750
+Wire Wire Line
+ 6300 1750 6400 1750
+Wire Wire Line
+ 3750 1400 3850 1400
+Wire Wire Line
+ 3850 1400 3850 1500
+Wire Wire Line
+ 3850 1900 3850 2000
+Wire Wire Line
+ 6300 1600 6400 1600
+Wire Wire Line
+ 6900 1600 7000 1600
+Wire Wire Line
+ 6300 1850 6300 1950
+Wire Wire Line
+ 6300 1950 5550 1950
+Connection ~ 5900 1950
+Wire Wire Line
+ 5500 1600 5500 1500
+Connection ~ 5500 1600
+Wire Wire Line
+ 8600 1500 8600 1400
+Wire Wire Line
+ 8900 2000 8900 1900
+Wire Wire Line
+ 2550 5000 2500 5000
+Wire Wire Line
+ 2500 5200 2550 5200
+Wire Wire Line
+ 3450 4400 3450 3700
+Wire Wire Line
+ 9300 1450 9200 1450
+Connection ~ 9200 1450
+Wire Wire Line
+ 1950 5050 2500 5050
+Wire Wire Line
+ 2500 5050 2500 5000
+Connection ~ 2500 5000
+Wire Wire Line
+ 1850 5300 1850 5150
+Wire Wire Line
+ 1850 5150 2500 5150
+Wire Wire Line
+ 2500 5150 2500 5100
+Connection ~ 2500 5100
+Wire Wire Line
+ 3850 4400 3850 3700
+Connection ~ 3850 4350
+Wire Wire Line
+ 3650 3600 3650 4400
+Connection ~ 3650 4350
+Connection ~ 5100 1500
+Wire Wire Line
+ 4900 4700 4900 4900
+Connection ~ 4900 4900
+Wire Wire Line
+ 4050 6450 4050 6100
+Wire Wire Line
+ 8550 3100 8500 3100
+Wire Wire Line
+ 8500 3100 8500 3050
+Wire Wire Line
+ 8500 3050 8350 3050
+Wire Wire Line
+ 9600 3200 9350 3200
+Wire Wire Line
+ 9350 3100 9400 3100
+Wire Wire Line
+ 9400 3100 9400 3050
+Wire Wire Line
+ 4850 5500 4900 5500
+Wire Wire Line
+ 4900 5500 4900 5450
+Wire Wire Line
+ 4900 5450 5150 5450
+Wire Wire Line
+ 3350 6100 3350 6200
+Wire Wire Line
+ 3350 6200 3200 6200
+Wire Wire Line
+ 3550 6100 3550 6300
+Wire Wire Line
+ 3550 6300 3400 6300
+Wire Wire Line
+ 3750 6100 3750 6400
+Wire Wire Line
+ 3750 6400 3600 6400
+Wire Wire Line
+ 7400 4350 7200 4350
+Wire Wire Line
+ 8550 5300 8400 5300
+Wire Wire Line
+ 9050 5350 9050 5450
+Wire Wire Line
+ 9050 5450 10200 5450
+Wire Wire Line
+ 10200 5450 10200 4550
+Wire Wire Line
+ 1350 2550 1250 2550
+Wire Wire Line
+ 2850 2450 2950 2450
+Wire Wire Line
+ 2950 2450 2950 2650
+Wire Wire Line
+ 3350 2800 3350 2650
+Wire Wire Line
+ 3350 2650 2850 2650
+Connection ~ 2950 2650
+Wire Wire Line
+ 5500 1500 4750 1500
+Connection ~ 4750 1500
+Wire Wire Line
+ 3750 4250 3750 4400
+Connection ~ 3750 4250
+Wire Wire Line
+ 9650 4900 9650 5000
+Wire Wire Line
+ 3800 6850 3950 6850
+Wire Wire Line
+ 3950 6850 3950 6950
+Wire Wire Line
+ 3600 6400 3600 6850
+Wire Wire Line
+ 3400 6300 3400 6850
+Wire Wire Line
+ 3200 6200 3200 6850
+Wire Wire Line
+ 8200 4350 8350 4350
+Wire Wire Line
+ 8400 5300 8400 4550
+Wire Wire Line
+ 2550 5400 2250 5400
+NoConn ~ 4850 5400
+NoConn ~ 4850 5300
+$Comp
+L VCC #PWR01
+U 1 1 4F6E28A4
+P 3100 6600
+F 0 "#PWR01" H 3100 6700 30 0001 C CNN
+F 1 "VCC" H 3100 6700 30 0000 C CNN
+ 1 3100 6600
+ 1 0 0 -1
+$EndComp
+$Comp
+L GND #PWR02
+U 1 1 4F6E2889
+P 3950 6950
+F 0 "#PWR02" H 3950 6950 30 0001 C CNN
+F 1 "GND" H 3950 6880 30 0001 C CNN
+ 1 3950 6950
+ 1 0 0 -1
+$EndComp
+$Comp
+L C C7
+U 1 1 4F6E181E
+P 9650 5200
+F 0 "C7" H 9700 5300 50 0000 L CNN
+F 1 "10n" H 9700 5100 50 0000 L CNN
+ 1 9650 5200
+ 1 0 0 -1
+$EndComp
+$Comp
+L R R7
+U 1 1 4F6E1810
+P 9650 4650
+F 0 "R7" V 9730 4650 50 0000 C CNN
+F 1 "39" V 9650 4650 50 0000 C CNN
+ 1 9650 4650
+ 1 0 0 -1
+$EndComp
+$Comp
+L C C6
+U 1 1 4F6E14CE
+P 4750 1700
+F 0 "C6" H 4800 1800 50 0000 L CNN
+F 1 "100n" H 4800 1600 50 0000 L CNN
+ 1 4750 1700
+ 1 0 0 -1
+$EndComp
+NoConn ~ 1350 2650
+$Comp
+L VCC #PWR03
+U 1 1 4F6E1412
+P 2950 2800
+F 0 "#PWR03" H 2950 2900 30 0001 C CNN
+F 1 "VCC" H 2950 2900 30 0000 C CNN
+ 1 2950 2800
+ -1 0 0 1
+$EndComp
+$Comp
+L GND #PWR04
+U 1 1 4F6E13FA
+P 3350 2800
+F 0 "#PWR04" H 3350 2800 30 0001 C CNN
+F 1 "GND" H 3350 2730 30 0001 C CNN
+ 1 3350 2800
+ 1 0 0 -1
+$EndComp
+Text GLabel 1250 2550 0 60 BiDi ~ 0
+SCL
+Text GLabel 1250 2450 0 60 BiDi ~ 0
+SDA
+$Comp
+L GND #PWR05
+U 1 1 4F6E13AD
+P 1250 2850
+F 0 "#PWR05" H 1250 2850 30 0001 C CNN
+F 1 "GND" H 1250 2780 30 0001 C CNN
+ 1 1250 2850
+ 1 0 0 -1
+$EndComp
+$Comp
+L LM75 U2
+U 1 1 4F6E139C
+P 2100 2600
+F 0 "U2" H 2100 2500 50 0000 C CNN
+F 1 "LM75" H 2100 2700 50 0000 C CNN
+F 2 "MODULE" H 2100 2600 50 0001 C CNN
+F 3 "DOCUMENTATION" H 2100 2600 50 0001 C CNN
+ 1 2100 2600
+ 1 0 0 -1
+$EndComp
+$Comp
+L AT90USB162 U1
+U 1 1 4D41ACFD
+P 3700 5250
+F 0 "U1" H 3700 5150 50 0000 C CNN
+F 1 "AT90USB162" H 3700 5350 50 0000 C CNN
+ 1 3700 5250
+ 1 0 0 -1
+$EndComp
+Text GLabel 2250 5400 0 60 Input ~ 0
+SCL
+$Comp
+L CONN_2 P4
+U 1 1 4F6E1135
+P 10700 4450
+F 0 "P4" V 10650 4450 40 0000 C CNN
+F 1 "CONN_2" V 10750 4450 40 0000 C CNN
+ 1 10700 4450
+ 1 0 0 -1
+$EndComp
+$Comp
+L R R6
+U 1 1 4F6E10E2
+P 8600 4350
+F 0 "R6" V 8680 4350 50 0000 C CNN
+F 1 "330" V 8600 4350 50 0000 C CNN
+ 1 8600 4350
+ 0 1 1 0
+$EndComp
+$Comp
+L TRIAC U3
+U 1 1 4F6E10B7
+P 9050 5100
+F 0 "U3" H 8800 5450 70 0000 C CNN
+F 1 "TRIAC" H 8750 4850 60 0000 C CNN
+ 1 9050 5100
+ 1 0 0 -1
+$EndComp
+$Comp
+L GND #PWR06
+U 1 1 4F6E1053
+P 6700 4650
+F 0 "#PWR06" H 6700 4650 30 0001 C CNN
+F 1 "GND" H 6700 4580 30 0001 C CNN
+ 1 6700 4650
+ 1 0 0 -1
+$EndComp
+$Comp
+L MOC3023M OK1
+U 1 1 4F6E103D
+P 7800 4450
+F 0 "OK1" H 7524 4674 50 0000 L BNN
+F 1 "MOC3023M" H 7524 4153 50 0000 L BNN
+F 2 "optocoupler-2-DIL06" H 7800 4600 50 0001 C CNN
+ 1 7800 4450
+ 1 0 0 -1
+$EndComp
+$Comp
+L R R5
+U 1 1 4F6E0F44
+P 6950 4350
+F 0 "R5" V 7030 4350 50 0000 C CNN
+F 1 "220" V 6950 4350 50 0000 C CNN
+ 1 6950 4350
+ 0 1 1 0
+$EndComp
+NoConn ~ 3350 4400
+NoConn ~ 3950 4400
+NoConn ~ 4050 4400
+NoConn ~ 4850 5000
+NoConn ~ 4850 5100
+NoConn ~ 4850 5200
+NoConn ~ 2550 5600
+NoConn ~ 2550 5300
+$Comp
+L CONN_8 P2
+U 1 1 4DCFB290
+P 3450 7200
+F 0 "P2" V 3400 7200 60 0000 C CNN
+F 1 "EXPANSION" V 3500 7200 60 0000 C CNN
+ 1 3450 7200
+ 0 1 1 0
+$EndComp
+Text GLabel 2250 5500 0 60 Input ~ 0
+SDA
+Text GLabel 6450 4350 0 60 Input ~ 0
+COMPRESSOR
+Text GLabel 5150 5450 2 60 Output ~ 0
+COMPRESSOR
+Text GLabel 9600 3350 2 60 Input ~ 0
+GND
+Text GLabel 9600 3200 2 60 Input ~ 0
+MOSI
+Text GLabel 9600 3050 2 60 Input ~ 0
+VCC
+Text GLabel 8350 3350 0 60 Input ~ 0
+RST
+Text GLabel 8350 3200 0 60 Input ~ 0
+SCLK
+Text GLabel 8350 3050 0 60 Input ~ 0
+MISO
+$Comp
+L CONN_3X2 P3
+U 1 1 4DCFAE62
+P 8950 3250
+F 0 "P3" H 8950 3500 50 0000 C CNN
+F 1 "ISP" V 8950 3300 40 0000 C CNN
+ 1 8950 3250
+ 1 0 0 -1
+$EndComp
+Text GLabel 3900 6450 3 60 Input ~ 0
+SCLK
+Text GLabel 4050 6450 3 60 Input ~ 0
+MOSI
+Text GLabel 5150 5600 2 60 Input ~ 0
+MISO
+Text GLabel 5150 4900 2 60 Input ~ 0
+RST
+$Comp
+L VCC #PWR07
+U 1 1 4D4449D5
+P 4900 4000
+F 0 "#PWR07" H 4900 4100 30 0001 C CNN
+F 1 "VCC" H 4900 4100 30 0000 C CNN
+ 1 4900 4000
+ 1 0 0 -1
+$EndComp
+$Comp
+L R R4
+U 1 1 4D4449CE
+P 4900 4450
+F 0 "R4" V 4980 4450 50 0000 C CNN
+F 1 "10k" V 4900 4450 50 0000 C CNN
+ 1 4900 4450
+ 1 0 0 -1
+$EndComp
+$Comp
+L GND #PWR08
+U 1 1 4D41B0F4
+P 4300 4350
+F 0 "#PWR08" H 4300 4350 30 0001 C CNN
+F 1 "GND" H 4300 4280 30 0001 C CNN
+ 1 4300 4350
+ 1 0 0 -1
+$EndComp
+$Comp
+L VCC #PWR09
+U 1 1 4D41B0CC
+P 3450 3700
+F 0 "#PWR09" H 3450 3800 30 0001 C CNN
+F 1 "VCC" H 3450 3800 30 0000 C CNN
+ 1 3450 3700
+ 1 0 0 -1
+$EndComp
+Text GLabel 3550 3600 1 60 Input ~ 0
+DM
+Text GLabel 3650 3600 1 60 Input ~ 0
+DP
+Text GLabel 3850 3700 1 60 Input ~ 0
+UCAP
+$Comp
+L GND #PWR010
+U 1 1 4D41B093
+P 1850 5300
+F 0 "#PWR010" H 1850 5300 30 0001 C CNN
+F 1 "GND" H 1850 5230 30 0001 C CNN
+ 1 1850 5300
+ 1 0 0 -1
+$EndComp
+$Comp
+L VCC #PWR011
+U 1 1 4D41B07D
+P 1650 5250
+F 0 "#PWR011" H 1650 5350 30 0001 C CNN
+F 1 "VCC" H 1650 5350 30 0000 C CNN
+ 1 1650 5250
+ 1 0 0 -1
+$EndComp
+Text GLabel 1950 5050 0 60 Input ~ 0
+X2
+Text GLabel 1950 4950 0 60 Input ~ 0
+X1
+Text GLabel 9300 1450 2 60 Input ~ 0
+X2
+Text GLabel 8500 1450 0 60 Input ~ 0
+X1
+$Comp
+L GND #PWR012
+U 1 1 4D41AE92
+P 8900 2000
+F 0 "#PWR012" H 8900 2000 30 0001 C CNN
+F 1 "GND" H 8900 1930 30 0001 C CNN
+ 1 8900 2000
+ 1 0 0 -1
+$EndComp
+$Comp
+L C C5
+U 1 1 4D41AE84
+P 9200 1700
+F 0 "C5" H 9250 1800 50 0000 L CNN
+F 1 "18p" H 9250 1600 50 0000 L CNN
+ 1 9200 1700
+ 1 0 0 -1
+$EndComp
+$Comp
+L C C4
+U 1 1 4D41AE7F
+P 8600 1700
+F 0 "C4" H 8650 1800 50 0000 L CNN
+F 1 "18p" H 8650 1600 50 0000 L CNN
+ 1 8600 1700
+ 1 0 0 -1
+$EndComp
+$Comp
+L CRYSTAL X1
+U 1 1 4D41AE62
+P 8900 1400
+F 0 "X1" H 8900 1550 60 0000 C CNN
+F 1 "CRYSTAL" H 8900 1250 60 0000 C CNN
+ 1 8900 1400
+ 1 0 0 -1
+$EndComp
+$Comp
+L CP C3
+U 1 1 4D41ADFF
+P 5100 1700
+F 0 "C3" H 5150 1800 50 0000 L CNN
+F 1 "10u" H 5150 1600 50 0000 L CNN
+ 1 5100 1700
+ 1 0 0 -1
+$EndComp
+$Comp
+L VCC #PWR013
+U 1 1 4D41ADEA
+P 5450 1600
+F 0 "#PWR013" H 5450 1700 30 0001 C CNN
+F 1 "VCC" H 5450 1700 30 0000 C CNN
+ 1 5450 1600
+ 0 -1 -1 0
+$EndComp
+$Comp
+L GND #PWR014
+U 1 1 4D41ADDC
+P 5900 2000
+F 0 "#PWR014" H 5900 2000 30 0001 C CNN
+F 1 "GND" H 5900 1930 30 0001 C CNN
+ 1 5900 2000
+ 1 0 0 -1
+$EndComp
+Text GLabel 7000 1750 2 60 Input ~ 0
+DM
+Text GLabel 7000 1600 2 60 Input ~ 0
+DP
+$Comp
+L R R3
+U 1 1 4D41ADA8
+P 6650 1750
+F 0 "R3" V 6730 1750 50 0000 C CNN
+F 1 "22" V 6650 1750 50 0000 C CNN
+ 1 6650 1750
+ 0 1 1 0
+$EndComp
+$Comp
+L R R2
+U 1 1 4D41ADA3
+P 6650 1600
+F 0 "R2" V 6730 1600 50 0000 C CNN
+F 1 "22" V 6650 1600 50 0000 C CNN
+ 1 6650 1600
+ 0 1 1 0
+$EndComp
+$Comp
+L USB J1
+U 1 1 4D41AD80
+P 5950 1400
+F 0 "J1" H 5900 1800 60 0000 C CNN
+F 1 "USB" V 5700 1550 60 0000 C CNN
+ 1 5950 1400
+ 1 0 0 -1
+$EndComp
+Text GLabel 3750 1400 0 60 Input ~ 0
+UCAP
+$Comp
+L GND #PWR015
+U 1 1 4D41AD5D
+P 3850 2000
+F 0 "#PWR015" H 3850 2000 30 0001 C CNN
+F 1 "GND" H 3850 1930 30 0001 C CNN
+ 1 3850 2000
+ 1 0 0 -1
+$EndComp
+$Comp
+L C C1
+U 1 1 4D41AD3C
+P 3850 1700
+F 0 "C1" H 3900 1800 50 0000 L CNN
+F 1 "1u" H 3900 1600 50 0000 L CNN
+ 1 3850 1700
+ 1 0 0 -1
+$EndComp
+$EndSCHEMATC
diff --git a/circuit/fridge-lock.ses b/circuit/fridge-lock.ses
new file mode 100644
index 0000000..12bba8e
--- /dev/null
+++ b/circuit/fridge-lock.ses
@@ -0,0 +1,897 @@
+
+(session "fridge-lock.ses"
+ (base_design "fridge-lock.dsn")
+ (placement
+ (resolution mil 10)
+ (component "connect-CLAMP-02"
+ (place P4 40400 -14800 front 270)
+ )
+ (component "crystal-HC49UP"
+ (place X1 38400 -28800 front 0)
+ )
+ (component "DIP-6__300_ELL"
+ (place OK1 38400 -20450 front 0)
+ )
+ (component "molex-microusb"
+ (place J1 22600 -13200 front 270)
+ )
+ (component pin_array_3x2
+ (place P3 28400 -18600 front 180)
+ )
+ (component SM1206
+ (place R7 34200 -17600 front 0)
+ (place R6 34200 -18800 front 0)
+ (place R5 35000 -22000 front 180)
+ (place R4 22400 -26200 front 0)
+ (place R3 22400 -17000 front 90)
+ (place R2 21200 -17000 front 90)
+ (place C7 36600 -17600 front 0)
+ (place C6 40200 -24800 front 180)
+ (place C5 40200 -26400 front 180)
+ (place C4 36800 -26400 front 0)
+ (place C1 22400 -27800 front 0)
+ )
+ (component SM1206POL
+ (place C3 36800 -24800 front 180)
+ )
+ (component SO8E
+ (place U2 31400 -27000 front 270)
+ )
+ (component TQFP32
+ (place U1 24800 -22200 front 90)
+ )
+ (component pin_array_4x2
+ (place P2 31800 -22400 front 270)
+ )
+ (component "TO220-TRIAC"
+ (place U3 32800 -15200 front 180)
+ )
+ )
+ (was_is
+ )
+ (routes
+ (resolution mil 10)
+ (parser
+ (host_cad "Kicad's PCBNEW")
+ (host_version "(2010-03-14)-final")
+ )
+ (library_out
+ (padstack "Via[0-1]_47.2:25_mil"
+ (shape
+ (circle Front 472 0 0)
+ )
+ (shape
+ (circle Back 472 0 0)
+ )
+ (attach off)
+ )
+ (padstack "Via[0-1]_47.2:0_mil"
+ (shape
+ (circle Front 472 0 0)
+ )
+ (shape
+ (circle Back 472 0 0)
+ )
+ (attach off)
+ )
+ )
+ (network_out
+ (net /hot1
+ (wire
+ (path Front 800
+ 32800 -15200
+ 39000 -15200
+ 40400 -13800
+ )
+ (type protect)
+ )
+ (wire
+ (path Front 158
+ 32800 -15200
+ 32400 -15200
+ 31800 -15800
+ 31800 -17200
+ 32200 -17600
+ 33550 -17600
+ )
+ (type protect)
+ )
+ (wire
+ (path Front 158
+ 33550 -17600
+ 33550 -18800
+ )
+ (type protect)
+ )
+ )
+ (net /hot2
+ (wire
+ (path Front 800
+ 40000 -16200
+ 40400 -15800
+ )
+ (type protect)
+ )
+ (wire
+ (path Front 800
+ 32800 -16200
+ 40000 -16200
+ )
+ (type protect)
+ )
+ (wire
+ (path Front 158
+ 40000 -16200
+ 40400 -15800
+ )
+ (type protect)
+ )
+ (wire
+ (path Front 158
+ 37250 -17600
+ 38600 -17600
+ 40000 -16200
+ )
+ (type protect)
+ )
+ )
+ (net GND
+ (wire
+ (path Front 158
+ 28879 -18917
+ 29235 -18561
+ 31341 -18561
+ 33136 -20356
+ 38970 -20356
+ 42200 -23586
+ 42200 -29426
+ 41081 -30545
+ 22787 -30545
+ 20128 -27886
+ 20128 -16050
+ 20954 -15224
+ 20954 -14246
+ )
+ )
+ (wire
+ (path Front 158
+ 28879 -18917
+ 28523 -18561
+ 28179 -18561
+ 27640 -19100
+ 27400 -19100
+ )
+ )
+ (wire
+ (path Front 158
+ 31300 -20900
+ 30121 -20900
+ 28879 -19658
+ 28879 -18917
+ )
+ )
+ (wire
+ (path Front 158
+ 32485 -26250
+ 32545 -26250
+ )
+ )
+ (wire
+ (path Front 158
+ 32450 -26250
+ 32485 -26250
+ )
+ )
+ (wire
+ (path Front 158
+ 24318 -22052
+ 24989 -22052
+ 27400 -19641
+ 27400 -19100
+ )
+ )
+ (wire
+ (path Front 158
+ 22900 -22052
+ 24318 -22052
+ )
+ )
+ (wire
+ (path Front 158
+ 24318 -24096
+ 24318 -22052
+ )
+ )
+ (wire
+ (path Front 158
+ 30350 -27750
+ 27469 -27750
+ 24318 -24599
+ 24318 -24096
+ )
+ )
+ (wire
+ (path Front 158
+ 37450 -26400
+ 37910 -26400
+ )
+ )
+ (wire
+ (path Front 158
+ 23050 -27800
+ 23510 -27800
+ )
+ )
+ (wire
+ (path Front 158
+ 39074 -29281
+ 39074 -27564
+ 37910 -26400
+ )
+ )
+ (wire
+ (path Front 158
+ 39074 -29281
+ 39014 -29341
+ 25051 -29341
+ 23510 -27800
+ )
+ )
+ (wire
+ (path Front 158
+ 40010 -26400
+ 40010 -25940
+ 40111 -25839
+ 41266 -25839
+ 41511 -26084
+ 41511 -29296
+ 41466 -29341
+ 39134 -29341
+ 39074 -29281
+ )
+ )
+ (wire
+ (path Front 158
+ 32583 -26750
+ 32771 -26562
+ 32771 -26250
+ )
+ )
+ (wire
+ (path Front 158
+ 39550 -24800
+ 39090 -24800
+ )
+ )
+ (wire
+ (path Front 158
+ 32771 -26250
+ 35450 -23571
+ 38400 -23571
+ )
+ )
+ (wire
+ (path Front 158
+ 39090 -24800
+ 39090 -24261
+ 38400 -23571
+ )
+ )
+ (wire
+ (path Front 158
+ 38400 -22560
+ 38400 -23571
+ )
+ )
+ (wire
+ (path Front 158
+ 35690 -24800
+ 33082 -27408
+ 32993 -27408
+ )
+ )
+ (wire
+ (path Front 158
+ 39550 -26400
+ 40010 -26400
+ )
+ )
+ (wire
+ (path Front 158
+ 39543 -26400
+ 39550 -26400
+ )
+ )
+ (wire
+ (path Front 158
+ 39543 -26400
+ 39090 -26400
+ )
+ )
+ (wire
+ (path Front 158
+ 32545 -26250
+ 32771 -26250
+ )
+ )
+ (wire
+ (path Front 158
+ 30735 -27750
+ 31016 -28031
+ 32948 -28031
+ 32993 -27986
+ 32993 -27408
+ )
+ )
+ (wire
+ (path Front 158
+ 39090 -26400
+ 38151 -25461
+ 36581 -25461
+ 35920 -24800
+ )
+ )
+ (wire
+ (path Front 158
+ 38400 -21950
+ 38400 -22560
+ )
+ )
+ (wire
+ (path Front 158
+ 35920 -24800
+ 35690 -24800
+ )
+ )
+ (wire
+ (path Front 158
+ 36150 -24800
+ 35920 -24800
+ )
+ )
+ (wire
+ (path Front 158
+ 32835 -27250
+ 32993 -27408
+ )
+ )
+ (wire
+ (path Front 158
+ 32775 -27250
+ 32835 -27250
+ )
+ )
+ (wire
+ (path Front 158
+ 32450 -27250
+ 32775 -27250
+ )
+ )
+ (wire
+ (path Front 158
+ 32583 -26750
+ 32835 -26750
+ )
+ )
+ (wire
+ (path Front 158
+ 32450 -26750
+ 32583 -26750
+ )
+ )
+ (wire
+ (path Front 158
+ 32835 -27250
+ 32835 -26750
+ )
+ )
+ (wire
+ (path Front 158
+ 30350 -27750
+ 30735 -27750
+ )
+ )
+ )
+ (net "N-000011"
+ (wire
+ (path Front 158
+ 34850 -18800
+ 37250 -18800
+ 37400 -18950
+ )
+ (type protect)
+ )
+ )
+ (net "N-000013"
+ (wire
+ (path Front 158
+ 35650 -22000
+ 36110 -22000
+ )
+ )
+ (wire
+ (path Front 158
+ 36930 -21950
+ 36160 -21950
+ 36110 -22000
+ )
+ )
+ (wire
+ (path Front 158
+ 37400 -21950
+ 36930 -21950
+ )
+ )
+ )
+ (net "N-000014"
+ (wire
+ (path Front 158
+ 32800 -14200
+ 34200 -12800
+ 40800 -12800
+ 41600 -13600
+ 41600 -18200
+ 40850 -18950
+ 39400 -18950
+ )
+ (type protect)
+ )
+ )
+ (net "N-000018"
+ (wire
+ (path Front 158
+ 25578 -24096
+ 25578 -24625
+ 27203 -26250
+ 30350 -26250
+ )
+ )
+ )
+ (net "N-000020"
+ (wire
+ (path Front 158
+ 32300 -22900
+ 31761 -23439
+ 29433 -23439
+ 28994 -23000
+ 26680 -23000
+ )
+ )
+ )
+ (net "N-000021"
+ (wire
+ (path Front 158
+ 25263 -24096
+ 25263 -24649
+ )
+ )
+ (wire
+ (path Front 158
+ 25263 -24649
+ 27364 -26750
+ 30350 -26750
+ )
+ )
+ )
+ (net "N-000022"
+ (wire
+ (path Front 158
+ 35690 -26400
+ 33325 -28765
+ 27787 -28765
+ 23688 -24666
+ 23688 -24096
+ )
+ )
+ (wire
+ (path Front 158
+ 36500 -28800
+ 36500 -28260
+ )
+ )
+ (wire
+ (path Front 158
+ 35920 -26400
+ 35920 -27680
+ 36500 -28260
+ )
+ )
+ (wire
+ (path Front 158
+ 35920 -26400
+ 35690 -26400
+ )
+ )
+ (wire
+ (path Front 158
+ 36150 -26400
+ 35920 -26400
+ )
+ )
+ )
+ (net "N-000023"
+ (wire
+ (path Front 158
+ 21290 -27800
+ 20929 -27439
+ 20929 -23155
+ 22346 -21738
+ )
+ )
+ (wire
+ (path Front 158
+ 21750 -27800
+ 21290 -27800
+ )
+ )
+ (wire
+ (path Front 158
+ 22900 -21738
+ 22346 -21738
+ )
+ )
+ )
+ (net "N-000024"
+ (wire
+ (path Front 158
+ 21200 -16350
+ 21200 -15890
+ )
+ )
+ (wire
+ (path Front 158
+ 21200 -15890
+ 21466 -15624
+ 21466 -14246
+ )
+ )
+ )
+ (net "N-000025"
+ (wire
+ (path Front 158
+ 22400 -16350
+ 22400 -15890
+ )
+ )
+ (wire
+ (path Front 158
+ 22400 -15890
+ 21722 -15212
+ 21722 -14246
+ )
+ )
+ )
+ (net "N-000026"
+ (wire
+ (path Front 158
+ 22346 -22368
+ 21276 -23438
+ 21276 -26722
+ 21321 -26767
+ 21707 -26767
+ 22210 -27270
+ 22210 -28351
+ 22190 -28371
+ 21342 -28371
+ 20690 -27719
+ 20690 -18620
+ 21200 -18110
+ )
+ )
+ (wire
+ (path Front 158
+ 21200 -17650
+ 21200 -18110
+ )
+ )
+ (wire
+ (path Front 158
+ 22900 -22368
+ 22346 -22368
+ )
+ )
+ )
+ (net "N-000028"
+ (wire
+ (path Front 158
+ 29400 -18100
+ 28940 -18100
+ )
+ )
+ (wire
+ (path Front 158
+ 25900 -20330
+ 25900 -19613
+ 26952 -18561
+ 27821 -18561
+ 27866 -18516
+ 27866 -17745
+ 27971 -17640
+ 28895 -17640
+ 28940 -17685
+ 28940 -18100
+ )
+ )
+ )
+ (net "N-000030"
+ (wire
+ (path Front 158
+ 32300 -21900
+ 31830 -22370
+ 26680 -22370
+ )
+ )
+ )
+ (net "N-000031"
+ (wire
+ (path Front 158
+ 26680 -21740
+ 28717 -21740
+ 29018 -21439
+ 31761 -21439
+ 32300 -20900
+ )
+ )
+ )
+ (net "N-000032"
+ (wire
+ (path Front 158
+ 23690 -20053
+ 23690 -18100
+ )
+ )
+ (wire
+ (path Front 158
+ 27400 -18100
+ 23690 -18100
+ )
+ )
+ (wire
+ (path Front 158
+ 23690 -20330
+ 23690 -20053
+ )
+ )
+ )
+ (net "N-000033"
+ (wire
+ (path Front 158
+ 26680 -21100
+ 27233 -21100
+ )
+ )
+ (wire
+ (path Front 158
+ 27233 -21100
+ 27233 -20267
+ 28400 -19100
+ )
+ )
+ )
+ (net "N-000035"
+ (wire
+ (path Front 158
+ 31300 -21900
+ 31140 -22060
+ 26680 -22060
+ )
+ )
+ )
+ (net "N-000036"
+ (wire
+ (path Front 158
+ 31300 -22900
+ 31080 -22680
+ 26680 -22680
+ )
+ )
+ )
+ (net "N-000037"
+ (wire
+ (path Front 158
+ 31300 -23900
+ 27823 -23900
+ 27233 -23310
+ )
+ )
+ (wire
+ (path Front 158
+ 26680 -23310
+ 27233 -23310
+ )
+ )
+ )
+ (net "N-000038"
+ (wire
+ (path Front 158
+ 35950 -17600
+ 34850 -17600
+ )
+ (type protect)
+ )
+ )
+ (net "N-000039"
+ (wire
+ (path Front 158
+ 40300 -27359
+ 39399 -27359
+ 37879 -25839
+ 35712 -25839
+ 33030 -28521
+ 27901 -28521
+ 24003 -24623
+ 24003 -24096
+ )
+ )
+ (wire
+ (path Front 158
+ 40300 -27359
+ 40300 -26490
+ 40390 -26400
+ )
+ )
+ (wire
+ (path Front 158
+ 40300 -28530
+ 40300 -27359
+ )
+ )
+ (wire
+ (path Front 158
+ 40850 -26400
+ 40390 -26400
+ )
+ )
+ (wire
+ (path Front 158
+ 40300 -28800
+ 40300 -28530
+ )
+ )
+ )
+ (net VCC
+ (wire
+ (path Front 158
+ 32771 -20713
+ 31158 -19100
+ 29400 -19100
+ )
+ )
+ (wire
+ (path Front 158
+ 32300 -23900
+ 32771 -23429
+ 32771 -20713
+ )
+ )
+ (wire
+ (path Front 158
+ 32771 -20713
+ 38229 -20713
+ 38900 -21384
+ 38900 -22290
+ 40390 -23780
+ 40390 -24800
+ )
+ )
+ (wire
+ (path Front 158
+ 22590 -28350
+ 22121 -28819
+ 21400 -28819
+ 20382 -27801
+ 20382 -17360
+ 20568 -17174
+ 22556 -17174
+ 22961 -16769
+ 22961 -15941
+ 21978 -14958
+ 21978 -14245
+ )
+ )
+ (wire
+ (path Front 158
+ 41310 -24800
+ 41751 -25241
+ 41751 -29536
+ 41030 -30257
+ 24497 -30257
+ 22590 -28350
+ )
+ )
+ (wire
+ (path Front 158
+ 22210 -26200
+ 22590 -26580
+ 22590 -28350
+ )
+ )
+ (wire
+ (path Front 158
+ 40850 -24800
+ 41310 -24800
+ )
+ )
+ (wire
+ (path Front 158
+ 40623 -24800
+ 40850 -24800
+ )
+ )
+ (wire
+ (path Front 158
+ 37910 -24800
+ 38471 -25361
+ 39966 -25361
+ 40390 -24937
+ 40390 -24800
+ )
+ )
+ (wire
+ (path Front 158
+ 22346 -22998
+ 22346 -26064
+ 22210 -26200
+ )
+ )
+ (wire
+ (path Front 158
+ 32065 -25062
+ 32065 -24135
+ 32300 -23900
+ )
+ )
+ (wire
+ (path Front 158
+ 32065 -25062
+ 32065 -27750
+ )
+ )
+ (wire
+ (path Front 158
+ 24633 -23542
+ 26125 -23542
+ 27645 -25062
+ 32065 -25062
+ )
+ )
+ (wire
+ (path Front 158
+ 24633 -24096
+ 24633 -23542
+ )
+ )
+ (wire
+ (path Front 158
+ 21750 -26200
+ 22210 -26200
+ )
+ )
+ (wire
+ (path Front 158
+ 22900 -22998
+ 22346 -22998
+ )
+ )
+ (wire
+ (path Front 158
+ 32450 -27750
+ 32065 -27750
+ )
+ )
+ (wire
+ (path Front 158
+ 40623 -24800
+ 40390 -24800
+ )
+ )
+ (wire
+ (path Front 158
+ 37450 -24800
+ 37910 -24800
+ )
+ )
+ )
+ )
+ )
+) \ No newline at end of file
diff --git a/circuit/merge.pdf b/circuit/merge.pdf
new file mode 100644
index 0000000..3efbd1b
--- /dev/null
+++ b/circuit/merge.pdf
Binary files differ
diff --git a/circuit/out.pdf b/circuit/out.pdf
new file mode 100644
index 0000000..f28a365
--- /dev/null
+++ b/circuit/out.pdf
Binary files differ
diff --git a/firmware/.dep/Audio.o.d b/firmware/.dep/Audio.o.d
new file mode 100644
index 0000000..b73ce48
--- /dev/null
+++ b/firmware/.dep/Audio.o.d
@@ -0,0 +1,209 @@
+LUFA/Drivers/USB/Class/Device/Audio.o: \
+ LUFA/Drivers/USB/Class/Device/Audio.c \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/Audio.h \
+ LUFA/Drivers/USB/Class/Device/../../USB.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/Attributes.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/BoardTypes.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/Events.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/Events.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/ConfigDescriptor.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/HostStandardReq.h \
+ LUFA/Drivers/USB/Class/Device/../../LowLevel/USBController.h \
+ LUFA/Drivers/USB/Class/Device/../../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/Class/Device/../../LowLevel/Device.h \
+ LUFA/Drivers/USB/Class/Device/../../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Audio.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/Audio.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/CDC.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/CDC.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../../USB.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/CDC.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/../../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/HID.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/HID.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/HID.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/MassStorage.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/MassStorage.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/MassStorage.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/MIDI.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/MIDI.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/MIDI.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/Audio.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Printer.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/CDC.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/StillImage.h \
+ LUFA/Drivers/USB/Class/Device/../Common/Audio.h
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/Audio.h:
+
+LUFA/Drivers/USB/Class/Device/../../USB.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/Attributes.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/BoardTypes.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/Events.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/Events.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/ConfigDescriptor.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/HostStandardReq.h:
+
+LUFA/Drivers/USB/Class/Device/../../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/Class/Device/../../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/Class/Device/../../LowLevel/Device.h:
+
+LUFA/Drivers/USB/Class/Device/../../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Audio.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/Audio.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/CDC.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/CDC.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../../USB.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/CDC.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/../../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/HID.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/HID.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/HID.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/MassStorage.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/MassStorage.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/MassStorage.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/Audio.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Printer.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/CDC.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/StillImage.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/Audio.h:
diff --git a/firmware/.dep/CDC.o.d b/firmware/.dep/CDC.o.d
new file mode 100644
index 0000000..d741679
--- /dev/null
+++ b/firmware/.dep/CDC.o.d
@@ -0,0 +1,4 @@
+LUFA/Drivers/USB/Class/Host/CDC.o: LUFA/Drivers/USB/Class/Host/CDC.c \
+ LUFA/Drivers/USB/Class/Host/../../HighLevel/USBMode.h
+
+LUFA/Drivers/USB/Class/Host/../../HighLevel/USBMode.h:
diff --git a/firmware/.dep/ConfigDescriptor.o.d b/firmware/.dep/ConfigDescriptor.o.d
new file mode 100644
index 0000000..82bdc11
--- /dev/null
+++ b/firmware/.dep/ConfigDescriptor.o.d
@@ -0,0 +1,110 @@
+LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o: \
+ LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
+ LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h \
+ LUFA/Drivers/USB/HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../../../Common/Attributes.h \
+ LUFA/Drivers/USB/HighLevel/../../../Common/BoardTypes.h \
+ LUFA/Drivers/USB/HighLevel/HostStandardReq.h \
+ LUFA/Drivers/USB/HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h \
+ LUFA/Drivers/USB/HighLevel/StdDescriptors.h
+
+LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h:
+
+LUFA/Drivers/USB/HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../../../Common/Attributes.h:
+
+LUFA/Drivers/USB/HighLevel/../../../Common/BoardTypes.h:
+
+LUFA/Drivers/USB/HighLevel/HostStandardReq.h:
+
+LUFA/Drivers/USB/HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h:
+
+LUFA/Drivers/USB/HighLevel/StdDescriptors.h:
diff --git a/firmware/.dep/Descriptors.o.d b/firmware/.dep/Descriptors.o.d
new file mode 100644
index 0000000..2a418b6
--- /dev/null
+++ b/firmware/.dep/Descriptors.o.d
@@ -0,0 +1,198 @@
+Descriptors.o: Descriptors.c Descriptors.h LUFA/Drivers/USB/USB.h \
+ LUFA/Drivers/USB/HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Attributes.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/BoardTypes.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h \
+ LUFA/Drivers/USB/HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h \
+ LUFA/Drivers/USB/HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/HostStandardReq.h \
+ LUFA/Drivers/USB/LowLevel/USBController.h \
+ LUFA/Drivers/USB/LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/LowLevel/Device.h LUFA/Drivers/USB/LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/Class/Audio.h \
+ LUFA/Drivers/USB/Class/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/Audio.h \
+ LUFA/Drivers/USB/Class/Device/../../USB.h \
+ LUFA/Drivers/USB/Class/Device/../Common/Audio.h \
+ LUFA/Drivers/USB/Class/Device/../Common/../../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/CDC.h LUFA/Drivers/USB/Class/Device/CDC.h \
+ LUFA/Drivers/USB/Class/Device/../Common/CDC.h \
+ LUFA/Drivers/USB/Class/HID.h LUFA/Drivers/USB/Class/Device/HID.h \
+ LUFA/Drivers/USB/Class/Device/../Common/HID.h \
+ LUFA/Drivers/USB/Class/MassStorage.h \
+ LUFA/Drivers/USB/Class/Device/MassStorage.h \
+ LUFA/Drivers/USB/Class/Device/../Common/MassStorage.h \
+ LUFA/Drivers/USB/Class/MIDI.h LUFA/Drivers/USB/Class/Device/MIDI.h \
+ LUFA/Drivers/USB/Class/Device/../Common/MIDI.h \
+ LUFA/Drivers/USB/Class/Device/../Common/Audio.h \
+ LUFA/Drivers/USB/Class/Printer.h LUFA/Drivers/USB/Class/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/../Common/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/../Common/CDC.h \
+ LUFA/Drivers/USB/Class/StillImage.h
+
+Descriptors.h:
+
+LUFA/Drivers/USB/USB.h:
+
+LUFA/Drivers/USB/HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Attributes.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/BoardTypes.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h:
+
+LUFA/Drivers/USB/HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h:
+
+LUFA/Drivers/USB/HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/HostStandardReq.h:
+
+LUFA/Drivers/USB/LowLevel/USBController.h:
+
+LUFA/Drivers/USB/LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/LowLevel/Device.h:
+
+LUFA/Drivers/USB/LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/Class/Audio.h:
+
+LUFA/Drivers/USB/Class/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/Audio.h:
+
+LUFA/Drivers/USB/Class/Device/../../USB.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/Audio.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/../../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/CDC.h:
+
+LUFA/Drivers/USB/Class/Device/CDC.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/CDC.h:
+
+LUFA/Drivers/USB/Class/HID.h:
+
+LUFA/Drivers/USB/Class/Device/HID.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/HID.h:
+
+LUFA/Drivers/USB/Class/MassStorage.h:
+
+LUFA/Drivers/USB/Class/Device/MassStorage.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/MassStorage.h:
+
+LUFA/Drivers/USB/Class/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/Audio.h:
+
+LUFA/Drivers/USB/Class/Printer.h:
+
+LUFA/Drivers/USB/Class/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/CDC.h:
+
+LUFA/Drivers/USB/Class/StillImage.h:
diff --git a/firmware/.dep/Device.o.d b/firmware/.dep/Device.o.d
new file mode 100644
index 0000000..f102bc6
--- /dev/null
+++ b/firmware/.dep/Device.o.d
@@ -0,0 +1,70 @@
+LUFA/Drivers/USB/LowLevel/Device.o: LUFA/Drivers/USB/LowLevel/Device.c \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/LowLevel/Device.h \
+ LUFA/Drivers/USB/LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/LowLevel/../../../Common/Attributes.h \
+ LUFA/Drivers/USB/LowLevel/../../../Common/BoardTypes.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/LowLevel/USBController.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/StreamCallbacks.h
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/LowLevel/Device.h:
+
+LUFA/Drivers/USB/LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/LowLevel/../../../Common/Attributes.h:
+
+LUFA/Drivers/USB/LowLevel/../../../Common/BoardTypes.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/LowLevel/USBController.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/StreamCallbacks.h:
diff --git a/firmware/.dep/DeviceStandardReq.o.d b/firmware/.dep/DeviceStandardReq.o.d
new file mode 100644
index 0000000..4beb69f
--- /dev/null
+++ b/firmware/.dep/DeviceStandardReq.o.d
@@ -0,0 +1,95 @@
+LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o: \
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.c \
+ LUFA/Drivers/USB/HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../../../Common/Attributes.h \
+ LUFA/Drivers/USB/HighLevel/../../../Common/BoardTypes.h \
+ LUFA/Drivers/USB/HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h \
+ LUFA/Drivers/USB/HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h
+
+LUFA/Drivers/USB/HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../../../Common/Attributes.h:
+
+LUFA/Drivers/USB/HighLevel/../../../Common/BoardTypes.h:
+
+LUFA/Drivers/USB/HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h:
+
+LUFA/Drivers/USB/HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h:
diff --git a/firmware/.dep/Endpoint.o.d b/firmware/.dep/Endpoint.o.d
new file mode 100644
index 0000000..ec408a3
--- /dev/null
+++ b/firmware/.dep/Endpoint.o.d
@@ -0,0 +1,101 @@
+LUFA/Drivers/USB/LowLevel/Endpoint.o: \
+ LUFA/Drivers/USB/LowLevel/Endpoint.c \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/LowLevel/../../../Common/Attributes.h \
+ LUFA/Drivers/USB/LowLevel/../../../Common/BoardTypes.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/LowLevel/USBInterrupt.h
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/LowLevel/../../../Common/Attributes.h:
+
+LUFA/Drivers/USB/LowLevel/../../../Common/BoardTypes.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/LowLevel/USBInterrupt.h:
diff --git a/firmware/.dep/EndpointStream.o.d b/firmware/.dep/EndpointStream.o.d
new file mode 100644
index 0000000..d8554e5
--- /dev/null
+++ b/firmware/.dep/EndpointStream.o.d
@@ -0,0 +1,104 @@
+LUFA/Drivers/USB/HighLevel/EndpointStream.o: \
+ LUFA/Drivers/USB/HighLevel/EndpointStream.c \
+ LUFA/Drivers/USB/HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../../../Common/Attributes.h \
+ LUFA/Drivers/USB/HighLevel/../../../Common/BoardTypes.h \
+ LUFA/Drivers/USB/HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/HighLevel/StreamCallbacks.h \
+ LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_RW.c \
+ LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_W.c \
+ LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_R.c
+
+LUFA/Drivers/USB/HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../../../Common/Attributes.h:
+
+LUFA/Drivers/USB/HighLevel/../../../Common/BoardTypes.h:
+
+LUFA/Drivers/USB/HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/HighLevel/StreamCallbacks.h:
+
+LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_RW.c:
+
+LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_W.c:
+
+LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_R.c:
diff --git a/firmware/.dep/Events.o.d b/firmware/.dep/Events.o.d
new file mode 100644
index 0000000..67ba347
--- /dev/null
+++ b/firmware/.dep/Events.o.d
@@ -0,0 +1,16 @@
+LUFA/Drivers/USB/HighLevel/Events.o: LUFA/Drivers/USB/HighLevel/Events.c \
+ LUFA/Drivers/USB/HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../../../Common/Attributes.h \
+ LUFA/Drivers/USB/HighLevel/../../../Common/BoardTypes.h \
+ LUFA/Drivers/USB/HighLevel/USBMode.h
+
+LUFA/Drivers/USB/HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../../../Common/Attributes.h:
+
+LUFA/Drivers/USB/HighLevel/../../../Common/BoardTypes.h:
+
+LUFA/Drivers/USB/HighLevel/USBMode.h:
diff --git a/firmware/.dep/HID.o.d b/firmware/.dep/HID.o.d
new file mode 100644
index 0000000..9448d05
--- /dev/null
+++ b/firmware/.dep/HID.o.d
@@ -0,0 +1,4 @@
+LUFA/Drivers/USB/Class/Host/HID.o: LUFA/Drivers/USB/Class/Host/HID.c \
+ LUFA/Drivers/USB/Class/Host/../../HighLevel/USBMode.h
+
+LUFA/Drivers/USB/Class/Host/../../HighLevel/USBMode.h:
diff --git a/firmware/.dep/HIDParser.o.d b/firmware/.dep/HIDParser.o.d
new file mode 100644
index 0000000..deee629
--- /dev/null
+++ b/firmware/.dep/HIDParser.o.d
@@ -0,0 +1,5 @@
+LUFA/Drivers/USB/Class/Host/HIDParser.o: \
+ LUFA/Drivers/USB/Class/Host/HIDParser.c \
+ LUFA/Drivers/USB/Class/Host/../../HighLevel/USBMode.h
+
+LUFA/Drivers/USB/Class/Host/../../HighLevel/USBMode.h:
diff --git a/firmware/.dep/Host.o.d b/firmware/.dep/Host.o.d
new file mode 100644
index 0000000..b0fe0db
--- /dev/null
+++ b/firmware/.dep/Host.o.d
@@ -0,0 +1,4 @@
+LUFA/Drivers/USB/LowLevel/Host.o: LUFA/Drivers/USB/LowLevel/Host.c \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h:
diff --git a/firmware/.dep/HostStandardReq.o.d b/firmware/.dep/HostStandardReq.o.d
new file mode 100644
index 0000000..d9548fd
--- /dev/null
+++ b/firmware/.dep/HostStandardReq.o.d
@@ -0,0 +1,5 @@
+LUFA/Drivers/USB/HighLevel/HostStandardReq.o: \
+ LUFA/Drivers/USB/HighLevel/HostStandardReq.c \
+ LUFA/Drivers/USB/HighLevel/USBMode.h
+
+LUFA/Drivers/USB/HighLevel/USBMode.h:
diff --git a/firmware/.dep/MIDI.o.d b/firmware/.dep/MIDI.o.d
new file mode 100644
index 0000000..a1cc1fc
--- /dev/null
+++ b/firmware/.dep/MIDI.o.d
@@ -0,0 +1,212 @@
+LUFA/Drivers/USB/Class/Device/MIDI.o: \
+ LUFA/Drivers/USB/Class/Device/MIDI.c \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/MIDI.h \
+ LUFA/Drivers/USB/Class/Device/../../USB.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/Attributes.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/BoardTypes.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/Events.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/Events.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/ConfigDescriptor.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/HostStandardReq.h \
+ LUFA/Drivers/USB/Class/Device/../../LowLevel/USBController.h \
+ LUFA/Drivers/USB/Class/Device/../../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/Class/Device/../../LowLevel/Device.h \
+ LUFA/Drivers/USB/Class/Device/../../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Audio.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/Audio.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../../USB.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/Audio.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/../../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/CDC.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/CDC.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/CDC.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/HID.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/HID.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/HID.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/MassStorage.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/MassStorage.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/MassStorage.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/MIDI.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/MIDI.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Printer.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/CDC.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/StillImage.h \
+ LUFA/Drivers/USB/Class/Device/../Common/MIDI.h \
+ LUFA/Drivers/USB/Class/Device/../Common/../../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../Common/Audio.h
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/../../USB.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/Attributes.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/BoardTypes.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/Events.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/Events.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/ConfigDescriptor.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/HostStandardReq.h:
+
+LUFA/Drivers/USB/Class/Device/../../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/Class/Device/../../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/Class/Device/../../LowLevel/Device.h:
+
+LUFA/Drivers/USB/Class/Device/../../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Audio.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/Audio.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../../USB.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/Audio.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/../../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/CDC.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/CDC.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/CDC.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/HID.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/HID.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/HID.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/MassStorage.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/MassStorage.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/MassStorage.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Printer.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/CDC.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/StillImage.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/../../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/Audio.h:
diff --git a/firmware/.dep/MassStorage.o.d b/firmware/.dep/MassStorage.o.d
new file mode 100644
index 0000000..b1e87ae
--- /dev/null
+++ b/firmware/.dep/MassStorage.o.d
@@ -0,0 +1,5 @@
+LUFA/Drivers/USB/Class/Host/MassStorage.o: \
+ LUFA/Drivers/USB/Class/Host/MassStorage.c \
+ LUFA/Drivers/USB/Class/Host/../../HighLevel/USBMode.h
+
+LUFA/Drivers/USB/Class/Host/../../HighLevel/USBMode.h:
diff --git a/firmware/.dep/Pipe.o.d b/firmware/.dep/Pipe.o.d
new file mode 100644
index 0000000..2ec1dd3
--- /dev/null
+++ b/firmware/.dep/Pipe.o.d
@@ -0,0 +1,4 @@
+LUFA/Drivers/USB/LowLevel/Pipe.o: LUFA/Drivers/USB/LowLevel/Pipe.c \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h:
diff --git a/firmware/.dep/PipeStream.o.d b/firmware/.dep/PipeStream.o.d
new file mode 100644
index 0000000..a8e4fff
--- /dev/null
+++ b/firmware/.dep/PipeStream.o.d
@@ -0,0 +1,5 @@
+LUFA/Drivers/USB/HighLevel/PipeStream.o: \
+ LUFA/Drivers/USB/HighLevel/PipeStream.c \
+ LUFA/Drivers/USB/HighLevel/USBMode.h
+
+LUFA/Drivers/USB/HighLevel/USBMode.h:
diff --git a/firmware/.dep/Printer.o.d b/firmware/.dep/Printer.o.d
new file mode 100644
index 0000000..21a80d7
--- /dev/null
+++ b/firmware/.dep/Printer.o.d
@@ -0,0 +1,5 @@
+LUFA/Drivers/USB/Class/Host/Printer.o: \
+ LUFA/Drivers/USB/Class/Host/Printer.c \
+ LUFA/Drivers/USB/Class/Host/../../HighLevel/USBMode.h
+
+LUFA/Drivers/USB/Class/Host/../../HighLevel/USBMode.h:
diff --git a/firmware/.dep/RNDIS.o.d b/firmware/.dep/RNDIS.o.d
new file mode 100644
index 0000000..fd660fd
--- /dev/null
+++ b/firmware/.dep/RNDIS.o.d
@@ -0,0 +1,212 @@
+LUFA/Drivers/USB/Class/Device/RNDIS.o: \
+ LUFA/Drivers/USB/Class/Device/RNDIS.c \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/../../USB.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/Attributes.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/BoardTypes.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/Events.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/Events.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/ConfigDescriptor.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/HostStandardReq.h \
+ LUFA/Drivers/USB/Class/Device/../../LowLevel/USBController.h \
+ LUFA/Drivers/USB/Class/Device/../../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/Class/Device/../../LowLevel/Device.h \
+ LUFA/Drivers/USB/Class/Device/../../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/Class/Device/../../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Audio.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/Audio.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../../USB.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/Audio.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/../../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/CDC.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/CDC.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/CDC.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/HID.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/HID.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/HID.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/MassStorage.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/MassStorage.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/MassStorage.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/MIDI.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/MIDI.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/MIDI.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/Audio.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Printer.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/Device/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/../../Class/StillImage.h \
+ LUFA/Drivers/USB/Class/Device/../Common/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/../Common/../../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/Device/../Common/CDC.h
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/../../USB.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/Attributes.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../../../Common/BoardTypes.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/Events.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/Events.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/ConfigDescriptor.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/HostStandardReq.h:
+
+LUFA/Drivers/USB/Class/Device/../../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/Class/Device/../../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/Class/Device/../../LowLevel/Device.h:
+
+LUFA/Drivers/USB/Class/Device/../../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/Class/Device/../../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Audio.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/Audio.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../../USB.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/Audio.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/../../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/CDC.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/CDC.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/CDC.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/HID.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/HID.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/HID.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/MassStorage.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/MassStorage.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/MassStorage.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/../Common/Audio.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Printer.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/Device/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/../../Class/StillImage.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/../../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/CDC.h:
diff --git a/firmware/.dep/StillImage.o.d b/firmware/.dep/StillImage.o.d
new file mode 100644
index 0000000..8b15e55
--- /dev/null
+++ b/firmware/.dep/StillImage.o.d
@@ -0,0 +1,5 @@
+LUFA/Drivers/USB/Class/Host/StillImage.o: \
+ LUFA/Drivers/USB/Class/Host/StillImage.c \
+ LUFA/Drivers/USB/Class/Host/../../HighLevel/USBMode.h
+
+LUFA/Drivers/USB/Class/Host/../../HighLevel/USBMode.h:
diff --git a/firmware/.dep/USBController.o.d b/firmware/.dep/USBController.o.d
new file mode 100644
index 0000000..e57d904
--- /dev/null
+++ b/firmware/.dep/USBController.o.d
@@ -0,0 +1,91 @@
+LUFA/Drivers/USB/LowLevel/USBController.o: \
+ LUFA/Drivers/USB/LowLevel/USBController.c \
+ LUFA/Drivers/USB/LowLevel/USBController.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/LowLevel/../../../Common/Attributes.h \
+ LUFA/Drivers/USB/LowLevel/../../../Common/BoardTypes.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/LowLevel/Device.h LUFA/Drivers/USB/LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/StreamCallbacks.h
+
+LUFA/Drivers/USB/LowLevel/USBController.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/LowLevel/../../../Common/Attributes.h:
+
+LUFA/Drivers/USB/LowLevel/../../../Common/BoardTypes.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/LowLevel/Device.h:
+
+LUFA/Drivers/USB/LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/StreamCallbacks.h:
diff --git a/firmware/.dep/USBInterrupt.o.d b/firmware/.dep/USBInterrupt.o.d
new file mode 100644
index 0000000..16a901a
--- /dev/null
+++ b/firmware/.dep/USBInterrupt.o.d
@@ -0,0 +1,82 @@
+LUFA/Drivers/USB/LowLevel/USBInterrupt.o: \
+ LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
+ LUFA/Drivers/USB/LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/LowLevel/../../../Common/Attributes.h \
+ LUFA/Drivers/USB/LowLevel/../../../Common/BoardTypes.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/LowLevel/USBController.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/LowLevel/Device.h LUFA/Drivers/USB/LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/LowLevel/../HighLevel/StreamCallbacks.h
+
+LUFA/Drivers/USB/LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/LowLevel/../../../Common/Attributes.h:
+
+LUFA/Drivers/USB/LowLevel/../../../Common/BoardTypes.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/LowLevel/USBController.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/LowLevel/Device.h:
+
+LUFA/Drivers/USB/LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/LowLevel/../HighLevel/StreamCallbacks.h:
diff --git a/firmware/.dep/USBTask.o.d b/firmware/.dep/USBTask.o.d
new file mode 100644
index 0000000..1789867
--- /dev/null
+++ b/firmware/.dep/USBTask.o.d
@@ -0,0 +1,89 @@
+LUFA/Drivers/USB/HighLevel/USBTask.o: \
+ LUFA/Drivers/USB/HighLevel/USBTask.c \
+ LUFA/Drivers/USB/HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Attributes.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/BoardTypes.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h \
+ LUFA/Drivers/USB/HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h
+
+LUFA/Drivers/USB/HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Attributes.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/BoardTypes.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h:
+
+LUFA/Drivers/USB/HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h:
diff --git a/firmware/.dep/VirtualSerial.o.d b/firmware/.dep/VirtualSerial.o.d
new file mode 100644
index 0000000..42edd23
--- /dev/null
+++ b/firmware/.dep/VirtualSerial.o.d
@@ -0,0 +1,202 @@
+VirtualSerial.o: VirtualSerial.c VirtualSerial.h Descriptors.h \
+ LUFA/Drivers/USB/USB.h LUFA/Drivers/USB/HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Attributes.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/BoardTypes.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h \
+ LUFA/Drivers/USB/HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/StdRequestType.h \
+ LUFA/Drivers/USB/HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/USBMode.h \
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/HighLevel/Events.h \
+ LUFA/Drivers/USB/HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h \
+ LUFA/Drivers/USB/HighLevel/../../../Common/Common.h \
+ LUFA/Drivers/USB/HighLevel/HostStandardReq.h \
+ LUFA/Drivers/USB/LowLevel/USBController.h \
+ LUFA/Drivers/USB/LowLevel/USBInterrupt.h \
+ LUFA/Drivers/USB/LowLevel/Device.h LUFA/Drivers/USB/LowLevel/Endpoint.h \
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h \
+ LUFA/Drivers/USB/HighLevel/EndpointStream.h \
+ LUFA/Drivers/USB/Class/Audio.h \
+ LUFA/Drivers/USB/Class/../HighLevel/USBMode.h \
+ LUFA/Drivers/USB/Class/Device/Audio.h \
+ LUFA/Drivers/USB/Class/Device/../../USB.h \
+ LUFA/Drivers/USB/Class/Device/../Common/Audio.h \
+ LUFA/Drivers/USB/Class/Device/../Common/../../HighLevel/StdDescriptors.h \
+ LUFA/Drivers/USB/Class/CDC.h LUFA/Drivers/USB/Class/Device/CDC.h \
+ LUFA/Drivers/USB/Class/Device/../Common/CDC.h \
+ LUFA/Drivers/USB/Class/HID.h LUFA/Drivers/USB/Class/Device/HID.h \
+ LUFA/Drivers/USB/Class/Device/../Common/HID.h \
+ LUFA/Drivers/USB/Class/MassStorage.h \
+ LUFA/Drivers/USB/Class/Device/MassStorage.h \
+ LUFA/Drivers/USB/Class/Device/../Common/MassStorage.h \
+ LUFA/Drivers/USB/Class/MIDI.h LUFA/Drivers/USB/Class/Device/MIDI.h \
+ LUFA/Drivers/USB/Class/Device/../Common/MIDI.h \
+ LUFA/Drivers/USB/Class/Device/../Common/Audio.h \
+ LUFA/Drivers/USB/Class/Printer.h LUFA/Drivers/USB/Class/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/../Common/RNDIS.h \
+ LUFA/Drivers/USB/Class/Device/../Common/CDC.h \
+ LUFA/Drivers/USB/Class/StillImage.h LUFA/Version.h
+
+VirtualSerial.h:
+
+Descriptors.h:
+
+LUFA/Drivers/USB/USB.h:
+
+LUFA/Drivers/USB/HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/Attributes.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../../../Common/BoardTypes.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/Device.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/USBTask.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/../LowLevel/USBController.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/HighLevel/../LowLevel/../HighLevel/StreamCallbacks.h:
+
+LUFA/Drivers/USB/HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/StdRequestType.h:
+
+LUFA/Drivers/USB/HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/HighLevel/Events.h:
+
+LUFA/Drivers/USB/HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h:
+
+LUFA/Drivers/USB/HighLevel/../../../Common/Common.h:
+
+LUFA/Drivers/USB/HighLevel/HostStandardReq.h:
+
+LUFA/Drivers/USB/LowLevel/USBController.h:
+
+LUFA/Drivers/USB/LowLevel/USBInterrupt.h:
+
+LUFA/Drivers/USB/LowLevel/Device.h:
+
+LUFA/Drivers/USB/LowLevel/Endpoint.h:
+
+LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h:
+
+LUFA/Drivers/USB/HighLevel/EndpointStream.h:
+
+LUFA/Drivers/USB/Class/Audio.h:
+
+LUFA/Drivers/USB/Class/../HighLevel/USBMode.h:
+
+LUFA/Drivers/USB/Class/Device/Audio.h:
+
+LUFA/Drivers/USB/Class/Device/../../USB.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/Audio.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/../../HighLevel/StdDescriptors.h:
+
+LUFA/Drivers/USB/Class/CDC.h:
+
+LUFA/Drivers/USB/Class/Device/CDC.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/CDC.h:
+
+LUFA/Drivers/USB/Class/HID.h:
+
+LUFA/Drivers/USB/Class/Device/HID.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/HID.h:
+
+LUFA/Drivers/USB/Class/MassStorage.h:
+
+LUFA/Drivers/USB/Class/Device/MassStorage.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/MassStorage.h:
+
+LUFA/Drivers/USB/Class/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/MIDI.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/Audio.h:
+
+LUFA/Drivers/USB/Class/Printer.h:
+
+LUFA/Drivers/USB/Class/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/RNDIS.h:
+
+LUFA/Drivers/USB/Class/Device/../Common/CDC.h:
+
+LUFA/Drivers/USB/Class/StillImage.h:
+
+LUFA/Version.h:
diff --git a/firmware/Descriptors.c b/firmware/Descriptors.c
new file mode 100644
index 0000000..5218acb
--- /dev/null
+++ b/firmware/Descriptors.c
@@ -0,0 +1,271 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ *
+ * USB Device Descriptors, for library use when in USB device mode. Descriptors are special
+ * computer-readable structures which the host requests upon device enumeration, to determine
+ * the device's capabilities and functions.
+ */
+
+#include "Descriptors.h"
+
+/* On some devices, there is a factory set internal serial number which can be automatically sent to the host as
+ * the device's serial number when the Device Descriptor's .SerialNumStrIndex entry is set to USE_INTERNAL_SERIAL.
+ * This allows the host to track a device across insertions on different ports, allowing them to retain allocated
+ * resources like COM port numbers and drivers. On demos using this feature, give a warning on unsupported devices
+ * so that the user can supply their own serial number descriptor instead or remove the USE_INTERNAL_SERIAL value
+ * from the Device Descriptor (forcing the host to generate a serial number for each device from the VID, PID and
+ * port location).
+ */
+#if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)
+ #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.
+#endif
+
+/** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall
+ * device characteristics, including the supported USB version, control endpoint size and the
+ * number of device configurations. The descriptor is read out by the USB host when the enumeration
+ * process begins.
+ */
+USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
+{
+ .Header = {.Size = sizeof(USB_Descriptor_Device_t), .Type = DTYPE_Device},
+
+ .USBSpecification = VERSION_BCD(01.10),
+ .Class = CDC_CSCP_CDCClass,
+ .SubClass = CDC_CSCP_NoSpecificSubclass,
+ .Protocol = CDC_CSCP_NoSpecificProtocol,
+
+ .Endpoint0Size = FIXED_CONTROL_ENDPOINT_SIZE,
+
+ .VendorID = 0x03EB,
+ .ProductID = 0x206f,
+ .ReleaseNumber = VERSION_BCD(00.01),
+
+ .ManufacturerStrIndex = 0x01,
+ .ProductStrIndex = 0x02,
+ .SerialNumStrIndex = USE_INTERNAL_SERIAL,
+
+ .NumberOfConfigurations = FIXED_NUM_CONFIGURATIONS
+};
+
+/** Configuration descriptor structure. This descriptor, located in FLASH memory, describes the usage
+ * of the device in one of its supported configurations, including information about any device interfaces
+ * and endpoints. The descriptor is read out by the USB host during the enumeration process when selecting
+ * a configuration so that the host may correctly communicate with the USB device.
+ */
+USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
+{
+ .Config =
+ {
+ .Header = {.Size = sizeof(USB_Descriptor_Configuration_Header_t), .Type = DTYPE_Configuration},
+
+ .TotalConfigurationSize = sizeof(USB_Descriptor_Configuration_t),
+ .TotalInterfaces = 2,
+
+ .ConfigurationNumber = 1,
+ .ConfigurationStrIndex = NO_DESCRIPTOR,
+
+ .ConfigAttributes = (USB_CONFIG_ATTR_BUSPOWERED | USB_CONFIG_ATTR_SELFPOWERED),
+
+ .MaxPowerConsumption = USB_CONFIG_POWER_MA(100)
+ },
+
+ .CDC_CCI_Interface =
+ {
+ .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
+
+ .InterfaceNumber = 0,
+ .AlternateSetting = 0,
+
+ .TotalEndpoints = 1,
+
+ .Class = CDC_CSCP_CDCClass,
+ .SubClass = CDC_CSCP_ACMSubclass,
+ .Protocol = CDC_CSCP_ATCommandProtocol,
+
+ .InterfaceStrIndex = NO_DESCRIPTOR
+ },
+
+ .CDC_Functional_Header =
+ {
+ .Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalHeader_t), .Type = DTYPE_CSInterface},
+ .Subtype = CDC_DSUBTYPE_CSInterface_Header,
+
+ .CDCSpecification = VERSION_BCD(01.10),
+ },
+
+ .CDC_Functional_ACM =
+ {
+ .Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalACM_t), .Type = DTYPE_CSInterface},
+ .Subtype = CDC_DSUBTYPE_CSInterface_ACM,
+
+ .Capabilities = 0x06,
+ },
+
+ .CDC_Functional_Union =
+ {
+ .Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
+ .Subtype = CDC_DSUBTYPE_CSInterface_Union,
+
+ .MasterInterfaceNumber = 0,
+ .SlaveInterfaceNumber = 1,
+ },
+
+ .CDC_NotificationEndpoint =
+ {
+ .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
+
+ .EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_NOTIFICATION_EPNUM),
+ .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
+ .EndpointSize = CDC_NOTIFICATION_EPSIZE,
+ .PollingIntervalMS = 0xFF
+ },
+
+ .CDC_DCI_Interface =
+ {
+ .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
+
+ .InterfaceNumber = 1,
+ .AlternateSetting = 0,
+
+ .TotalEndpoints = 2,
+
+ .Class = CDC_CSCP_CDCDataClass,
+ .SubClass = CDC_CSCP_NoDataSubclass,
+ .Protocol = CDC_CSCP_NoDataProtocol,
+
+ .InterfaceStrIndex = NO_DESCRIPTOR
+ },
+
+ .CDC_DataOutEndpoint =
+ {
+ .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
+
+ .EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_OUT | CDC_RX_EPNUM),
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
+ .EndpointSize = CDC_TXRX_EPSIZE,
+ .PollingIntervalMS = 0x01
+ },
+
+ .CDC_DataInEndpoint =
+ {
+ .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
+
+ .EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | CDC_TX_EPNUM),
+ .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
+ .EndpointSize = CDC_TXRX_EPSIZE,
+ .PollingIntervalMS = 0x01
+ }
+};
+
+/** Language descriptor structure. This descriptor, located in FLASH memory, is returned when the host requests
+ * the string descriptor with index 0 (the first index). It is actually an array of 16-bit integers, which indicate
+ * via the language ID table available at USB.org what languages the device supports for its string descriptors.
+ */
+USB_Descriptor_String_t PROGMEM LanguageString =
+{
+ .Header = {.Size = USB_STRING_LEN(1), .Type = DTYPE_String},
+
+ .UnicodeString = {LANGUAGE_ID_ENG}
+};
+
+/** Manufacturer descriptor string. This is a Unicode string containing the manufacturer's details in human readable
+ * form, and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
+ * Descriptor.
+ */
+USB_Descriptor_String_t PROGMEM ManufacturerString =
+{
+ .Header = {.Size = USB_STRING_LEN(11), .Type = DTYPE_String},
+
+ .UnicodeString = L"PING Labs"
+};
+
+/** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
+ * and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
+ * Descriptor.
+ */
+USB_Descriptor_String_t PROGMEM ProductString =
+{
+ .Header = {.Size = USB_STRING_LEN(18), .Type = DTYPE_String},
+
+ .UnicodeString = L"Fridge Controller"
+};
+
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
+ * documentation) by the application code so that the address and size of a requested descriptor can be given
+ * to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function
+ * is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the
+ * USB host.
+ */
+uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
+ const uint8_t wIndex,
+ const void** const DescriptorAddress)
+{
+ const uint8_t DescriptorType = (wValue >> 8);
+ const uint8_t DescriptorNumber = (wValue & 0xFF);
+
+ const void* Address = NULL;
+ uint16_t Size = NO_DESCRIPTOR;
+
+ switch (DescriptorType)
+ {
+ case DTYPE_Device:
+ Address = &DeviceDescriptor;
+ Size = sizeof(USB_Descriptor_Device_t);
+ break;
+ case DTYPE_Configuration:
+ Address = &ConfigurationDescriptor;
+ Size = sizeof(USB_Descriptor_Configuration_t);
+ break;
+ case DTYPE_String:
+ switch (DescriptorNumber)
+ {
+ case 0x00:
+ Address = &LanguageString;
+ Size = pgm_read_byte(&LanguageString.Header.Size);
+ break;
+ case 0x01:
+ Address = &ManufacturerString;
+ Size = pgm_read_byte(&ManufacturerString.Header.Size);
+ break;
+ case 0x02:
+ Address = &ProductString;
+ Size = pgm_read_byte(&ProductString.Header.Size);
+ break;
+ }
+
+ break;
+ }
+
+ *DescriptorAddress = Address;
+ return Size;
+}
+
diff --git a/firmware/Descriptors.h b/firmware/Descriptors.h
new file mode 100644
index 0000000..0b52ab4
--- /dev/null
+++ b/firmware/Descriptors.h
@@ -0,0 +1,85 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ *
+ * Header file for Descriptors.c.
+ */
+
+#ifndef _DESCRIPTORS_H_
+#define _DESCRIPTORS_H_
+
+ /* Includes: */
+ #include <avr/pgmspace.h>
+
+ #include <LUFA/Drivers/USB/USB.h>
+
+ /* Macros: */
+ /** Endpoint number of the CDC device-to-host notification IN endpoint. */
+ #define CDC_NOTIFICATION_EPNUM 2
+
+ /** Endpoint number of the CDC device-to-host data IN endpoint. */
+ #define CDC_TX_EPNUM 3
+
+ /** Endpoint number of the CDC host-to-device data OUT endpoint. */
+ #define CDC_RX_EPNUM 4
+
+ /** Size in bytes of the CDC device-to-host notification IN endpoint. */
+ #define CDC_NOTIFICATION_EPSIZE 8
+
+ /** Size in bytes of the CDC data IN and OUT endpoints. */
+ #define CDC_TXRX_EPSIZE 16
+
+ /* Type Defines: */
+ /** Type define for the device configuration descriptor structure. This must be defined in the
+ * application code, as the configuration descriptor contains several sub-descriptors which
+ * vary between devices, and which describe the device's usage to the host.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Configuration_Header_t Config;
+ USB_Descriptor_Interface_t CDC_CCI_Interface;
+ USB_CDC_Descriptor_FunctionalHeader_t CDC_Functional_Header;
+ USB_CDC_Descriptor_FunctionalACM_t CDC_Functional_ACM;
+ USB_CDC_Descriptor_FunctionalUnion_t CDC_Functional_Union;
+ USB_Descriptor_Endpoint_t CDC_NotificationEndpoint;
+ USB_Descriptor_Interface_t CDC_DCI_Interface;
+ USB_Descriptor_Endpoint_t CDC_DataOutEndpoint;
+ USB_Descriptor_Endpoint_t CDC_DataInEndpoint;
+ } USB_Descriptor_Configuration_t;
+
+ /* Function Prototypes: */
+ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
+ const uint8_t wIndex,
+ const void** const DescriptorAddress)
+ ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
+
+#endif
+
diff --git a/firmware/Descriptors.lst b/firmware/Descriptors.lst
new file mode 100644
index 0000000..6e5bab2
--- /dev/null
+++ b/firmware/Descriptors.lst
@@ -0,0 +1,255 @@
+ 1 .file "Descriptors.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.CALLBACK_USB_GetDescriptor,"ax",@progbits
+ 17 .global CALLBACK_USB_GetDescriptor
+ 19 CALLBACK_USB_GetDescriptor:
+ 20 .LFB81:
+ 21 .LSM0:
+ 22 .LVL0:
+ 23 /* prologue: function */
+ 24 /* frame size = 0 */
+ 25 0000 DA01 movw r26,r20
+ 26 .LSM1:
+ 27 0002 9230 cpi r25,lo8(2)
+ 28 .LVL1:
+ 29 0004 01F0 breq .L4
+ 30 .LVL2:
+ 31 0006 9330 cpi r25,lo8(3)
+ 32 0008 01F0 breq .L5
+ 33 000a 9130 cpi r25,lo8(1)
+ 34 000c 01F4 brne .L2
+ 35 000e E0E0 ldi r30,lo8(DeviceDescriptor)
+ 36 0010 F0E0 ldi r31,hi8(DeviceDescriptor)
+ 37 .LVL3:
+ 38 0012 22E1 ldi r18,lo8(18)
+ 39 0014 30E0 ldi r19,hi8(18)
+ 40 .LVL4:
+ 41 0016 00C0 rjmp .L6
+ 42 .LVL5:
+ 43 .L4:
+ 44 0018 E0E0 ldi r30,lo8(ConfigurationDescriptor)
+ 45 001a F0E0 ldi r31,hi8(ConfigurationDescriptor)
+ 46 .LVL6:
+ 47 001c 2EE3 ldi r18,lo8(62)
+ 48 001e 30E0 ldi r19,hi8(62)
+ 49 .LVL7:
+ 50 0020 00C0 rjmp .L6
+ 51 .LVL8:
+ 52 .L5:
+ 53 .LSM2:
+ 54 0022 8130 cpi r24,lo8(1)
+ 55 0024 01F0 breq .L8
+ 56 0026 8130 cpi r24,lo8(1)
+ 57 0028 00F0 brlo .L7
+ 58 002a 8230 cpi r24,lo8(2)
+ 59 002c 01F4 brne .L2
+ 60 002e 00C0 rjmp .L12
+ 61 .L7:
+ 62 .LBB2:
+ 63 .LSM3:
+ 64 0030 E0E0 ldi r30,lo8(LanguageString)
+ 65 0032 F0E0 ldi r31,hi8(LanguageString)
+ 66 /* #APP */
+ 67 ; 253 "Descriptors.c" 1
+ 68 0034 8491 lpm r24, Z
+ 69
+ 70 ; 0 "" 2
+ 71 .LVL9:
+ 72 /* #NOAPP */
+ 73 0036 00C0 rjmp .L11
+ 74 .LVL10:
+ 75 .L8:
+ 76 .LBE2:
+ 77 .LBB3:
+ 78 .LSM4:
+ 79 0038 E0E0 ldi r30,lo8(ManufacturerString)
+ 80 003a F0E0 ldi r31,hi8(ManufacturerString)
+ 81 /* #APP */
+ 82 ; 257 "Descriptors.c" 1
+ 83 003c 8491 lpm r24, Z
+ 84
+ 85 ; 0 "" 2
+ 86 .LVL11:
+ 87 /* #NOAPP */
+ 88 003e 00C0 rjmp .L11
+ 89 .LVL12:
+ 90 .L12:
+ 91 .LBE3:
+ 92 .LBB4:
+ 93 .LSM5:
+ 94 0040 E0E0 ldi r30,lo8(ProductString)
+ 95 0042 F0E0 ldi r31,hi8(ProductString)
+ 96 /* #APP */
+ 97 ; 261 "Descriptors.c" 1
+ 98 0044 8491 lpm r24, Z
+ 99
+ 100 ; 0 "" 2
+ 101 .LVL13:
+ 102 /* #NOAPP */
+ 103 .L11:
+ 104 .LBE4:
+ 105 0046 282F mov r18,r24
+ 106 .LVL14:
+ 107 0048 30E0 ldi r19,lo8(0)
+ 108 .LVL15:
+ 109 004a 00C0 rjmp .L6
+ 110 .LVL16:
+ 111 .L2:
+ 112 004c E0E0 ldi r30,lo8(0)
+ 113 004e F0E0 ldi r31,hi8(0)
+ 114 .LVL17:
+ 115 0050 20E0 ldi r18,lo8(0)
+ 116 0052 30E0 ldi r19,hi8(0)
+ 117 .LVL18:
+ 118 .L6:
+ 119 .LSM6:
+ 120 0054 ED93 st X+,r30
+ 121 0056 FC93 st X,r31
+ 122 .LSM7:
+ 123 0058 C901 movw r24,r18
+ 124 .LVL19:
+ 125 /* epilogue start */
+ 126 005a 0895 ret
+ 127 .LFE81:
+ 129 .global DeviceDescriptor
+ 130 .section .progmem.data,"a",@progbits
+ 133 DeviceDescriptor:
+ 134 0000 12 .byte 18
+ 135 0001 01 .byte 1
+ 136 0002 1001 .word 272
+ 137 0004 02 .byte 2
+ 138 0005 00 .byte 0
+ 139 0006 00 .byte 0
+ 140 0007 08 .byte 8
+ 141 0008 EB03 .word 1003
+ 142 000a 6F20 .word 8303
+ 143 000c 0100 .word 1
+ 144 000e 01 .byte 1
+ 145 000f 02 .byte 2
+ 146 0010 00 .byte 0
+ 147 0011 01 .byte 1
+ 148 .global ConfigurationDescriptor
+ 151 ConfigurationDescriptor:
+ 152 0012 09 .byte 9
+ 153 0013 02 .byte 2
+ 154 0014 3E00 .word 62
+ 155 0016 02 .byte 2
+ 156 0017 01 .byte 1
+ 157 0018 00 .byte 0
+ 158 0019 C0 .byte -64
+ 159 001a 32 .byte 50
+ 160 001b 09 .byte 9
+ 161 001c 04 .byte 4
+ 162 001d 00 .byte 0
+ 163 001e 00 .byte 0
+ 164 001f 01 .byte 1
+ 165 0020 02 .byte 2
+ 166 0021 02 .byte 2
+ 167 0022 01 .byte 1
+ 168 0023 00 .byte 0
+ 169 0024 05 .byte 5
+ 170 0025 24 .byte 36
+ 171 0026 00 .byte 0
+ 172 0027 1001 .word 272
+ 173 0029 04 .byte 4
+ 174 002a 24 .byte 36
+ 175 002b 02 .byte 2
+ 176 002c 06 .byte 6
+ 177 002d 05 .byte 5
+ 178 002e 24 .byte 36
+ 179 002f 06 .byte 6
+ 180 0030 00 .byte 0
+ 181 0031 01 .byte 1
+ 182 0032 07 .byte 7
+ 183 0033 05 .byte 5
+ 184 0034 82 .byte -126
+ 185 0035 03 .byte 3
+ 186 0036 0800 .word 8
+ 187 0038 FF .byte -1
+ 188 0039 09 .byte 9
+ 189 003a 04 .byte 4
+ 190 003b 01 .byte 1
+ 191 003c 00 .byte 0
+ 192 003d 02 .byte 2
+ 193 003e 0A .byte 10
+ 194 003f 00 .byte 0
+ 195 0040 00 .byte 0
+ 196 0041 00 .byte 0
+ 197 0042 07 .byte 7
+ 198 0043 05 .byte 5
+ 199 0044 04 .byte 4
+ 200 0045 02 .byte 2
+ 201 0046 1000 .word 16
+ 202 0048 01 .byte 1
+ 203 0049 07 .byte 7
+ 204 004a 05 .byte 5
+ 205 004b 83 .byte -125
+ 206 004c 02 .byte 2
+ 207 004d 1000 .word 16
+ 208 004f 01 .byte 1
+ 209 .global LanguageString
+ 212 LanguageString:
+ 213 0050 04 .byte 4
+ 214 0051 03 .byte 3
+ 215 0052 0904 .word 1033
+ 216 .global ManufacturerString
+ 219 ManufacturerString:
+ 220 0054 18 .byte 24
+ 221 0055 03 .byte 3
+ 222 0056 5000 .string "P"
+ 223 0058 4900 .string "I"
+ 224 005a 4E00 .string "N"
+ 225 005c 4700 .string "G"
+ 226 005e 2000 .string " "
+ 227 0060 4C00 .string "L"
+ 228 0062 6100 .string "a"
+ 229 0064 6200 .string "b"
+ 230 0066 7300 .string "s"
+ 231 0068 00 .string ""
+ 232 0069 00 .string ""
+ 233 .global ProductString
+ 236 ProductString:
+ 237 006a 26 .byte 38
+ 238 006b 03 .byte 3
+ 239 006c 4600 .string "F"
+ 240 006e 7200 .string "r"
+ 241 0070 6900 .string "i"
+ 242 0072 6400 .string "d"
+ 243 0074 6700 .string "g"
+ 244 0076 6500 .string "e"
+ 245 0078 2000 .string " "
+ 246 007a 4300 .string "C"
+ 247 007c 6F00 .string "o"
+ 248 007e 6E00 .string "n"
+ 249 0080 7400 .string "t"
+ 250 0082 7200 .string "r"
+ 251 0084 6F00 .string "o"
+ 252 0086 6C00 .string "l"
+ 253 0088 6C00 .string "l"
+ 254 008a 6500 .string "e"
+ 255 008c 7200 .string "r"
+ 256 008e 00 .string ""
+ 257 008f 00 .string ""
+ 282 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 Descriptors.c
+ /tmp/cc5UwV9M.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/cc5UwV9M.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/cc5UwV9M.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/cc5UwV9M.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/cc5UwV9M.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/cc5UwV9M.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/cc5UwV9M.s:19 .text.CALLBACK_USB_GetDescriptor:0000000000000000 CALLBACK_USB_GetDescriptor
+ /tmp/cc5UwV9M.s:133 .progmem.data:0000000000000000 DeviceDescriptor
+ /tmp/cc5UwV9M.s:151 .progmem.data:0000000000000012 ConfigurationDescriptor
+ /tmp/cc5UwV9M.s:212 .progmem.data:0000000000000050 LanguageString
+ /tmp/cc5UwV9M.s:219 .progmem.data:0000000000000054 ManufacturerString
+ /tmp/cc5UwV9M.s:236 .progmem.data:000000000000006a ProductString
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/Descriptors.o b/firmware/Descriptors.o
new file mode 100644
index 0000000..1d2f355
--- /dev/null
+++ b/firmware/Descriptors.o
Binary files differ
diff --git a/firmware/Doxygen.conf b/firmware/Doxygen.conf
new file mode 100644
index 0000000..d3b5757
--- /dev/null
+++ b/firmware/Doxygen.conf
@@ -0,0 +1,1565 @@
+# Doxyfile 1.6.2
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = "LUFA Library - Virtual Serial Device Demo"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER = 0.0.0
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = ./Documentation/
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF = "The $name class" \
+ "The $name widget" \
+ "The $name file" \
+ is \
+ provides \
+ specifies \
+ contains \
+ represents \
+ a \
+ an \
+ the
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 4
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = YES
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it parses.
+# With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this tag.
+# The format is ext=language, where ext is a file extension, and language is one of
+# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
+# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
+# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
+# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen to replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penality.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will rougly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
+# will list include files with double quotes in the documentation
+# rather than with sharp brackets.
+
+FORCE_LOCAL_INCLUDES = NO
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = NO
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = NO
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = NO
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page.
+# This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
+# doxygen. The layout file controls the global structure of the generated output files
+# in an output format independent way. The create the layout file that represents
+# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
+# file name after the option, if omitted DoxygenLayout.xml will be used as the name
+# of the layout file.
+
+LAYOUT_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = YES
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = ./
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
+FILE_PATTERNS = *.h \
+ *.c \
+ *.txt
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE = Documentation/
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix filesystem feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS = __* \
+ INCLUDE_FROM_*
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS = *
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+# If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.
+# Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.
+# The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.
+# Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = NO
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET =
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting
+# this to NO can help when comparing the output of multiple runs.
+
+HTML_TIMESTAMP = NO
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = YES
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
+
+GENERATE_DOCSET = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND = YES
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
+# are set, an additional index file will be generated that can be used as input for
+# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
+# HTML documentation.
+
+GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
+# For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
+# will be generated, which together with the HTML files, form an Eclipse help
+# plugin. To install this plugin and make it available under the help contents
+# menu in Eclipse, the contents of the directory containing the HTML and XML
+# files needs to be copied into the plugins directory of eclipse. The name of
+# the directory within the plugins directory should be the same as
+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears.
+
+GENERATE_ECLIPSEHELP = NO
+
+# A unique identifier for the eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have
+# this name.
+
+ECLIPSE_DOC_ID = org.doxygen.Project
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 1
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = YES
+
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list.
+
+USE_INLINE_TREES = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE = 10
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should
+# typically be disabled. For large projects the javascript based search engine
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+
+SEARCHENGINE = NO
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index
+# file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup
+# and does not have live searching capabilities.
+
+SERVER_BASED_SEARCH = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+# Note that when enabling USE_PDFLATEX this option is only used for
+# generating bitmaps for formulas in the HTML output, but not in the
+# Makefile that is written to the output directory.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.
+# This is useful
+# if you want to understand what is going on.
+# On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF = YES
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED = __DOXYGEN__ \
+ PROGMEM
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option is superseded by the HAVE_DOT option below. This is only a
+# fallback. It is recommended to install and use dot, since it yields more
+# powerful graphs.
+
+CLASS_DIAGRAMS = NO
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = NO
+
+# By default doxygen will write a font called FreeSans.ttf to the output
+# directory and reference it in all dot files that doxygen generates. This
+# font does not include all possible unicode characters however, so when you need
+# these (or just want a differently looking font) you can specify the font name
+# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
+# which can be done by putting it in a standard location or by setting the
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
+# containing the font.
+
+DOT_FONTNAME = FreeSans
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE = 10
+
+# By default doxygen will tell dot to use the output directory to look for the
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a
+# different font using DOT_FONTNAME you can set the path where dot
+# can find it using this tag.
+
+DOT_FONTPATH =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = NO
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = NO
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS = NO
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = NO
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = NO
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH = NO
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES = 15
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH = 2
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT = YES
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
diff --git a/firmware/LUFA VirtualSerial.inf b/firmware/LUFA VirtualSerial.inf
new file mode 100644
index 0000000..4eb8484
--- /dev/null
+++ b/firmware/LUFA VirtualSerial.inf
@@ -0,0 +1,106 @@
+;************************************************************
+; Windows USB CDC ACM Setup File
+; Copyright (c) 2000 Microsoft Corporation
+
+
+[Version]
+Signature="$Windows NT$"
+Class=Ports
+ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
+Provider=%MFGNAME%
+LayoutFile=layout.inf
+CatalogFile=%MFGFILENAME%.cat
+DriverVer=11/15/2007,5.1.2600.0
+
+[Manufacturer]
+%MFGNAME%=DeviceList, NTamd64
+
+[DestinationDirs]
+DefaultDestDir=12
+
+
+;------------------------------------------------------------------------------
+; Windows 2000/XP/Vista-32bit Sections
+;------------------------------------------------------------------------------
+
+[DriverInstall.nt]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.nt
+AddReg=DriverInstall.nt.AddReg
+
+[DriverCopyFiles.nt]
+usbser.sys,,,0x20
+
+[DriverInstall.nt.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+
+[DriverInstall.nt.Services]
+AddService=usbser, 0x00000002, DriverService.nt
+
+[DriverService.nt]
+DisplayName=%SERVICE%
+ServiceType=1
+StartType=3
+ErrorControl=1
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
+
+;------------------------------------------------------------------------------
+; Vista-64bit Sections
+;------------------------------------------------------------------------------
+
+[DriverInstall.NTamd64]
+include=mdmcpq.inf
+CopyFiles=DriverCopyFiles.NTamd64
+AddReg=DriverInstall.NTamd64.AddReg
+
+[DriverCopyFiles.NTamd64]
+%DRIVERFILENAME%.sys,,,0x20
+
+[DriverInstall.NTamd64.AddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+
+[DriverInstall.NTamd64.Services]
+AddService=usbser, 0x00000002, DriverService.NTamd64
+
+[DriverService.NTamd64]
+DisplayName=%SERVICE%
+ServiceType=1
+StartType=3
+ErrorControl=1
+ServiceBinary=%12%\%DRIVERFILENAME%.sys
+
+
+;------------------------------------------------------------------------------
+; Vendor and Product ID Definitions
+;------------------------------------------------------------------------------
+; When developing your USB device, the VID and PID used in the PC side
+; application program and the firmware on the microcontroller must match.
+; Modify the below line to use your VID and PID. Use the format as shown below.
+; Note: One INF file can be used for multiple devices with different VID and PIDs.
+; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
+;------------------------------------------------------------------------------
+[SourceDisksFiles]
+[SourceDisksNames]
+[DeviceList]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
+
+[DeviceList.NTamd64]
+%DESCRIPTION%=DriverInstall, USB\VID_03EB&PID_2044
+
+
+;------------------------------------------------------------------------------
+; String Definitions
+;------------------------------------------------------------------------------
+;Modify these strings to customize your device
+;------------------------------------------------------------------------------
+[Strings]
+MFGFILENAME="CDC_vista"
+DRIVERFILENAME ="usbser"
+MFGNAME="http://www.lufa-lib.org"
+INSTDISK="LUFA CDC Driver Installer"
+DESCRIPTION="Communications Port"
+SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file
diff --git a/firmware/LUFA/CodeTemplates/DriverStubs/Buttons.h b/firmware/LUFA/CodeTemplates/DriverStubs/Buttons.h
new file mode 100644
index 0000000..33f963f
--- /dev/null
+++ b/firmware/LUFA/CodeTemplates/DriverStubs/Buttons.h
@@ -0,0 +1,86 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/*
+ This is a stub driver header file, for implementing custom board
+ layout hardware with compatible LUFA board specific drivers. If
+ the library is configured to use the BOARD_USER board mode, this
+ driver file should be completed and copied into the "/Board/" folder
+ inside the application's folder.
+
+ This stub is for the board-specific component of the LUFA Buttons driver,
+ for the control of physical board-mounted GPIO pushbuttons.
+*/
+
+#ifndef __BUTTONS_USER_H__
+#define __BUTTONS_USER_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ // TODO: Add any required includes here
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 // TODO: Add mask for first board button here
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ // TODO: Initialize the appropriate port pins as an inputs here, with pull-ups
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ // TODO: Return current button status here, debounced if required
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
diff --git a/firmware/LUFA/CodeTemplates/DriverStubs/Dataflash.h b/firmware/LUFA/CodeTemplates/DriverStubs/Dataflash.h
new file mode 100644
index 0000000..e07117f
--- /dev/null
+++ b/firmware/LUFA/CodeTemplates/DriverStubs/Dataflash.h
@@ -0,0 +1,186 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/*
+ This is a stub driver header file, for implementing custom board
+ layout hardware with compatible LUFA board specific drivers. If
+ the library is configured to use the BOARD_USER board mode, this
+ driver file should be completed and copied into the "/Board/" folder
+ inside the application's folder.
+
+ This stub is for the board-specific component of the LUFA Dataflash
+ driver.
+*/
+
+#ifndef __DATAFLASH_USER_H__
+#define __DATAFLASH_USER_H__
+
+ /* Includes: */
+ // TODO: Add any required includes here
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_DATAFLASH_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Dataflash.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define DATAFLASH_CHIPCS_MASK // TODO: Replace this with a mask of all the /CS pins of all Dataflashes
+ #define DATAFLASH_CHIPCS_DDR // TODO: Replace with the DDR register name for the board's Dataflash ICs
+ #define DATAFLASH_CHIPCS_PORT // TODO: Replace with the PORT register name for the board's Dataflash ICs
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Constant indicating the total number of dataflash ICs mounted on the selected board. */
+ #define DATAFLASH_TOTALCHIPS 1 // TODO: Replace with the number of Dataflashes on the board, max 2
+
+ /** Mask for no dataflash chip selected. */
+ #define DATAFLASH_NO_CHIP DATAFLASH_CHIPCS_MASK
+
+ /** Mask for the first dataflash chip selected. */
+ #define DATAFLASH_CHIP1 // TODO: Replace with mask to hold /CS of first Dataflash low, and all others high
+
+ /** Mask for the second dataflash chip selected. */
+ #define DATAFLASH_CHIP2 // TODO: Replace with mask to hold /CS of second Dataflash low, and all others high
+
+ /** Internal main memory page size for the board's dataflash ICs. */
+ #define DATAFLASH_PAGE_SIZE // TODO: Replace with the page size for the Dataflash ICs
+
+ /** Total number of pages inside each of the board's dataflash ICs. */
+ #define DATAFLASH_PAGES // TODO: Replace with the total number of pages inside one of the Dataflash ICs
+
+ /* Inline Functions: */
+ /** Initialises the dataflash driver so that commands and data may be sent to an attached dataflash IC.
+ * The AVR's SPI driver MUST be initialized before any of the dataflash commands are used.
+ */
+ static inline void Dataflash_Init(void)
+ {
+ DATAFLASH_CHIPCS_DDR |= DATAFLASH_CHIPCS_MASK;
+ DATAFLASH_CHIPCS_PORT |= DATAFLASH_CHIPCS_MASK;
+ }
+
+ /** Determines the currently selected dataflash chip.
+ *
+ * \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
+ * or a DATAFLASH_CHIPn mask (where n is the chip number).
+ */
+ static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Dataflash_GetSelectedChip(void)
+ {
+ return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
+ }
+
+ /** Selects the given dataflash chip.
+ *
+ * \param[in] ChipMask Mask of the Dataflash IC to select, in the form of DATAFLASH_CHIPn mask (where n is
+ * the chip number).
+ */
+ static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
+ static inline void Dataflash_SelectChip(const uint8_t ChipMask)
+ {
+ DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask);
+ }
+
+ /** Deselects the current dataflash chip, so that no dataflash is selected. */
+ static inline void Dataflash_DeselectChip(void) ATTR_ALWAYS_INLINE;
+ static inline void Dataflash_DeselectChip(void)
+ {
+ Dataflash_SelectChip(DATAFLASH_NO_CHIP);
+ }
+
+ /** Selects a dataflash IC from the given page number, which should range from 0 to
+ * ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1). For boards containing only one
+ * dataflash IC, this will select DATAFLASH_CHIP1. If the given page number is outside
+ * the total number of pages contained in the boards dataflash ICs, all dataflash ICs
+ * are deselected.
+ *
+ * \param[in] PageAddress Address of the page to manipulate, ranging from
+ * ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1).
+ */
+ static inline void Dataflash_SelectChipFromPage(const uint16_t PageAddress)
+ {
+ Dataflash_DeselectChip();
+
+ if (PageAddress >= (DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS))
+ return;
+
+ #if (DATAFLASH_TOTALCHIPS == 2)
+ if (PageAddress & 0x01)
+ Dataflash_SelectChip(DATAFLASH_CHIP2);
+ else
+ Dataflash_SelectChip(DATAFLASH_CHIP1);
+ #else
+ Dataflash_SelectChip(DATAFLASH_CHIP1);
+ #endif
+ }
+
+ /** Toggles the select line of the currently selected dataflash IC, so that it is ready to receive
+ * a new command.
+ */
+ static inline void Dataflash_ToggleSelectedChipCS(void)
+ {
+ uint8_t SelectedChipMask = Dataflash_GetSelectedChip();
+
+ Dataflash_DeselectChip();
+ Dataflash_SelectChip(SelectedChipMask);
+ }
+
+ /** Spin-loops while the currently selected dataflash is busy executing a command, such as a main
+ * memory page program or main memory to buffer transfer.
+ */
+ static inline void Dataflash_WaitWhileBusy(void)
+ {
+ Dataflash_ToggleSelectedChipCS();
+ Dataflash_SendByte(DF_CMD_GETSTATUS);
+ while (!(Dataflash_ReceiveByte() & DF_STATUS_READY));
+ Dataflash_ToggleSelectedChipCS();
+ }
+
+ /** Sends a set of page and buffer address bytes to the currently selected dataflash IC, for use with
+ * dataflash commands which require a complete 24-byte address.
+ *
+ * \param[in] PageAddress Page address within the selected dataflash IC
+ * \param[in] BufferByte Address within the dataflash's buffer
+ */
+ static inline void Dataflash_SendAddressBytes(uint16_t PageAddress, const uint16_t BufferByte)
+ {
+ #if (DATAFLASH_TOTALCHIPS == 2)
+ PageAddress >>= 1;
+ #endif
+
+ Dataflash_SendByte(PageAddress >> 5);
+ Dataflash_SendByte((PageAddress << 3) | (BufferByte >> 8));
+ Dataflash_SendByte(BufferByte);
+ }
+
+#endif
+
diff --git a/firmware/LUFA/CodeTemplates/DriverStubs/Joystick.h b/firmware/LUFA/CodeTemplates/DriverStubs/Joystick.h
new file mode 100644
index 0000000..f542fa3
--- /dev/null
+++ b/firmware/LUFA/CodeTemplates/DriverStubs/Joystick.h
@@ -0,0 +1,98 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/*
+ This is a stub driver header file, for implementing custom board
+ layout hardware with compatible LUFA board specific drivers. If
+ the library is configured to use the BOARD_USER board mode, this
+ driver file should be completed and copied into the "/Board/" folder
+ inside the application's folder.
+
+ This stub is for the board-specific component of the LUFA Joystick
+ driver, a small surface mount four-way (plus button) digital joystick
+ on most USB AVR boards.
+*/
+
+#ifndef __JOYSTICK_USER_H__
+#define __JOYSTICK_USER_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ // TODO: Add any required includes here
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_JOYSTICK_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Joystick.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Mask for the joystick being pushed in the left direction. */
+ #define JOY_LEFT // TODO: Add mask to indicate joystick left position here
+
+ /** Mask for the joystick being pushed in the right direction. */
+ #define JOY_RIGHT // TODO: Add mask to indicate joystick right position here
+
+ /** Mask for the joystick being pushed in the upward direction. */
+ #define JOY_UP // TODO: Add mask to indicate joystick up position here
+
+ /** Mask for the joystick being pushed in the downward direction. */
+ #define JOY_DOWN // TODO: Add mask to indicate joystick down position here
+
+ /** Mask for the joystick being pushed inward. */
+ #define JOY_PRESS // TODO: Add mask to indicate joystick pressed position here
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Joystick_Init(void)
+ {
+ // TODO: Initialize joystick port pins as inputs with pull-ups
+ }
+
+ static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Joystick_GetStatus(void)
+ {
+ // TODO: Return current joystick position data which can be obtained by masking against the JOY_* macros
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
diff --git a/firmware/LUFA/CodeTemplates/DriverStubs/LEDs.h b/firmware/LUFA/CodeTemplates/DriverStubs/LEDs.h
new file mode 100644
index 0000000..46309a1
--- /dev/null
+++ b/firmware/LUFA/CodeTemplates/DriverStubs/LEDs.h
@@ -0,0 +1,125 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/*
+ This is a stub driver header file, for implementing custom board
+ layout hardware with compatible LUFA board specific drivers. If
+ the library is configured to use the BOARD_USER board mode, this
+ driver file should be completed and copied into the "/Board/" folder
+ inside the application's folder.
+
+ This stub is for the board-specific component of the LUFA LEDs driver,
+ for the LEDs (up to four) mounted on most USB AVR boards.
+*/
+
+#ifndef __LEDS_USER_H__
+#define __LEDS_USER_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ // TODO: Add any required includes here
+
+/* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 // TODO: Add mask for first board LED here
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 // TODO: Add mask for second board LED here
+
+ /** LED mask for the third LED on the board. */
+ #define LEDS_LED3 // TODO: Add mask for third board LED here
+
+ /** LED mask for the fourth LED on the board. */
+ #define LEDS_LED4 // TODO: Add mask for fourth board LED here
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2 | LEDS_LED3 | LEDS_LED4)
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ // TODO: Add code to initialize LED port pins as outputs here
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ // TODO: Add code to turn on LEDs given in the LEDMask mask here, leave others as-is
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ // TODO: Add code to turn off LEDs given in the LEDMask mask here, leave others as-is
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ // TODO: Add code to turn on only LEDs given in the LEDMask mask here, all others off
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask, const uint8_t ActiveMask)
+ {
+ // TODO: Add code to set the Leds in the given LEDMask to the status given in ActiveMask here
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ // TODO: Add code to toggle the Leds in the given LEDMask, ignoring all others
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ // TODO: Add code to return the current LEDs status' here which can be masked against LED_LED* macros
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
diff --git a/firmware/LUFA/CodeTemplates/makefile_template b/firmware/LUFA/CodeTemplates/makefile_template
new file mode 100644
index 0000000..33b47e0
--- /dev/null
+++ b/firmware/LUFA/CodeTemplates/makefile_template
@@ -0,0 +1,707 @@
+# Hey Emacs, this is a -*- makefile -*-
+#----------------------------------------------------------------------------
+# WinAVR Makefile Template written by Eric B. Weddington, Jörg Wunsch, et al.
+# >> Modified for use with the LUFA project. <<
+#
+# Released to the Public Domain
+#
+# Additional material for this makefile was written by:
+# Peter Fleury
+# Tim Henigan
+# Colin O'Flynn
+# Reiner Patommel
+# Markus Pfaff
+# Sander Pool
+# Frederik Rouleau
+# Carlos Lamas
+# Dean Camera
+# Opendous Inc.
+# Denver Gingerich
+#
+#----------------------------------------------------------------------------
+# On command line:
+#
+# make all = Make software.
+#
+# make clean = Clean out built project files.
+#
+# make coff = Convert ELF to AVR COFF.
+#
+# make extcoff = Convert ELF to AVR Extended COFF.
+#
+# make program = Download the hex file to the device, using avrdude.
+# Please customize the avrdude settings below first!
+#
+# make dfu = Download the hex file to the device, using dfu-programmer (must
+# have dfu-programmer installed).
+#
+# make flip = Download the hex file to the device, using Atmel FLIP (must
+# have Atmel FLIP installed).
+#
+# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
+# (must have dfu-programmer installed).
+#
+# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
+# (must have Atmel FLIP installed).
+#
+# make doxygen = Generate DoxyGen documentation for the project (must have
+# DoxyGen installed)
+#
+# make debug = Start either simulavr or avarice as specified for debugging,
+# with avr-gdb or avr-insight as the front end for debugging.
+#
+# make filename.s = Just compile filename.c into the assembler code only.
+#
+# make filename.i = Create a preprocessed source file for use in submitting
+# bug reports to the GCC project.
+#
+# To rebuild project do "make clean" then "make all".
+#----------------------------------------------------------------------------
+
+
+# MCU name
+MCU = ### INSERT NAME OF MICROCONTROLLER MODEL HERE ###
+
+
+# Target board (see library "Board Types" documentation, NONE for projects not requiring
+# LUFA board drivers). If USER is selected, put custom board drivers in a directory called
+# "Board" inside the application directory.
+BOARD = ### INSERT NAME OF BOARD HERE, OR NONE IF NO BOARD DRIVERS USED ###
+
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_CLOCK below, as it is sourced by
+# F_CLOCK after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = ### INSERT PRESCALED SYSTEM CLOCK SPEED HERE, IN HZ ###
+
+
+# Input clock frequency.
+# This will define a symbol, F_CLOCK, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_CLOCK = ### INSERT RAW INPUT CLOCK SPEED HERE, IN HZ ###
+
+
+# Output format. (can be srec, ihex, binary)
+FORMAT = ihex
+
+
+# Target file name (without extension).
+TARGET = ### INSERT NAME OF MAIN FILENAME HERE, WITHOUT EXTENSION ###
+
+
+# Object files directory
+# To put object files in current directory, use a dot (.), do NOT make
+# this an empty or blank macro!
+OBJDIR = .
+
+
+# Path to the LUFA library
+LUFA_PATH = ### INSERT PATH TO LUFA LIBRARY RELATIVE TO PROJECT DIRECTORY HERE ###
+
+
+# LUFA library compile-time options and predefined tokens (add '-D' before each token)
+LUFA_OPTS = ### INSERT LUFA COMPILE TIME TOKES HERE ###
+
+
+# Create the LUFA source path variables by including the LUFA root makefile
+include $(LUFA_PATH)/LUFA/makefile
+
+
+# List C source files here. (C dependencies are automatically generated.)
+SRC = $(TARGET).c \
+ $(LUFA_SRC_USB) \
+ $(LUFA_SRC_USBCLASS)
+ ### INSERT ADDITIONAL PROJECT SOURCE FILENAMES OR LUFA MODULE NAMES HERE ###
+
+# List C++ source files here. (C dependencies are automatically generated.)
+CPPSRC =
+
+
+# List Assembler source files here.
+# Make them always end in a capital .S. Files ending in a lowercase .s
+# will not be considered source files but generated files (assembler
+# output from the compiler), and will be deleted upon "make clean"!
+# Even though the DOS/Win* filesystem matches both .s and .S the same,
+# it will preserve the spelling of the filenames, and gcc itself does
+# care about how the name is spelled on its command-line.
+ASRC =
+
+
+# Optimization level, can be [0, 1, 2, 3, s].
+# 0 = turn off optimization. s = optimize for size.
+# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
+OPT = s
+
+
+# Debugging format.
+# Native formats for AVR-GCC's -g are dwarf-2 [default] or stabs.
+# AVR Studio 4.10 requires dwarf-2.
+# AVR [Extended] COFF format requires stabs, plus an avr-objcopy run.
+DEBUG = dwarf-2
+
+
+# List any extra directories to look for include files here.
+# Each directory must be seperated by a space.
+# Use forward slashes for directory separators.
+# For a directory that has spaces, enclose it in quotes.
+EXTRAINCDIRS = $(LUFA_PATH)/
+
+
+# Compiler flag to set the C Standard level.
+# c89 = "ANSI" C
+# gnu89 = c89 plus GCC extensions
+# c99 = ISO C99 standard (not yet fully implemented)
+# gnu99 = c99 plus GCC extensions
+CSTANDARD = -std=c99
+
+
+# Place -D or -U options here for C sources
+CDEFS = -DF_CPU=$(F_CPU)UL
+CDEFS += -DF_CLOCK=$(F_CLOCK)UL
+CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += $(LUFA_OPTS)
+
+
+# Place -D or -U options here for ASM sources
+ADEFS = -DF_CPU=$(F_CPU)
+ADEFS += -DF_CLOCK=$(F_CLOCK)UL
+ADEFS += -DBOARD=BOARD_$(BOARD)
+ADEFS += $(LUFA_OPTS)
+
+# Place -D or -U options here for C++ sources
+CPPDEFS = -DF_CPU=$(F_CPU)UL
+CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
+CPPDEFS += -DBOARD=BOARD_$(BOARD)
+CPPDEFS += $(LUFA_OPTS)
+#CPPDEFS += -D__STDC_LIMIT_MACROS
+#CPPDEFS += -D__STDC_CONSTANT_MACROS
+
+
+
+#---------------- Compiler Options C ----------------
+# -g*: generate debugging information
+# -O*: optimization level
+# -f...: tuning, see GCC manual and avr-libc documentation
+# -Wall...: warning level
+# -Wa,...: tell GCC to pass this to the assembler.
+# -adhlns...: create assembler listing
+CFLAGS = -g$(DEBUG)
+CFLAGS += $(CDEFS)
+CFLAGS += -O$(OPT)
+CFLAGS += -funsigned-char
+CFLAGS += -funsigned-bitfields
+CFLAGS += -ffunction-sections
+CFLAGS += -fno-inline-small-functions
+CFLAGS += -fpack-struct
+CFLAGS += -fshort-enums
+CFLAGS += -fno-strict-aliasing
+CFLAGS += -Wall
+CFLAGS += -Wstrict-prototypes
+#CFLAGS += -mshort-calls
+#CFLAGS += -fno-unit-at-a-time
+#CFLAGS += -Wundef
+#CFLAGS += -Wunreachable-code
+#CFLAGS += -Wsign-compare
+CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
+CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
+CFLAGS += $(CSTANDARD)
+
+
+#---------------- Compiler Options C++ ----------------
+# -g*: generate debugging information
+# -O*: optimization level
+# -f...: tuning, see GCC manual and avr-libc documentation
+# -Wall...: warning level
+# -Wa,...: tell GCC to pass this to the assembler.
+# -adhlns...: create assembler listing
+CPPFLAGS = -g$(DEBUG)
+CPPFLAGS += $(CPPDEFS)
+CPPFLAGS += -O$(OPT)
+CPPFLAGS += -funsigned-char
+CPPFLAGS += -funsigned-bitfields
+CPPFLAGS += -fpack-struct
+CPPFLAGS += -fshort-enums
+CPPFLAGS += -fno-exceptions
+CPPFLAGS += -Wall
+CPPFLAGS += -Wundef
+#CPPFLAGS += -mshort-calls
+#CPPFLAGS += -fno-unit-at-a-time
+#CPPFLAGS += -Wstrict-prototypes
+#CPPFLAGS += -Wunreachable-code
+#CPPFLAGS += -Wsign-compare
+CPPFLAGS += -Wa,-adhlns=$(<:%.cpp=$(OBJDIR)/%.lst)
+CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
+#CPPFLAGS += $(CSTANDARD)
+
+
+#---------------- Assembler Options ----------------
+# -Wa,...: tell GCC to pass this to the assembler.
+# -adhlns: create listing
+# -gstabs: have the assembler create line number information; note that
+# for use in COFF files, additional information about filenames
+# and function names needs to be present in the assembler source
+# files -- see avr-libc docs [FIXME: not yet described there]
+# -listing-cont-lines: Sets the maximum number of continuation lines of hex
+# dump that will be displayed for a given single line of source input.
+ASFLAGS = $(ADEFS) -Wa,-adhlns=$(<:%.S=$(OBJDIR)/%.lst),-gstabs,--listing-cont-lines=100
+
+
+#---------------- Library Options ----------------
+# Minimalistic printf version
+PRINTF_LIB_MIN = -Wl,-u,vfprintf -lprintf_min
+
+# Floating point printf version (requires MATH_LIB = -lm below)
+PRINTF_LIB_FLOAT = -Wl,-u,vfprintf -lprintf_flt
+
+# If this is left blank, then it will use the Standard printf version.
+PRINTF_LIB =
+#PRINTF_LIB = $(PRINTF_LIB_MIN)
+#PRINTF_LIB = $(PRINTF_LIB_FLOAT)
+
+
+# Minimalistic scanf version
+SCANF_LIB_MIN = -Wl,-u,vfscanf -lscanf_min
+
+# Floating point + %[ scanf version (requires MATH_LIB = -lm below)
+SCANF_LIB_FLOAT = -Wl,-u,vfscanf -lscanf_flt
+
+# If this is left blank, then it will use the Standard scanf version.
+SCANF_LIB =
+#SCANF_LIB = $(SCANF_LIB_MIN)
+#SCANF_LIB = $(SCANF_LIB_FLOAT)
+
+
+MATH_LIB = -lm
+
+
+# List any extra directories to look for libraries here.
+# Each directory must be seperated by a space.
+# Use forward slashes for directory separators.
+# For a directory that has spaces, enclose it in quotes.
+EXTRALIBDIRS =
+
+
+
+#---------------- External Memory Options ----------------
+
+# 64 KB of external RAM, starting after internal RAM (ATmega128!),
+# used for variables (.data/.bss) and heap (malloc()).
+#EXTMEMOPTS = -Wl,-Tdata=0x801100,--defsym=__heap_end=0x80ffff
+
+# 64 KB of external RAM, starting after internal RAM (ATmega128!),
+# only used for heap (malloc()).
+#EXTMEMOPTS = -Wl,--section-start,.data=0x801100,--defsym=__heap_end=0x80ffff
+
+EXTMEMOPTS =
+
+
+
+#---------------- Linker Options ----------------
+# -Wl,...: tell GCC to pass this to linker.
+# -Map: create map file
+# --cref: add cross reference to map file
+LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
+LDFLAGS += -Wl,--relax
+LDFLAGS += -Wl,--gc-sections
+LDFLAGS += $(EXTMEMOPTS)
+LDFLAGS += $(patsubst %,-L%,$(EXTRALIBDIRS))
+LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
+#LDFLAGS += -T linker_script.x
+
+
+
+#---------------- Programming Options (avrdude) ----------------
+
+# Programming hardware
+# Type: avrdude -c ?
+# to get a full listing.
+#
+AVRDUDE_PROGRAMMER = jtagmkII
+
+# com1 = serial port. Use lpt1 to connect to parallel port.
+AVRDUDE_PORT = usb
+
+AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
+#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
+
+
+# Uncomment the following if you want avrdude's erase cycle counter.
+# Note that this counter needs to be initialized first using -Yn,
+# see avrdude manual.
+#AVRDUDE_ERASE_COUNTER = -y
+
+# Uncomment the following if you do /not/ wish a verification to be
+# performed after programming the device.
+#AVRDUDE_NO_VERIFY = -V
+
+# Increase verbosity level. Please use this when submitting bug
+# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
+# to submit bug reports.
+#AVRDUDE_VERBOSE = -v -v
+
+AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
+AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
+AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
+AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)
+
+
+
+#---------------- Debugging Options ----------------
+
+# For simulavr only - target MCU frequency.
+DEBUG_MFREQ = $(F_CPU)
+
+# Set the DEBUG_UI to either gdb or insight.
+# DEBUG_UI = gdb
+DEBUG_UI = insight
+
+# Set the debugging back-end to either avarice, simulavr.
+DEBUG_BACKEND = avarice
+#DEBUG_BACKEND = simulavr
+
+# GDB Init Filename.
+GDBINIT_FILE = __avr_gdbinit
+
+# When using avarice settings for the JTAG
+JTAG_DEV = /dev/com1
+
+# Debugging port used to communicate between GDB / avarice / simulavr.
+DEBUG_PORT = 4242
+
+# Debugging host used to communicate between GDB / avarice / simulavr, normally
+# just set to localhost unless doing some sort of crazy debugging when
+# avarice is running on a different computer.
+DEBUG_HOST = localhost
+
+
+
+#============================================================================
+
+
+# Define programs and commands.
+SHELL = sh
+CC = avr-gcc
+OBJCOPY = avr-objcopy
+OBJDUMP = avr-objdump
+SIZE = avr-size
+AR = avr-ar rcs
+NM = avr-nm
+AVRDUDE = avrdude
+REMOVE = rm -f
+REMOVEDIR = rm -rf
+COPY = cp
+WINSHELL = cmd
+
+
+# Define Messages
+# English
+MSG_ERRORS_NONE = Errors: none
+MSG_BEGIN = -------- begin --------
+MSG_END = -------- end --------
+MSG_SIZE_BEFORE = Size before:
+MSG_SIZE_AFTER = Size after:
+MSG_COFF = Converting to AVR COFF:
+MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
+MSG_FLASH = Creating load file for Flash:
+MSG_EEPROM = Creating load file for EEPROM:
+MSG_EXTENDED_LISTING = Creating Extended Listing:
+MSG_SYMBOL_TABLE = Creating Symbol Table:
+MSG_LINKING = Linking:
+MSG_COMPILING = Compiling C:
+MSG_COMPILING_CPP = Compiling C++:
+MSG_ASSEMBLING = Assembling:
+MSG_CLEANING = Cleaning project:
+MSG_CREATING_LIBRARY = Creating library:
+
+
+
+
+# Define all object files.
+OBJ = $(SRC:%.c=$(OBJDIR)/%.o) $(CPPSRC:%.cpp=$(OBJDIR)/%.o) $(ASRC:%.S=$(OBJDIR)/%.o)
+
+# Define all listing files.
+LST = $(SRC:%.c=$(OBJDIR)/%.lst) $(CPPSRC:%.cpp=$(OBJDIR)/%.lst) $(ASRC:%.S=$(OBJDIR)/%.lst)
+
+
+# Compiler flags to generate dependency files.
+GENDEPFLAGS = -MMD -MP -MF .dep/$(@F).d
+
+
+# Combine all necessary flags and optional flags.
+# Add target processor to flags.
+ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) $(GENDEPFLAGS)
+ALL_CPPFLAGS = -mmcu=$(MCU) -I. -x c++ $(CPPFLAGS) $(GENDEPFLAGS)
+ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
+
+
+
+
+
+# Default target.
+all: begin gccversion sizebefore build sizeafter end
+
+# Change the build target to build a HEX file or a library.
+build: elf hex eep lss sym
+#build: lib
+
+
+elf: $(TARGET).elf
+hex: $(TARGET).hex
+eep: $(TARGET).eep
+lss: $(TARGET).lss
+sym: $(TARGET).sym
+LIBNAME=lib$(TARGET).a
+lib: $(LIBNAME)
+
+
+
+# Eye candy.
+# AVR Studio 3.x does not check make's exit code but relies on
+# the following magic strings to be generated by the compile job.
+begin:
+ @echo
+ @echo $(MSG_BEGIN)
+
+end:
+ @echo $(MSG_END)
+ @echo
+
+
+# Display size of file.
+HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
+ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf
+MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
+FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
+
+
+sizebefore:
+ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
+ 2>/dev/null; echo; fi
+
+sizeafter:
+ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
+ 2>/dev/null; echo; fi
+
+
+
+# Display compiler version information.
+gccversion :
+ @$(CC) --version
+
+
+# Program the device.
+program: $(TARGET).hex $(TARGET).eep
+ $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
+
+flip: $(TARGET).hex
+ batchisp -hardware usb -device $(MCU) -operation erase f
+ batchisp -hardware usb -device $(MCU) -operation loadbuffer $(TARGET).hex program
+ batchisp -hardware usb -device $(MCU) -operation start reset 0
+
+dfu: $(TARGET).hex
+ dfu-programmer $(MCU) erase
+ dfu-programmer $(MCU) flash $(TARGET).hex
+ dfu-programmer $(MCU) reset
+
+flip-ee: $(TARGET).hex $(TARGET).eep
+ $(COPY) $(TARGET).eep $(TARGET)eep.hex
+ batchisp -hardware usb -device $(MCU) -operation memory EEPROM erase
+ batchisp -hardware usb -device $(MCU) -operation memory EEPROM loadbuffer $(TARGET)eep.hex program
+ batchisp -hardware usb -device $(MCU) -operation start reset 0
+ $(REMOVE) $(TARGET)eep.hex
+
+dfu-ee: $(TARGET).hex $(TARGET).eep
+ dfu-programmer $(MCU) eeprom-flash $(TARGET).eep
+ dfu-programmer $(MCU) reset
+
+
+# Generate avr-gdb config/init file which does the following:
+# define the reset signal, load the target file, connect to target, and set
+# a breakpoint at main().
+gdb-config:
+ @$(REMOVE) $(GDBINIT_FILE)
+ @echo define reset >> $(GDBINIT_FILE)
+ @echo SIGNAL SIGHUP >> $(GDBINIT_FILE)
+ @echo end >> $(GDBINIT_FILE)
+ @echo file $(TARGET).elf >> $(GDBINIT_FILE)
+ @echo target remote $(DEBUG_HOST):$(DEBUG_PORT) >> $(GDBINIT_FILE)
+ifeq ($(DEBUG_BACKEND),simulavr)
+ @echo load >> $(GDBINIT_FILE)
+endif
+ @echo break main >> $(GDBINIT_FILE)
+
+debug: gdb-config $(TARGET).elf
+ifeq ($(DEBUG_BACKEND), avarice)
+ @echo Starting AVaRICE - Press enter when "waiting to connect" message displays.
+ @$(WINSHELL) /c start avarice --jtag $(JTAG_DEV) --erase --program --file \
+ $(TARGET).elf $(DEBUG_HOST):$(DEBUG_PORT)
+ @$(WINSHELL) /c pause
+
+else
+ @$(WINSHELL) /c start simulavr --gdbserver --device $(MCU) --clock-freq \
+ $(DEBUG_MFREQ) --port $(DEBUG_PORT)
+endif
+ @$(WINSHELL) /c start avr-$(DEBUG_UI) --command=$(GDBINIT_FILE)
+
+
+
+
+# Convert ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
+COFFCONVERT = $(OBJCOPY) --debugging
+COFFCONVERT += --change-section-address .data-0x800000
+COFFCONVERT += --change-section-address .bss-0x800000
+COFFCONVERT += --change-section-address .noinit-0x800000
+COFFCONVERT += --change-section-address .eeprom-0x810000
+
+
+
+coff: $(TARGET).elf
+ @echo
+ @echo $(MSG_COFF) $(TARGET).cof
+ $(COFFCONVERT) -O coff-avr $< $(TARGET).cof
+
+
+extcoff: $(TARGET).elf
+ @echo
+ @echo $(MSG_EXTENDED_COFF) $(TARGET).cof
+ $(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof
+
+
+
+# Create final output files (.hex, .eep) from ELF output file.
+%.hex: %.elf
+ @echo
+ @echo $(MSG_FLASH) $@
+ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
+
+%.eep: %.elf
+ @echo
+ @echo $(MSG_EEPROM) $@
+ -$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
+ --change-section-lma .eeprom=0 --no-change-warnings -O $(FORMAT) $< $@ || exit 0
+
+# Create extended listing file from ELF output file.
+%.lss: %.elf
+ @echo
+ @echo $(MSG_EXTENDED_LISTING) $@
+ $(OBJDUMP) -h -S -z $< > $@
+
+# Create a symbol table from ELF output file.
+%.sym: %.elf
+ @echo
+ @echo $(MSG_SYMBOL_TABLE) $@
+ $(NM) -n $< > $@
+
+
+
+# Create library from object files.
+.SECONDARY : $(TARGET).a
+.PRECIOUS : $(OBJ)
+%.a: $(OBJ)
+ @echo
+ @echo $(MSG_CREATING_LIBRARY) $@
+ $(AR) $@ $(OBJ)
+
+
+# Link: create ELF output file from object files.
+.SECONDARY : $(TARGET).elf
+.PRECIOUS : $(OBJ)
+%.elf: $(OBJ)
+ @echo
+ @echo $(MSG_LINKING) $@
+ $(CC) $(ALL_CFLAGS) $^ --output $@ $(LDFLAGS)
+
+
+# Compile: create object files from C source files.
+$(OBJDIR)/%.o : %.c
+ @echo
+ @echo $(MSG_COMPILING) $<
+ $(CC) -c $(ALL_CFLAGS) $< -o $@
+
+
+# Compile: create object files from C++ source files.
+$(OBJDIR)/%.o : %.cpp
+ @echo
+ @echo $(MSG_COMPILING_CPP) $<
+ $(CC) -c $(ALL_CPPFLAGS) $< -o $@
+
+
+# Compile: create assembler files from C source files.
+%.s : %.c
+ $(CC) -S $(ALL_CFLAGS) $< -o $@
+
+
+# Compile: create assembler files from C++ source files.
+%.s : %.cpp
+ $(CC) -S $(ALL_CPPFLAGS) $< -o $@
+
+
+# Assemble: create object files from assembler source files.
+$(OBJDIR)/%.o : %.S
+ @echo
+ @echo $(MSG_ASSEMBLING) $<
+ $(CC) -c $(ALL_ASFLAGS) $< -o $@
+
+
+# Create preprocessed source for use in sending a bug report.
+%.i : %.c
+ $(CC) -E -mmcu=$(MCU) -I. $(CFLAGS) $< -o $@
+
+
+# Target: clean project.
+clean: begin clean_list end
+
+clean_list :
+ @echo
+ @echo $(MSG_CLEANING)
+ $(REMOVE) $(TARGET).hex
+ $(REMOVE) $(TARGET).eep
+ $(REMOVE) $(TARGET).cof
+ $(REMOVE) $(TARGET).elf
+ $(REMOVE) $(TARGET).map
+ $(REMOVE) $(TARGET).sym
+ $(REMOVE) $(TARGET).lss
+ $(REMOVE) $(SRC:%.c=$(OBJDIR)/%.o) $(CPPSRC:%.cpp=$(OBJDIR)/%.o) $(ASRC:%.S=$(OBJDIR)/%.o)
+ $(REMOVE) $(SRC:%.c=$(OBJDIR)/%.lst) $(CPPSRC:%.cpp=$(OBJDIR)/%.lst) $(ASRC:%.S=$(OBJDIR)/%.lst)
+ $(REMOVE) $(SRC:.c=.s)
+ $(REMOVE) $(SRC:.c=.d)
+ $(REMOVE) $(SRC:.c=.i)
+ $(REMOVEDIR) .dep
+
+doxygen:
+ @echo Generating Project Documentation...
+ @doxygen Doxygen.conf
+ @echo Documentation Generation Complete.
+
+clean_doxygen:
+ rm -rf Documentation
+
+# Create object files directory
+$(shell mkdir $(OBJDIR) 2>/dev/null)
+
+
+# Include the dependency files.
+-include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)
+
+
+# Listing of phony targets.
+.PHONY : all begin finish end sizebefore sizeafter gccversion \
+build elf hex eep lss sym coff extcoff doxygen clean \
+clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
+debug gdb-config
diff --git a/firmware/LUFA/Common/Attributes.h b/firmware/LUFA/Common/Attributes.h
new file mode 100644
index 0000000..053a9b8
--- /dev/null
+++ b/firmware/LUFA/Common/Attributes.h
@@ -0,0 +1,139 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief AVR-GCC special function/variable attribute macros.
+ *
+ * This file contains macros for applying GCC specific attributes to functions and variables to control various
+ * optimiser and code generation features of the compiler. Attributes may be placed in the function prototype
+ * or variable declaration in any order, and multiple attributes can be specified for a single item via a space
+ * separated list.
+ *
+ * On incompatible versions of GCC or on other compilers, these macros evaluate to nothing unless they are
+ * critical to the code's function and thus must throw a compiler error when used.
+ *
+ * \note Do not include this file directly, rather include the Common.h header file instead to gain this file's
+ * functionality.
+ */
+
+/** \ingroup Group_Common
+ * @defgroup Group_GCCAttr Function/Variable Attributes
+ *
+ * Macros for easy access GCC function and variable attributes, which can be applied to function prototypes or
+ * variable attributes.
+ *
+ * @{
+ */
+
+#ifndef __FUNCATTR_H__
+#define __FUNCATTR_H__
+
+ /* Preprocessor Checks: */
+ #if !defined(__COMMON_H__)
+ #error Do not include this file directly. Include LUFA/Common/Common.h instead to gain this functionality.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ #if (__GNUC__ >= 3) || defined(__DOXYGEN__)
+ /** Indicates to the compiler that the function can not ever return, so that any stack restoring or
+ * return code may be omitted by the compiler in the resulting binary.
+ */
+ #define ATTR_NO_RETURN __attribute__ ((noreturn))
+
+ /** Indicates that the function returns a value which should not be ignored by the user code. When
+ * applied, any ignored return value from calling the function will produce a compiler warning.
+ */
+ #define ATTR_WARN_UNUSED_RESULT __attribute__ ((warn_unused_result))
+
+ /** Indicates that the specified parameters of the function are pointers which should never be NULL.
+ * When applied as a 1-based comma separated list the compiler will emit a warning if the specified
+ * parameters are known at compiler time to be NULL at the point of calling the function.
+ */
+ #define ATTR_NON_NULL_PTR_ARG(...) __attribute__ ((nonnull (__VA_ARGS__)))
+
+ /** Removes any preamble or postamble from the function. When used, the function will not have any
+ * register or stack saving code. This should be used with caution, and when used the programmer
+ * is responsible for maintaining stack and register integrity.
+ */
+ #define ATTR_NAKED __attribute__ ((naked))
+
+ /** Prevents the compiler from considering a specified function for inlining. When applied, the given
+ * function will not be inlined under any circumstances.
+ */
+ #define ATTR_NO_INLINE __attribute__ ((noinline))
+
+ /** Forces the compiler to inline the specified function. When applied, the given function will be
+ * inlined under all circumstances.
+ */
+ #define ATTR_ALWAYS_INLINE __attribute__ ((always_inline))
+
+ /** Indicates that the specified function is pure, in that it has no side-effects other than global
+ * or parameter variable access.
+ */
+ #define ATTR_PURE __attribute__ ((pure))
+
+ /** Indicates that the specified function is constant, in that it has no side effects other than
+ * parameter access.
+ */
+ #define ATTR_CONST __attribute__ ((const))
+
+ /** Marks a given function as deprecated, which produces a warning if the function is called. */
+ #define ATTR_DEPRECATED __attribute__ ((deprecated))
+
+ /** Marks a function as a weak reference, which can be overridden by other functions with an
+ * identical name (in which case the weak reference is discarded at link time).
+ */
+ #define ATTR_WEAK __attribute__ ((weak))
+
+ /** Forces the compiler to not automatically zero the given global variable on startup, so that the
+ * current RAM contents is retained. Under most conditions this value will be random due to the
+ * behaviour of volatile memory once power is removed, but may be used in some specific circumstances,
+ * like the passing of values back after a system watchdog reset.
+ */
+ #define ATTR_NO_INIT __attribute__ ((section (".noinit")))
+ #endif
+
+ /** Places the function in one of the initialization sections, which execute before the main function
+ * of the application. Refer to the avr-libc manual for more information on the initialization sections.
+ *
+ * \param[in] SectionIndex Initialization section number where the function should be placed.
+ */
+ #define ATTR_INIT_SECTION(SectionIndex) __attribute__ ((naked, section (".init" #SectionIndex )))
+
+ /** Marks a function as an alias for another function.
+ *
+ * \param[in] Func Name of the function which the given function name should alias.
+ */
+ #define ATTR_ALIAS(Func) __attribute__ ((alias( #Func )))
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Common/BoardTypes.h b/firmware/LUFA/Common/BoardTypes.h
new file mode 100644
index 0000000..7a9bb59
--- /dev/null
+++ b/firmware/LUFA/Common/BoardTypes.h
@@ -0,0 +1,151 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Supported board hardware defines.
+ *
+ * This file contains constants which can be passed to the compiler (via setting the macro BOARD) in the
+ * user project makefile using the -D option to configure the library board-specific drivers.
+ *
+ * \note Do not include this file directly, rather include the Common.h header file instead to gain this file's
+ * functionality.
+ */
+
+/** \ingroup Group_Common
+ * @defgroup Group_BoardTypes Board Types
+ *
+ * Macros for indicating the chosen physical board hardware to the library. These macros should be used when
+ * defining the BOARD token to the chosen hardware via the -D switch in the project makefile.
+ *
+ * @{
+ */
+
+#ifndef __BOARDTYPES_H__
+#define __BOARDTYPES_H__
+
+ /* Preprocessor Checks: */
+ #if !defined(__COMMON_H__)
+ #error Do not include this file directly. Include LUFA/Common/Common.h instead to gain this functionality.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Selects the USBKEY specific board drivers, including Temperature, Button, Dataflash, Joystick and LED drivers. */
+ #define BOARD_USBKEY 0
+
+ /** Selects the STK525 specific board drivers, including Temperature, Button, Dataflash, Joystick and LED drivers. */
+ #define BOARD_STK525 1
+
+ /** Selects the STK526 specific board drivers, including Temperature, Button, Dataflash, Joystick and LED drivers. */
+ #define BOARD_STK526 2
+
+ /** Selects the RZUSBSTICK specific board drivers, including the driver for the boards LEDs. */
+ #define BOARD_RZUSBSTICK 3
+
+ /** Selects the ATAVRUSBRF01 specific board drivers, including the driver for the board LEDs. */
+ #define BOARD_ATAVRUSBRF01 4
+
+ /** Selects the user-defined board drivers, which should be placed in the user project's folder
+ * under a directory named /Board/. Each board driver should be named identically to the LUFA
+ * master board driver (i.e., driver in the LUFA/Drivers/Board director) so that the library
+ * can correctly identify it.
+ */
+ #define BOARD_USER 5
+
+ /** Selects the BUMBLEB specific board drivers, using the officially recommended peripheral layout. */
+ #define BOARD_BUMBLEB 6
+
+ /** Selects the XPLAIN (Revision 2 or newer) specific board drivers, including LED and Dataflash driver. */
+ #define BOARD_XPLAIN 7
+
+ /** Selects the XPLAIN (Revision 1) specific board drivers, including LED and Dataflash driver. */
+ #define BOARD_XPLAIN_REV1 8
+
+ /** Selects the EVK527 specific board drivers, including Temperature, Button, Dataflash, Joystick and LED drivers. */
+ #define BOARD_EVK527 9
+
+ /** Disables board drivers when operation will not be adversely affected (e.g. LEDs) - use of board drivers
+ * such as the Joystick driver, where the removal would adversely affect the code's operation is still disallowed. */
+ #define BOARD_NONE 10
+
+ /** Selects the Teensy (all versions) specific board drivers, including the driver for the board LEDs. */
+ #define BOARD_TEENSY 11
+
+ /** Selects the USBTINY MKII specific board drivers, including the Button and LEDs drivers. */
+ #define BOARD_USBTINYMKII 12
+
+ /** Selects the Benito specific board drivers, including the Button and LEDs drivers. */
+ #define BOARD_BENITO 13
+
+ /** Selects the JM-DB-U2 specific board drivers, including the Button and LEDs drivers. */
+ #define BOARD_JMDBU2 14
+
+ /** Selects the Olimex AVR-USB-162 specific board drivers, including the Button and LEDs drivers. */
+ #define BOARD_OLIMEX162 15
+
+ /** Selects the UDIP specific board drivers, including the Button and LEDs drivers. */
+ #define BOARD_UDIP 16
+
+ /** Selects the BUI specific board drivers, including the driver for the board LEDs. */
+ #define BOARD_BUI 17
+
+ /** Selects the Arduino Uno specific board drivers, including the driver for the board LEDs. */
+ #define BOARD_UNO 18
+
+ /** Selects the CUL V3 specific board drivers, including the Button and LEDs drivers. */
+ #define BOARD_CULV3 19
+
+ /** Selects the Blackcat USB JTAG specific board drivers, including the driver for the board LEDs. */
+ #define BOARD_BLACKCAT 20
+
+ /** Selects the Maximus specific board drivers, including the driver for the board LEDs. */
+ #define BOARD_MAXIMUS 21
+
+ /** Selects the Minimus specific board drivers, including the Button and LEDs drivers. */
+ #define BOARD_MINIMUS 22
+
+ /** Selects the Adafruit U4 specific board drivers, including the Button driver. */
+ #define BOARD_ADAFRUITU4 23
+
+ /** Selects the Microsin AVR-USB162 specific board drivers, including the Button and LEDs drivers. */
+ #define BOARD_MICROSIN162 24
+
+ #if !defined(__DOXYGEN__)
+ #define BOARD_ BOARD_NONE
+
+ #if !defined(BOARD)
+ #define BOARD BOARD_NONE
+ #endif
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Common/Common.h b/firmware/LUFA/Common/Common.h
new file mode 100644
index 0000000..3c3fd0d
--- /dev/null
+++ b/firmware/LUFA/Common/Common.h
@@ -0,0 +1,253 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Common library convenience macros and functions.
+ *
+ * This file contains macros which are common to all library elements, and which may be useful in user code. It
+ * also includes other common headers, such as Atomic.h, Attributes.h and BoardTypes.h.
+ */
+
+/** @defgroup Group_Common Common Utility Headers - LUFA/Drivers/Common/Common.h
+ *
+ * Common utility headers containing macros, functions, enums and types which are common to all
+ * aspects of the library.
+ *
+ * @{
+ */
+
+/** @defgroup Group_Debugging Debugging Macros
+ *
+ * Macros for debugging use.
+ */
+
+/** @defgroup Group_BitManip Endian and Bit Macros
+ *
+ * Functions for swapping endianness and reversing bit orders.
+ */
+
+#ifndef __COMMON_H__
+#define __COMMON_H__
+
+ /* Includes: */
+ #include <stdint.h>
+ #include <stdbool.h>
+
+ #include "Attributes.h"
+ #include "BoardTypes.h"
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Macro for encasing other multi-statement macros. This should be used along with an opening brace
+ * before the start of any multi-statement macro, so that the macros contents as a whole are treated
+ * as a discrete block and not as a list of separate statements which may cause problems when used as
+ * a block (such as inline IF statements).
+ */
+ #define MACROS do
+
+ /** Macro for encasing other multi-statement macros. This should be used along with a preceding closing
+ * brace at the end of any multi-statement macro, so that the macros contents as a whole are treated
+ * as a discrete block and not as a list of separate statements which may cause problems when used as
+ * a block (such as inline IF statements).
+ */
+ #define MACROE while (0)
+
+ /** Defines a volatile NOP statement which cannot be optimized out by the compiler, and thus can always
+ * be set as a breakpoint in the resulting code. Useful for debugging purposes, where the optimiser
+ * removes/reorders code to the point where break points cannot reliably be set.
+ *
+ * \ingroup Group_Debugging
+ */
+ #define JTAG_DEBUG_POINT() __asm__ volatile ("NOP" ::)
+
+ /** Defines an explicit JTAG break point in the resulting binary via the ASM BREAK statement. When
+ * a JTAG is used, this causes the program execution to halt when reached until manually resumed.
+ *
+ * \ingroup Group_Debugging
+ */
+ #define JTAG_DEBUG_BREAK() __asm__ volatile ("BREAK" ::)
+
+ /** Macro for testing condition "x" and breaking via JTAG_DEBUG_BREAK() if the condition is false.
+ *
+ * \ingroup Group_Debugging
+ */
+ #define JTAG_DEBUG_ASSERT(x) MACROS{ if (!(x)) { JTAG_DEBUG_BREAK(); } }MACROE
+
+ /** Macro for testing condition "x" and writing debug data to the stdout stream if false. The stdout stream
+ * must be pre-initialized before this macro is run and linked to an output device, such as the AVR's USART
+ * peripheral.
+ *
+ * The output takes the form "{FILENAME}: Function {FUNCTION NAME}, Line {LINE NUMBER}: Assertion {x} failed."
+ *
+ * \ingroup Group_Debugging
+ */
+ #define STDOUT_ASSERT(x) MACROS{ if (!(x)) { printf_P(PSTR("%s: Function \"%s\", Line %d: " \
+ "Assertion \"%s\" failed.\r\n"), \
+ __FILE__, __func__, __LINE__, #x); } }MACROE
+
+ #if !defined(pgm_read_ptr) || defined(__DOXYGEN__)
+ /** Reads a pointer out of PROGMEM space. This is currently a wrapper for the avr-libc pgm_read_ptr()
+ * macro with a void* cast, so that its value can be assigned directly to a pointer variable or used
+ * in pointer arithmetic without further casting in C. In a future avr-libc distribution this will be
+ * part of the standard API and will be implemented in a more formal manner.
+ *
+ * \param[in] Addr Address of the pointer to read.
+ *
+ * \return Pointer retrieved from PROGMEM space.
+ */
+ #define pgm_read_ptr(Addr) (void*)pgm_read_word(Addr)
+ #endif
+
+ /** Swaps the byte ordering of a 16-bit value at compile time. Do not use this macro for swapping byte orderings
+ * of dynamic values computed at runtime, use \ref SwapEndian_16() instead. The result of this macro can be used
+ * inside struct or other variable initializers outside of a function, something that is not possible with the
+ * inline function variant.
+ *
+ * \param[in] x 16-bit value whose byte ordering is to be swapped.
+ *
+ * \return Input value with the byte ordering reversed.
+ */
+ #define SWAPENDIAN_16(x) ((((x) & 0xFF00) >> 8) | (((x) & 0x00FF) << 8))
+
+ /** Swaps the byte ordering of a 32-bit value at compile time. Do not use this macro for swapping byte orderings
+ * of dynamic values computed at runtime- use \ref SwapEndian_32() instead. The result of this macro can be used
+ * inside struct or other variable initializers outside of a function, something that is not possible with the
+ * inline function variant.
+ *
+ * \param[in] x 32-bit value whose byte ordering is to be swapped.
+ *
+ * \return Input value with the byte ordering reversed.
+ */
+ #define SWAPENDIAN_32(x) ((((x) & 0xFF000000UL) >> 24UL) | (((x) & 0x00FF0000UL) >> 8UL) | \
+ (((x) & 0x0000FF00UL) << 8UL) | (((x) & 0x000000FFUL) << 24UL))
+
+ /* Inline Functions: */
+ /** Function to reverse the individual bits in a byte - i.e. bit 7 is moved to bit 0, bit 6 to bit 1,
+ * etc.
+ *
+ * \ingroup Group_BitManip
+ *
+ * \param[in] Byte Byte of data whose bits are to be reversed.
+ */
+ static inline uint8_t BitReverse(uint8_t Byte) ATTR_WARN_UNUSED_RESULT ATTR_CONST;
+ static inline uint8_t BitReverse(uint8_t Byte)
+ {
+ Byte = (((Byte & 0xF0) >> 4) | ((Byte & 0x0F) << 4));
+ Byte = (((Byte & 0xCC) >> 2) | ((Byte & 0x33) << 2));
+ Byte = (((Byte & 0xAA) >> 1) | ((Byte & 0x55) << 1));
+
+ return Byte;
+ }
+
+ /** Function to reverse the byte ordering of the individual bytes in a 16 bit number.
+ *
+ * \ingroup Group_BitManip
+ *
+ * \param[in] Word Word of data whose bytes are to be swapped.
+ */
+ static inline uint16_t SwapEndian_16(const uint16_t Word) ATTR_WARN_UNUSED_RESULT ATTR_CONST;
+ static inline uint16_t SwapEndian_16(const uint16_t Word)
+ {
+ uint8_t Temp;
+
+ union
+ {
+ uint16_t Word;
+ uint8_t Bytes[2];
+ } Data;
+
+ Data.Word = Word;
+
+ Temp = Data.Bytes[0];
+ Data.Bytes[0] = Data.Bytes[1];
+ Data.Bytes[1] = Temp;
+
+ return Data.Word;
+ }
+
+ /** Function to reverse the byte ordering of the individual bytes in a 32 bit number.
+ *
+ * \ingroup Group_BitManip
+ *
+ * \param[in] DWord Double word of data whose bytes are to be swapped.
+ */
+ static inline uint32_t SwapEndian_32(const uint32_t DWord) ATTR_WARN_UNUSED_RESULT ATTR_CONST;
+ static inline uint32_t SwapEndian_32(const uint32_t DWord)
+ {
+ uint8_t Temp;
+
+ union
+ {
+ uint32_t DWord;
+ uint8_t Bytes[4];
+ } Data;
+
+ Data.DWord = DWord;
+
+ Temp = Data.Bytes[0];
+ Data.Bytes[0] = Data.Bytes[3];
+ Data.Bytes[3] = Temp;
+
+ Temp = Data.Bytes[1];
+ Data.Bytes[1] = Data.Bytes[2];
+ Data.Bytes[2] = Temp;
+
+ return Data.DWord;
+ }
+
+ /** Function to reverse the byte ordering of the individual bytes in a n byte number.
+ *
+ * \ingroup Group_BitManip
+ *
+ * \param[in,out] Data Pointer to a number containing an even number of bytes to be reversed.
+ * \param[in] Bytes Length of the data in bytes.
+ */
+ static inline void SwapEndian_n(void* Data,
+ uint8_t Bytes) ATTR_NON_NULL_PTR_ARG(1);
+ static inline void SwapEndian_n(void* Data,
+ uint8_t Bytes)
+ {
+ uint8_t* CurrDataPos = (uint8_t*)Data;
+
+ while (Bytes > 1)
+ {
+ uint8_t Temp = *CurrDataPos;
+ *CurrDataPos = *(CurrDataPos + Bytes - 1);
+ *(CurrDataPos + Bytes - 1) = Temp;
+
+ CurrDataPos++;
+ Bytes -= 2;
+ }
+ }
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Doxygen.conf b/firmware/LUFA/Doxygen.conf
new file mode 100644
index 0000000..933e3c1
--- /dev/null
+++ b/firmware/LUFA/Doxygen.conf
@@ -0,0 +1,1564 @@
+# Doxyfile 1.6.2
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = "LUFA (Formerly MyUSB) Library"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER = 000000
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = ./Documentation/
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = NO
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF = "The $name class" \
+ "The $name widget" \
+ "The $name file" \
+ is \
+ provides \
+ specifies \
+ contains \
+ represents \
+ a \
+ an \
+ the
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 4
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = YES
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it parses.
+# With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this tag.
+# The format is ext=language, where ext is a file extension, and language is one of
+# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
+# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
+# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
+# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen to replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT = YES
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penality.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will rougly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE = 1
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
+# will list include files with double quotes in the documentation
+# rather than with sharp brackets.
+
+FORCE_LOCAL_INCLUDES = NO
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES = YES
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = NO
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = NO
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = NO
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page.
+# This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
+# doxygen. The layout file controls the global structure of the generated output files
+# in an output format independent way. The create the layout file that represents
+# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
+# file name after the option, if omitted DoxygenLayout.xml will be used as the name
+# of the layout file.
+
+LAYOUT_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = YES
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = ./
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
+FILE_PATTERNS = *.h \
+ *.txt
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE = Documentation/ License.txt
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix filesystem feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS = _* __*
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH = ../
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS = *
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH = ./
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+# If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.
+# Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.
+# The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.
+# Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = NO
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET =
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting
+# this to NO can help when comparing the output of multiple runs.
+
+HTML_TIMESTAMP = NO
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = YES
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
+
+GENERATE_DOCSET = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE = ../LUFA.chm
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND = YES
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
+# are set, an additional index file will be generated that can be used as input for
+# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
+# HTML documentation.
+
+GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
+# For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
+# will be generated, which together with the HTML files, form an Eclipse help
+# plugin. To install this plugin and make it available under the help contents
+# menu in Eclipse, the contents of the directory containing the HTML and XML
+# files needs to be copied into the plugins directory of eclipse. The name of
+# the directory within the plugins directory should be the same as
+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears.
+
+GENERATE_ECLIPSEHELP = NO
+
+# A unique identifier for the eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have
+# this name.
+
+ECLIPSE_DOC_ID = org.doxygen.Project
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 1
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = YES
+
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list.
+
+USE_INLINE_TREES = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 300
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE = 10
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should
+# typically be disabled. For large projects the javascript based search engine
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+
+SEARCHENGINE = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index
+# file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup
+# and does not have live searching capabilities.
+
+SERVER_BASED_SEARCH = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+# Note that when enabling USE_PDFLATEX this option is only used for
+# generating bitmaps for formulas in the HTML output, but not in the
+# Makefile that is written to the output directory.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.
+# This is useful
+# if you want to understand what is going on.
+# On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF = YES
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED = __DOXYGEN__ \
+ PROGMEM \
+ EEMEM
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED = __CALLBACK_PARAM
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option is superseded by the HAVE_DOT option below. This is only a
+# fallback. It is recommended to install and use dot, since it yields more
+# powerful graphs.
+
+CLASS_DIAGRAMS = NO
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = NO
+
+# By default doxygen will write a font called FreeSans.ttf to the output
+# directory and reference it in all dot files that doxygen generates. This
+# font does not include all possible unicode characters however, so when you need
+# these (or just want a differently looking font) you can specify the font name
+# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
+# which can be done by putting it in a standard location or by setting the
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
+# containing the font.
+
+DOT_FONTNAME = FreeSans
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE = 10
+
+# By default doxygen will tell dot to use the output directory to look for the
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a
+# different font using DOT_FONTNAME you can set the path where dot
+# can find it using this tag.
+
+DOT_FONTPATH =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = NO
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = NO
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = NO
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES = 15
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH = 2
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT = YES
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
diff --git a/firmware/LUFA/Drivers/Board/ADAFRUITU4/LEDs.h b/firmware/LUFA/Drivers/Board/ADAFRUITU4/LEDs.h
new file mode 100644
index 0000000..39b6256
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/ADAFRUITU4/LEDs.h
@@ -0,0 +1,129 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Adafruit U4 Breakout board.
+ *
+ * Board specific LED driver header for the Adafruit U4 Breakout board (http://ladyada.net/products/atmega32u4breakout).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_ADAFRUITU4 ADAFRUITU4
+ *
+ * Board specific LED driver header for the Adafruit U4 Breakout board (http://ladyada.net/products/atmega32u4breakout).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_ADAFRUITU4_H__
+#define __LEDS_ADAFRUITU4_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 6)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS LEDS_LED1
+
+ /** LED mask for the none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRE |= LEDS_ALL_LEDS;
+ PORTE &= ~LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTE |= LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTE &= ~LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTE = ((PORTE & ~LEDS_ALL_LEDS) | LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTE = ((PORTE & ~LEDMask) | ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTE = (PORTE ^ (LEDMask & LEDS_ALL_LEDS));
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTE & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/ATAVRUSBRF01/Buttons.h b/firmware/LUFA/Drivers/Board/ATAVRUSBRF01/Buttons.h
new file mode 100644
index 0000000..80063bd
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/ATAVRUSBRF01/Buttons.h
@@ -0,0 +1,98 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Buttons driver header for the Atmel ATAVRUSBRF01.
+ *
+ * Board specific Buttons driver header for the Atmel ATAVRUSBRF01.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ */
+
+/** \ingroup Group_Buttons
+ * @defgroup Group_Buttons_ATAVRUSBRF01 ATAVRUSBRF01
+ *
+ * Board specific Buttons driver header for the Atmel ATAVRUSBRF01.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_ATAVRUSBRF01_H__
+#define __BUTTONS_ATAVRUSBRF01_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 (1 << 7)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ DDRD &= ~BUTTONS_BUTTON1;
+ PORTD |= BUTTONS_BUTTON1;
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ return ((PIND & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h b/firmware/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h
new file mode 100644
index 0000000..f52df99
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h
@@ -0,0 +1,141 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Atmel ATAVRUSBRF01.
+ *
+ * Board specific LED driver header for the Atmel ATAVRUSBRF01.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_ATAVRUSBRF01 ATAVRUSBRF01
+ *
+ * Board specific LED driver header for the Atmel ATAVRUSBRF01.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_ATAVRUSBRF01_H__
+#define __LEDS_ATAVRUSBRF01_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define LEDS_PORTD_LEDS (LEDS_LED1 | LEDS_LED2)
+ #define LEDS_PORTE_LEDS (LEDS_LED3 | LEDS_LED4)
+
+ #define LEDS_PORTE_MASK_SHIFT 4
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 0)
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 (1 << 1)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2)
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRD |= LEDS_ALL_LEDS;
+ PORTD &= ~LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTD |= (LEDMask & LEDS_ALL_LEDS);
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTD &= ~(LEDMask & LEDS_ALL_LEDS);
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTD = (PORTD & ~LEDS_ALL_LEDS) | (LEDMask & LEDS_ALL_LEDS);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTD = ((PORTD & ~LEDMask) | ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTD ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTD & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/BENITO/Buttons.h b/firmware/LUFA/Drivers/Board/BENITO/Buttons.h
new file mode 100644
index 0000000..d47e017
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/BENITO/Buttons.h
@@ -0,0 +1,98 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Buttons driver header for the Tempusdictum Benito.
+ *
+ * Board specific Buttons driver header for the Tempusdictum Benito (http://dorkbotpdx.org/wiki/benito).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ */
+
+/** \ingroup Group_Buttons
+ * @defgroup Group_Buttons_BENITO BENITO
+ *
+ * Board specific Buttons driver header for the Tempusdictum Benito (http://dorkbotpdx.org/wiki/benito).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_BENITO_H__
+#define __BUTTONS_BENITO_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 (1 << 7)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ DDRD &= ~BUTTONS_BUTTON1;
+ PORTD |= BUTTONS_BUTTON1;
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ return ((PIND & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/BENITO/LEDs.h b/firmware/LUFA/Drivers/Board/BENITO/LEDs.h
new file mode 100644
index 0000000..72c0d24
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/BENITO/LEDs.h
@@ -0,0 +1,130 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Tempusdictum Benito.
+ *
+ * Board specific LED driver header for the Tempusdictum Benito (http://dorkbotpdx.org/wiki/benito).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_BENITO BENITO
+ *
+ * Board specific LED driver header for the Tempusdictum Benito (http://dorkbotpdx.org/wiki/benito).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_BENITO_H__
+#define __LEDS_BENITO_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 7)
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 (1 << 6)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2)
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRC |= LEDS_ALL_LEDS;
+ PORTC |= LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTC &= ~LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTC |= LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTC = ((PORTC | LEDS_ALL_LEDS) & ~LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTC = ((PORTC | LEDMask) & ~ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTC ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTC & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/BLACKCAT/LEDs.h b/firmware/LUFA/Drivers/Board/BLACKCAT/LEDs.h
new file mode 100644
index 0000000..8ca1b95
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/BLACKCAT/LEDs.h
@@ -0,0 +1,131 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the BLACKCAT USB JTAG.
+ *
+ * Board specific LED driver header for the TCNISO Blackcat USB JTAG (http://www.embeddedcomputers.net/products/BlackcatUSB/.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_BLACKCAT BLACKCAT
+ *
+ * Board specific LED driver header for the TCNISO Blackcat USB JTAG (http://www.embeddedcomputers.net/products/BlackcatUSB/.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_BLACKCAT_H__
+#define __LEDS_BLACKCAT_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 6)
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 (1 << 3)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2)
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRD |= LEDS_ALL_LEDS;
+ PORTD &= ~LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTD |= LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTD &= ~LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTD = ((PORTD & ~LEDS_ALL_LEDS) | LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTD = ((PORTD & ~LEDMask) | ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTD ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTD & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
diff --git a/firmware/LUFA/Drivers/Board/BUI/LEDs.h b/firmware/LUFA/Drivers/Board/BUI/LEDs.h
new file mode 100644
index 0000000..b1e3a99
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/BUI/LEDs.h
@@ -0,0 +1,132 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Busware BUI.
+ *
+ * Board specific LED driver header for the Busware BUI (http://www.busware.de/tiki-index.php?page=BUI).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_BUI BUI
+ *
+ * Board specific LED driver header for the Busware BUI (http://www.busware.de/tiki-index.php?page=BUI).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_BUI_H__
+#define __LEDS_BUI_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+/* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 2)
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 (1 << 3)
+
+ /** LED mask for the third LED on the board. */
+ #define LEDS_LED3 (1 << 4)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2 | LEDS_LED3)
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRC |= LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTC |= LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTC &= ~LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTC = (PORTC & ~LEDS_ALL_LEDS) | LEDMask;
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTC = (PORTC & ~LEDMask) | ActiveMask;
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTC ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTC & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/BUMBLEB/Buttons.h b/firmware/LUFA/Drivers/Board/BUMBLEB/Buttons.h
new file mode 100644
index 0000000..b4c1f80
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/BUMBLEB/Buttons.h
@@ -0,0 +1,103 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Buttons driver header for the Fletchtronics BUMBLEB.
+ *
+ * Board specific Buttons driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b).
+ *
+ * The BUMBLEB third-party board does not include any on-board peripherals, but does have an officially recommended
+ * external peripheral layout for buttons, LEDs and a Joystick.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ */
+
+/** \ingroup Group_Buttons
+ * @defgroup Group_Buttons_BUMBLEB BUMBLEB
+ *
+ * Board specific buttons driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b). The BUMBLEB
+ * third-party board does not include any on-board peripherals, but does have an officially recommended external peripheral
+ * layout for buttons, LEDs and a Joystick.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_BUMBLEB_H__
+#define __BUTTONS_BUMBLEB_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 (1 << 7)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ DDRD &= ~BUTTONS_BUTTON1;
+ PORTD |= BUTTONS_BUTTON1;
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ return ((PIND & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/BUMBLEB/Joystick.h b/firmware/LUFA/Drivers/Board/BUMBLEB/Joystick.h
new file mode 100644
index 0000000..7197726
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/BUMBLEB/Joystick.h
@@ -0,0 +1,120 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific joystick driver header for the Fletchtronics BUMLEB.
+ *
+ * Board specific joystick driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b).
+ *
+ * The BUMBLEB third-party board does not include any on-board peripherals, but does have an officially recommended
+ * external peripheral layout for buttons, LEDs and a Joystick.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the joystick driver
+ * dispatch header located in LUFA/Drivers/Board/Joystick.h.
+ */
+
+/** \ingroup Group_Joystick
+ * @defgroup Group_Joystick_BUMBLEB BUMBLEB
+ *
+ * Board specific joystick driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b). The BUMBLEB
+ * third-party board does not include any on-board peripherals, but does have an officially recommended external peripheral
+ * layout for buttons, LEDs and a Joystick.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the joystick driver
+ * dispatch header located in LUFA/Drivers/Board/Joystick.h.
+ *
+ * @{
+ */
+
+#ifndef __JOYSTICK_BUMBLEB_H__
+#define __JOYSTICK_BUMBLEB_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_JOYSTICK_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Joystick.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define JOY_MASK ((1 << 0) | (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4))
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Mask for the joystick being pushed in the left direction. */
+ #define JOY_LEFT (1 << 2)
+
+ /** Mask for the joystick being pushed in the upward direction. */
+ #define JOY_UP (1 << 3)
+
+ /** Mask for the joystick being pushed in the right direction. */
+ #define JOY_RIGHT (1 << 0)
+
+ /** Mask for the joystick being pushed in the downward direction. */
+ #define JOY_DOWN (1 << 1)
+
+ /** Mask for the joystick being pushed inward. */
+ #define JOY_PRESS (1 << 4)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Joystick_Init(void)
+ {
+ DDRD &= ~JOY_MASK;
+ PORTD |= JOY_MASK;
+ }
+
+ static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Joystick_GetStatus(void)
+ {
+ return (uint8_t)(~PIND & JOY_MASK);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/BUMBLEB/LEDs.h b/firmware/LUFA/Drivers/Board/BUMBLEB/LEDs.h
new file mode 100644
index 0000000..839f188
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/BUMBLEB/LEDs.h
@@ -0,0 +1,143 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Fletchtronics BUMBLEB.
+ *
+ * Board specific LED driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b).
+ *
+ * The BUMBLEB third-party board does not include any on-board peripherals, but does have an officially recommended
+ * external peripheral layout for buttons, LEDs and a Joystick.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_BUMBLEB BUMBLEB
+ *
+ * Board specific LED driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b). The BUMBLEB
+ * third-party board does not include any on-board peripherals, but does have an officially recommended external
+ * peripheral layout for buttons, LEDs and a Joystick.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_BUMBLEB_H__
+#define __LEDS_BUMBLEB_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 4)
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 (1 << 5)
+
+ /** LED mask for the third LED on the board. */
+ #define LEDS_LED3 (1 << 6)
+
+ /** LED mask for the fourth LED on the board. */
+ #define LEDS_LED4 (1 << 7)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2 | LEDS_LED3 | LEDS_LED4)
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRB |= LEDS_ALL_LEDS;
+ PORTB &= ~LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LedMask)
+ {
+ PORTB |= LedMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LedMask)
+ {
+ PORTB &= ~LedMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LedMask)
+ {
+ PORTB = ((PORTB & ~LEDS_ALL_LEDS) | LedMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LedMask,
+ const uint8_t ActiveMask)
+ {
+ PORTB = ((PORTB & ~LedMask) | ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTB ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTB & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/Buttons.h b/firmware/LUFA/Drivers/Board/Buttons.h
new file mode 100644
index 0000000..57fcc63
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/Buttons.h
@@ -0,0 +1,135 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the board digital button driver.
+ *
+ * This file is the master dispatch header file for the board-specific Buttons driver, for boards containing
+ * physical pushbuttons connected to the AVR's GPIO pins.
+ *
+ * User code should include this file, which will in turn include the correct Button driver header file for the
+ * currently selected board.
+ *
+ * If the BOARD value is set to BOARD_USER, this will include the /Board/Buttons.h file in the user project
+ * directory.
+ *
+ * For possible BOARD makefile values, see \ref Group_BoardTypes.
+ */
+
+/** \ingroup Group_BoardDrivers
+ * @defgroup Group_Buttons Buttons Driver - LUFA/Drivers/Board/Buttons.h
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - None
+ *
+ * \section Module Description
+ * Hardware buttons driver. This provides an easy to use driver for the hardware buttons present on many boards.
+ * It provides a way to easily configure and check the status of all the buttons on the board so that appropriate
+ * actions can be taken.
+ *
+ * If the BOARD value is set to BOARD_USER, this will include the /Board/Dataflash.h file in the user project
+ * directory. Otherwise, it will include the appropriate built in board driver header file.
+ *
+ * For possible BOARD makefile values, see \ref Group_BoardTypes.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_H__
+#define __BUTTONS_H__
+
+ /* Macros: */
+ #if !defined(__DOXYGEN__)
+ #define __INCLUDE_FROM_BUTTONS_H
+ #define INCLUDE_FROM_BUTTONS_H
+ #endif
+
+ /* Includes: */
+ #include "../../Common/Common.h"
+
+ #if (BOARD == BOARD_NONE)
+ #error The Board Buttons driver cannot be used if the makefile BOARD option is not set.
+ #elif (BOARD == BOARD_USBKEY)
+ #include "USBKEY/Buttons.h"
+ #elif (BOARD == BOARD_STK525)
+ #include "STK525/Buttons.h"
+ #elif (BOARD == BOARD_STK526)
+ #include "STK526/Buttons.h"
+ #elif (BOARD == BOARD_ATAVRUSBRF01)
+ #include "ATAVRUSBRF01/Buttons.h"
+ #elif (BOARD == BOARD_BUMBLEB)
+ #include "BUMBLEB/Buttons.h"
+ #elif (BOARD == BOARD_EVK527)
+ #include "EVK527/Buttons.h"
+ #elif (BOARD == BOARD_USBTINYMKII)
+ #include "USBTINYMKII/Buttons.h"
+ #elif (BOARD == BOARD_BENITO)
+ #include "BENITO/Buttons.h"
+ #elif (BOARD == BOARD_JMDBU2)
+ #include "JMDBU2/Buttons.h"
+ #elif (BOARD == BOARD_OLIMEX162)
+ #include "OLIMEX162/Buttons.h"
+ #elif (BOARD == BOARD_USBFOO)
+ #include "USBFOO/Buttons.h"
+ #elif (BOARD == BOARD_UDIP)
+ #include "UDIP/Buttons.h"
+ #elif (BOARD == BOARD_CULV3)
+ #include "CULV3/Buttons.h"
+ #elif (BOARD == BOARD_MINIMUS)
+ #include "MINIMUS/Buttons.h"
+ #elif (BOARD == BOARD_MICROSIN162)
+ #include "MICROSIN162/Buttons.h"
+ #elif (BOARD == BOARD_USER)
+ #include "Board/Buttons.h"
+ #else
+ #error The selected board does not contain any GPIO buttons.
+ #endif
+
+ /* Pseudo-Functions for Doxygen: */
+ #if defined(__DOXYGEN__)
+ /** Initialises the BUTTONS driver, so that the current button position can be read. This sets the appropriate
+ * I/O pins to an inputs with pull-ups enabled.
+ *
+ * This must be called before any Button driver functions are used.
+ */
+ static inline void Buttons_Init(void);
+
+ /** Returns a mask indicating which board buttons are currently pressed.
+ *
+ * \return Mask indicating which board buttons are currently pressed.
+ */
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/CULV3/Buttons.h b/firmware/LUFA/Drivers/Board/CULV3/Buttons.h
new file mode 100644
index 0000000..088559a
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/CULV3/Buttons.h
@@ -0,0 +1,98 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Busware CULV3.
+ *
+ * Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_CULV3 CULV3
+ *
+ * Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_CULV3_H__
+#define __BUTTONS_CULV3_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 (1 << 2)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ DDRE &= ~BUTTONS_BUTTON1;
+ PORTE |= BUTTONS_BUTTON1;
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ return ((PINE & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/CULV3/LEDs.h b/firmware/LUFA/Drivers/Board/CULV3/LEDs.h
new file mode 100644
index 0000000..52fd337
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/CULV3/LEDs.h
@@ -0,0 +1,129 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Busware CUL V3.
+ *
+ * Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_CULV3 CULV3
+ *
+ * Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_CULV3_H__
+#define __LEDS_CULV3_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 6)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS LEDS_LED1
+
+ /** LED mask for the none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRE |= LEDS_ALL_LEDS;
+ PORTE &= ~LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTE |= LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTE &= ~LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTE = ((PORTE & ~LEDS_ALL_LEDS) | LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTE = ((PORTE & ~LEDMask) | ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTE = (PORTE ^ (LEDMask & LEDS_ALL_LEDS));
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTE & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/Dataflash.h b/firmware/LUFA/Drivers/Board/Dataflash.h
new file mode 100644
index 0000000..9c6bb8b
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/Dataflash.h
@@ -0,0 +1,212 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the board dataflash IC driver.
+ *
+ * This file is the master dispatch header file for the board-specific dataflash driver, for boards containing
+ * dataflash ICs for external non-volatile storage.
+ *
+ * User code should include this file, which will in turn include the correct dataflash driver header file for
+ * the currently selected board.
+ *
+ * If the BOARD value is set to BOARD_USER, this will include the /Board/Dataflash.h file in the user project
+ * directory.
+ *
+ * For possible BOARD makefile values, see \ref Group_BoardTypes.
+ */
+
+/** \ingroup Group_BoardDrivers
+ * @defgroup Group_Dataflash Dataflash Driver - LUFA/Drivers/Board/Dataflash.h
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - None
+ *
+ * \section Module Description
+ * Dataflash driver. This module provides an easy to use interface for the Dataflash ICs located on many boards,
+ * for the storage of large amounts of data into the Dataflash's non-volatile memory.
+ *
+ * If the BOARD value is set to BOARD_USER, this will include the /Board/Dataflash.h file in the user project
+ * directory. Otherwise, it will include the appropriate built in board driver header file.
+ *
+ * For possible BOARD makefile values, see \ref Group_BoardTypes.
+ *
+ * @{
+ */
+
+#ifndef __DATAFLASH_H__
+#define __DATAFLASH_H__
+
+ /* Macros: */
+ #if !defined(__DOXYGEN__)
+ #define __INCLUDE_FROM_DATAFLASH_H
+ #define INCLUDE_FROM_DATAFLASH_H
+ #endif
+
+ /* Includes: */
+ #include "../Peripheral/SPI.h"
+ #include "../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ #if !defined(__DOXYGEN__)
+ #define __GET_DATAFLASH_MASK2(x, y) x ## y
+ #define __GET_DATAFLASH_MASK(x) __GET_DATAFLASH_MASK2(DATAFLASH_CHIP,x)
+ #endif
+
+ /** Retrieves the Dataflash chip select mask for the given Dataflash chip index.
+ *
+ * \param[in] index Index of the dataflash chip mask to retrieve
+ *
+ * \return Mask for the given Dataflash chip's /CS pin
+ */
+ #define DATAFLASH_CHIP_MASK(index) __GET_DATAFLASH_MASK(index)
+
+ /* Inline Functions: */
+ /** Initialises the dataflash driver so that commands and data may be sent to an attached dataflash IC.
+ * The AVR's SPI driver MUST be initialized before any of the dataflash commands are used.
+ */
+ static inline void Dataflash_Init(void);
+
+ /** Determines the currently selected dataflash chip.
+ *
+ * \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
+ * or a DATAFLASH_CHIPn mask (where n is the chip number).
+ */
+ static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
+
+ /** Selects the given dataflash chip.
+ *
+ * \param[in] ChipMask Mask of the Dataflash IC to select, in the form of DATAFLASH_CHIPn mask (where n is
+ * the chip number).
+ */
+ static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
+
+ /** Deselects the current dataflash chip, so that no dataflash is selected. */
+ static inline void Dataflash_DeselectChip(void) ATTR_ALWAYS_INLINE;
+
+ /** Selects a dataflash IC from the given page number, which should range from 0 to
+ * ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1). For boards containing only one
+ * dataflash IC, this will select DATAFLASH_CHIP1. If the given page number is outside
+ * the total number of pages contained in the boards dataflash ICs, all dataflash ICs
+ * are deselected.
+ *
+ * \param[in] PageAddress Address of the page to manipulate, ranging from
+ * ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1).
+ */
+ static inline void Dataflash_SelectChipFromPage(const uint16_t PageAddress);
+
+ /** Toggles the select line of the currently selected dataflash IC, so that it is ready to receive
+ * a new command.
+ */
+ static inline void Dataflash_ToggleSelectedChipCS(void);
+
+ /** Spin-loops while the currently selected dataflash is busy executing a command, such as a main
+ * memory page program or main memory to buffer transfer.
+ */
+ static inline void Dataflash_WaitWhileBusy(void);
+
+ /** Sends a set of page and buffer address bytes to the currently selected dataflash IC, for use with
+ * dataflash commands which require a complete 24-byte address.
+ *
+ * \param[in] PageAddress Page address within the selected dataflash IC
+ * \param[in] BufferByte Address within the dataflash's buffer
+ */
+ static inline void Dataflash_SendAddressBytes(uint16_t PageAddress,
+ const uint16_t BufferByte);
+
+ /** Sends a byte to the currently selected dataflash IC, and returns a byte from the dataflash.
+ *
+ * \param[in] Byte of data to send to the dataflash
+ *
+ * \return Last response byte from the dataflash
+ */
+ static inline uint8_t Dataflash_TransferByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
+ static inline uint8_t Dataflash_TransferByte(const uint8_t Byte)
+ {
+ return SPI_TransferByte(Byte);
+ }
+
+ /** Sends a byte to the currently selected dataflash IC, and ignores the next byte from the dataflash.
+ *
+ * \param[in] Byte of data to send to the dataflash
+ */
+ static inline void Dataflash_SendByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
+ static inline void Dataflash_SendByte(const uint8_t Byte)
+ {
+ SPI_SendByte(Byte);
+ }
+
+ /** Sends a dummy byte to the currently selected dataflash IC, and returns the next byte from the dataflash.
+ *
+ * \return Last response byte from the dataflash
+ */
+ static inline uint8_t Dataflash_ReceiveByte(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Dataflash_ReceiveByte(void)
+ {
+ return SPI_ReceiveByte();
+ }
+
+ /* Includes: */
+ #if (BOARD == BOARD_NONE)
+ #error The Board Buttons driver cannot be used if the makefile BOARD option is not set.
+ #elif (BOARD == BOARD_USBKEY)
+ #include "USBKEY/Dataflash.h"
+ #elif (BOARD == BOARD_STK525)
+ #include "STK525/Dataflash.h"
+ #elif (BOARD == BOARD_STK526)
+ #include "STK526/Dataflash.h"
+ #elif (BOARD == BOARD_XPLAIN)
+ #include "XPLAIN/Dataflash.h"
+ #elif (BOARD == BOARD_XPLAIN_REV1)
+ #include "XPLAIN/Dataflash.h"
+ #elif (BOARD == BOARD_EVK527)
+ #include "EVK527/Dataflash.h"
+ #elif (BOARD == BOARD_USER)
+ #include "Board/Dataflash.h"
+ #else
+ #error The selected board does not contain a dataflash IC.
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/EVK527/AT45DB321C.h b/firmware/LUFA/Drivers/Board/EVK527/AT45DB321C.h
new file mode 100644
index 0000000..9bcf510
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/EVK527/AT45DB321C.h
@@ -0,0 +1,105 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Dataflash commands header for the AT45DB321C as mounted on the Atmel EVK527.
+ *
+ * Board specific Dataflash commands header for the AT45DB321C as mounted on the Atmel EVK527.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ */
+
+/** \ingroup Group_Dataflash_EVK527
+ * @defgroup Group_Dataflash_EVK527_AT45DB321C AT45DB321C
+ *
+ * Board specific Dataflash commands header for the AT45DB321C as mounted on the Atmel EVK527.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ *
+ * @{
+ */
+
+#ifndef __DATAFLASH_CMDS_H__
+#define __DATAFLASH_CMDS_H__
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** \name Dataflash Status Values */
+ //@{
+ #define DF_STATUS_READY (1 << 7)
+ #define DF_STATUS_COMPMISMATCH (1 << 6)
+ #define DF_STATUS_SECTORPROTECTION_ON (1 << 1)
+ //@}
+
+ #define DF_MANUFACTURER_ATMEL 0x1F
+
+ /** \name Dataflash Commands */
+ //@{
+ #define DF_CMD_GETSTATUS 0xD7
+
+ #define DF_CMD_MAINMEMTOBUFF1 0x53
+ #define DF_CMD_MAINMEMTOBUFF2 0x55
+ #define DF_CMD_MAINMEMTOBUFF1COMP 0x60
+ #define DF_CMD_MAINMEMTOBUFF2COMP 0x61
+ #define DF_CMD_AUTOREWRITEBUFF1 0x58
+ #define DF_CMD_AUTOREWRITEBUFF2 0x59
+
+ #define DF_CMD_MAINMEMPAGEREAD 0xD2
+ #define DF_CMD_CONTARRAYREAD_LF 0xE8
+ #define DF_CMD_BUFF1READ_LF 0xD4
+ #define DF_CMD_BUFF2READ_LF 0xD6
+
+ #define DF_CMD_BUFF1WRITE 0x84
+ #define DF_CMD_BUFF2WRITE 0x87
+ #define DF_CMD_BUFF1TOMAINMEMWITHERASE 0x83
+ #define DF_CMD_BUFF2TOMAINMEMWITHERASE 0x86
+ #define DF_CMD_BUFF1TOMAINMEM 0x88
+ #define DF_CMD_BUFF2TOMAINMEM 0x89
+ #define DF_CMD_MAINMEMPAGETHROUGHBUFF1 0x82
+ #define DF_CMD_MAINMEMPAGETHROUGHBUFF2 0x85
+
+ #define DF_CMD_PAGEERASE 0x81
+ #define DF_CMD_BLOCKERASE 0x50
+
+ #define DF_CMD_SECTORPROTECTIONOFF ((char[]){0x3D, 0x2A, 0x7F, 0xCF})
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE1 0x3D
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE2 0x2A
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE3 0x7F
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE4 0xCF
+
+ #define DF_CMD_READMANUFACTURERDEVICEINFO 0x9F
+ //@}
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/EVK527/Buttons.h b/firmware/LUFA/Drivers/Board/EVK527/Buttons.h
new file mode 100644
index 0000000..4f6b536
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/EVK527/Buttons.h
@@ -0,0 +1,104 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Buttons driver header for the Atmel EVK527.
+ *
+ * Board specific Buttons driver header for the Atmel EVK527.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ */
+
+/** \ingroup Group_Buttons
+ * @defgroup Group_Buttons_EVK527 EVK527
+ *
+ * Board specific Buttons driver header for the Atmel EVK527.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_EVK527_H__
+#define __BUTTONS_EVK527_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 (1 << 2)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ DDRE &= ~BUTTONS_BUTTON1;
+ PORTE |= BUTTONS_BUTTON1;
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ return ((PINE & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/EVK527/Dataflash.h b/firmware/LUFA/Drivers/Board/EVK527/Dataflash.h
new file mode 100644
index 0000000..9f6c6d8
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/EVK527/Dataflash.h
@@ -0,0 +1,184 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Dataflash driver header for the Atmel EVK527.
+ *
+ * Board specific Dataflash driver header for the Atmel EVK527.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ */
+
+/** \ingroup Group_Dataflash
+ * @defgroup Group_Dataflash_EVK527 EVK527
+ *
+ * Board specific Dataflash driver header for the Atmel EVK527.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ *
+ * @{
+ */
+
+#ifndef __DATAFLASH_EVK527_H__
+#define __DATAFLASH_EVK527_H__
+
+ /* Includes: */
+ #include "AT45DB321C.h"
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_DATAFLASH_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Dataflash.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define DATAFLASH_CHIPCS_MASK (1 << 6)
+ #define DATAFLASH_CHIPCS_DDR DDRE
+ #define DATAFLASH_CHIPCS_PORT PORTE
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Constant indicating the total number of dataflash ICs mounted on the selected board. */
+ #define DATAFLASH_TOTALCHIPS 1
+
+ /** Mask for no dataflash chip selected. */
+ #define DATAFLASH_NO_CHIP DATAFLASH_CHIPCS_MASK
+
+ /** Mask for the first dataflash chip selected. */
+ #define DATAFLASH_CHIP1 0
+
+ /** Internal main memory page size for the board's dataflash IC. */
+ #define DATAFLASH_PAGE_SIZE 512
+
+ /** Total number of pages inside the board's dataflash IC. */
+ #define DATAFLASH_PAGES 8192
+
+ /* Inline Functions: */
+ /** Initialises the dataflash driver so that commands and data may be sent to an attached dataflash IC.
+ * The AVR's SPI driver MUST be initialized before any of the dataflash commands are used.
+ */
+ static inline void Dataflash_Init(void)
+ {
+ DATAFLASH_CHIPCS_DDR |= DATAFLASH_CHIPCS_MASK;
+ DATAFLASH_CHIPCS_PORT |= DATAFLASH_CHIPCS_MASK;
+ }
+
+ /** Determines the currently selected dataflash chip.
+ *
+ * \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
+ * or a DATAFLASH_CHIPn mask (where n is the chip number).
+ */
+ static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Dataflash_GetSelectedChip(void)
+ {
+ return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
+ }
+
+ /** Selects the given dataflash chip.
+ *
+ * \param[in] ChipMask Mask of the Dataflash IC to select, in the form of DATAFLASH_CHIPn mask (where n is
+ * the chip number).
+ */
+ static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
+ static inline void Dataflash_SelectChip(const uint8_t ChipMask)
+ {
+ DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask);
+ }
+
+ /** Deselects the current dataflash chip, so that no dataflash is selected. */
+ static inline void Dataflash_DeselectChip(void) ATTR_ALWAYS_INLINE;
+ static inline void Dataflash_DeselectChip(void)
+ {
+ Dataflash_SelectChip(DATAFLASH_NO_CHIP);
+ }
+
+ /** Selects a dataflash IC from the given page number, which should range from 0 to
+ * ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1). For boards containing only one
+ * dataflash IC, this will select DATAFLASH_CHIP1. If the given page number is outside
+ * the total number of pages contained in the boards dataflash ICs, all dataflash ICs
+ * are deselected.
+ *
+ * \param[in] PageAddress Address of the page to manipulate, ranging from
+ * ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1).
+ */
+ static inline void Dataflash_SelectChipFromPage(const uint16_t PageAddress)
+ {
+ Dataflash_DeselectChip();
+
+ if (PageAddress >= DATAFLASH_PAGES)
+ return;
+
+ Dataflash_SelectChip(DATAFLASH_CHIP1);
+ }
+
+ /** Toggles the select line of the currently selected dataflash IC, so that it is ready to receive
+ * a new command.
+ */
+ static inline void Dataflash_ToggleSelectedChipCS(void)
+ {
+ uint8_t SelectedChipMask = Dataflash_GetSelectedChip();
+
+ Dataflash_DeselectChip();
+ Dataflash_SelectChip(SelectedChipMask);
+ }
+
+ /** Spin-loops while the currently selected dataflash is busy executing a command, such as a main
+ * memory page program or main memory to buffer transfer.
+ */
+ static inline void Dataflash_WaitWhileBusy(void)
+ {
+ Dataflash_ToggleSelectedChipCS();
+ Dataflash_SendByte(DF_CMD_GETSTATUS);
+ while (!(Dataflash_ReceiveByte() & DF_STATUS_READY));
+ Dataflash_ToggleSelectedChipCS();
+ }
+
+ /** Sends a set of page and buffer address bytes to the currently selected dataflash IC, for use with
+ * dataflash commands which require a complete 24-byte address.
+ *
+ * \param[in] PageAddress Page address within the selected dataflash IC
+ * \param[in] BufferByte Address within the dataflash's buffer
+ */
+ static inline void Dataflash_SendAddressBytes(uint16_t PageAddress,
+ const uint16_t BufferByte)
+ {
+ Dataflash_SendByte(PageAddress >> 5);
+ Dataflash_SendByte((PageAddress << 3) | (BufferByte >> 8));
+ Dataflash_SendByte(BufferByte);
+ }
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/EVK527/Joystick.h b/firmware/LUFA/Drivers/Board/EVK527/Joystick.h
new file mode 100644
index 0000000..06c14fe
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/EVK527/Joystick.h
@@ -0,0 +1,119 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific joystick driver header for the Atmel EVK527.
+ *
+ * Board specific joystick driver header for the Atmel EVK527.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the joystick driver
+ * dispatch header located in LUFA/Drivers/Board/Joystick.h.
+ */
+
+/** \ingroup Group_Joystick
+ * @defgroup Group_Joystick_EVK527 EVK527
+ *
+ * Board specific joystick driver header for the Atmel EVK527.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the joystick driver
+ * dispatch header located in LUFA/Drivers/Board/Joystick.h.
+ *
+ * @{
+ */
+
+#ifndef __JOYSTICK_EVK527_H__
+#define __JOYSTICK_EVK527_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_JOYSTICK_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Joystick.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define JOY_FMASK ((1 << 4) | (1 << 5) | (1 << 6) | (1 << 7))
+ #define JOY_CMASK (1 << 6))
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Mask for the joystick being pushed in the left direction. */
+ #define JOY_LEFT (1 << 4)
+
+ /** Mask for the joystick being pushed in the right direction. */
+ #define JOY_RIGHT (1 << 7)
+
+ /** Mask for the joystick being pushed in the upward direction. */
+ #define JOY_UP (1 << 5)
+
+ /** Mask for the joystick being pushed in the downward direction. */
+ #define JOY_DOWN ((1 << 6) >> 3)
+
+ /** Mask for the joystick being pushed inward. */
+ #define JOY_PRESS (1 << 6)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Joystick_Init(void)
+ {
+ DDRF &= ~(JOY_FMASK);
+ DDRC &= ~(JOY_CMASK);
+
+ PORTF |= JOY_FMASK;
+ PORTC |= JOY_CMASK;
+ }
+
+ static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Joystick_GetStatus(void)
+ {
+ return (((uint8_t)~PINF & JOY_FMASK) | (((uint8_t)~PINC & JOY_CMASK) >> 3));
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/EVK527/LEDs.h b/firmware/LUFA/Drivers/Board/EVK527/LEDs.h
new file mode 100644
index 0000000..0ac7a53
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/EVK527/LEDs.h
@@ -0,0 +1,135 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Atmel EVK527.
+ *
+ * Board specific LED driver header for the Atmel EVK527.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_EVK527 EVK527
+ *
+ * Board specific LED driver header for the Atmel EVK527.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_EVK527_H__
+#define __LEDS_EVK527_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 5)
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 (1 << 6)
+
+ /** LED mask for the third LED on the board. */
+ #define LEDS_LED3 (1 << 7)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2 | LEDS_LED3)
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRD |= LEDS_ALL_LEDS;
+ PORTD &= ~LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTD |= LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTD &= ~LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTD = ((PORTD & ~LEDS_ALL_LEDS) | LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTD = ((PORTD & ~LEDMask) | ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTD ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTD & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/JMDBU2/Buttons.h b/firmware/LUFA/Drivers/Board/JMDBU2/Buttons.h
new file mode 100644
index 0000000..eacece7
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/JMDBU2/Buttons.h
@@ -0,0 +1,98 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Buttons driver header for the Mattairtech JM-DB-U2.
+ *
+ * Board specific Buttons driver header for the Mattairtech JM-DB-U2 (http://u2.mattair.net/index.html).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ */
+
+/** \ingroup Group_Buttons
+ * @defgroup Group_Buttons_JMDBU2 JMDBU2
+ *
+ * Board specific Buttons driver header for the Mattairtech JM-DB-U2 (http://u2.mattair.net/index.html).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_JMDBU2_H__
+#define __BUTTONS_JMDBU2_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 (1 << 7)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ DDRD &= ~BUTTONS_BUTTON1;
+ PORTD |= BUTTONS_BUTTON1;
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ return ((PIND & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/JMDBU2/LEDs.h b/firmware/LUFA/Drivers/Board/JMDBU2/LEDs.h
new file mode 100644
index 0000000..46ac849
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/JMDBU2/LEDs.h
@@ -0,0 +1,129 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Mattairtech JM-DB-U2.
+ *
+ * Board specific LED driver header for the Mattairtech JM-DB-U2 (http://u2.mattair.net/index.html).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_JMDBU2 JMDBU2
+ *
+ * Board specific LED driver header for the Mattairtech JM-DB-U2 (http://u2.mattair.net/index.html).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_JMDBU2_H__
+#define __LEDS_JMDBU2_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 4)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS LEDS_LED1
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRD |= LEDS_ALL_LEDS;
+ PORTD &= ~LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTD |= LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTD &= ~LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTD = ((PORTD & ~LEDS_ALL_LEDS) | LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTD = ((PORTD & ~LEDMask) | ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTD ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTD & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/Joystick.h b/firmware/LUFA/Drivers/Board/Joystick.h
new file mode 100644
index 0000000..e43110a
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/Joystick.h
@@ -0,0 +1,114 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the board digital joystick driver.
+ *
+ * This file is the master dispatch header file for the board-specific Joystick driver, for boards containing a
+ * 5-way joystick.
+ *
+ * User code should include this file, which will in turn include the correct joystick driver header file for the
+ * currently selected board.
+ *
+ * If the BOARD value is set to BOARD_USER, this will include the /Board/Joystick.h file in the user project
+ * directory.
+ *
+ * For possible BOARD makefile values, see \ref Group_BoardTypes.
+ */
+
+/** \ingroup Group_BoardDrivers
+ * @defgroup Group_Joystick Joystick Driver - LUFA/Drivers/Board/Joystick.h
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - None
+ *
+ * \section Module Description
+ * Hardware Joystick driver. This module provides an easy to use interface to control the hardware digital Joystick
+ * located on many boards.
+ *
+ * If the BOARD value is set to BOARD_USER, this will include the /Board/Dataflash.h file in the user project
+ * directory. Otherwise, it will include the appropriate built in board driver header file.
+ *
+ * For possible BOARD makefile values, see \ref Group_BoardTypes.
+ *
+ * @{
+ */
+
+#ifndef __JOYSTICK_H__
+#define __JOYSTICK_H__
+
+ /* Macros: */
+ #if !defined(__DOXYGEN__)
+ #define __INCLUDE_FROM_JOYSTICK_H
+ #define INCLUDE_FROM_JOYSTICK_H
+ #endif
+
+ /* Includes: */
+ #include "../../Common/Common.h"
+
+ #if (BOARD == BOARD_NONE)
+ #error The Board Joystick driver cannot be used if the makefile BOARD option is not set.
+ #elif (BOARD == BOARD_USBKEY)
+ #include "USBKEY/Joystick.h"
+ #elif (BOARD == BOARD_STK525)
+ #include "STK525/Joystick.h"
+ #elif (BOARD == BOARD_STK526)
+ #include "STK526/Joystick.h"
+ #elif (BOARD == BOARD_BUMBLEB)
+ #include "BUMBLEB/Joystick.h"
+ #elif (BOARD == BOARD_EVK527)
+ #include "EVK527/Joystick.h"
+ #elif (BOARD == BOARD_USER)
+ #include "Board/Joystick.h"
+ #else
+ #error The selected board does not contain a joystick.
+ #endif
+
+ /* Pseudo-Functions for Doxygen: */
+ #if defined(__DOXYGEN__)
+ /** Initialises the joystick driver so that the joystick position can be read. This sets the appropriate
+ * I/O pins to inputs with their pull-ups enabled.
+ */
+ static inline void Joystick_Init(void);
+
+ /** Returns the current status of the joystick, as a mask indicating the direction the joystick is
+ * currently facing in (multiple bits can be set).
+ *
+ * \return Mask indicating the joystick direction - see corresponding board specific Joystick.h file
+ * for direction masks.
+ */
+ static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/LEDs.h b/firmware/LUFA/Drivers/Board/LEDs.h
new file mode 100644
index 0000000..72ed729
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/LEDs.h
@@ -0,0 +1,212 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the board LEDs driver.
+ *
+ * This file is the master dispatch header file for the board-specific LED driver, for boards containing user
+ * controllable LEDs.
+ *
+ * User code should include this file, which will in turn include the correct LED driver header file for the
+ * currently selected board.
+ *
+ * If the BOARD value is set to BOARD_USER, this will include the /Board/LEDs.h file in the user project
+ * directory.
+ *
+ * For possible BOARD makefile values, see \ref Group_BoardTypes.
+ */
+
+/** \ingroup Group_BoardDrivers
+ * @defgroup Group_LEDs LEDs Driver - LUFA/Drivers/Board/LEDs.h
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - None
+ *
+ * \section Module Description
+ * Hardware LEDs driver. This provides an easy to use driver for the hardware LEDs present on many boards. It
+ * provides an interface to configure, test and change the status of all the board LEDs.
+ *
+ * If the BOARD value is set to BOARD_USER, this will include the /Board/Dataflash.h file in the user project
+ * directory. Otherwise, it will include the appropriate built in board driver header file. If the BOARD value
+ * is set to BOARD_NONE, this driver is silently disabled.
+ *
+ * For possible BOARD makefile values, see \ref Group_BoardTypes.
+ *
+ * \note To make code as compatible as possible, it is assumed that all boards carry a minimum of four LEDs. If
+ * a board contains less than four LEDs, the remaining LED masks are defined to 0 so as to have no effect.
+ * If other behaviour is desired, either alias the remaining LED masks to existing LED masks via the -D
+ * switch in the project makefile, or alias them to nothing in the makefile to cause compilation errors when
+ * a non-existing LED is referenced in application code. Note that this means that it is possible to make
+ * compatible code for a board with no LEDs by making a board LED driver (see \ref Page_WritingBoardDrivers)
+ * which contains only stub functions and defines no LEDs.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_H__
+#define __LEDS_H__
+
+ /* Macros: */
+ #if !defined(__DOXYGEN__)
+ #define __INCLUDE_FROM_LEDS_H
+ #define INCLUDE_FROM_LEDS_H
+ #endif
+
+ /* Includes: */
+ #include "../../Common/Common.h"
+
+ #if (BOARD == BOARD_NONE)
+ static inline void LEDs_Init(void) {};
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask) {};
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask) {};
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask) {};
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask, const uint8_t ActiveMask) {};
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask) {};
+ static inline uint8_t LEDs_GetLEDs(void) { return 0; }
+ #elif (BOARD == BOARD_USBKEY)
+ #include "USBKEY/LEDs.h"
+ #elif (BOARD == BOARD_STK525)
+ #include "STK525/LEDs.h"
+ #elif (BOARD == BOARD_STK526)
+ #include "STK526/LEDs.h"
+ #elif (BOARD == BOARD_RZUSBSTICK)
+ #include "RZUSBSTICK/LEDs.h"
+ #elif (BOARD == BOARD_ATAVRUSBRF01)
+ #include "ATAVRUSBRF01/LEDs.h"
+ #elif ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1))
+ #include "XPLAIN/LEDs.h"
+ #elif (BOARD == BOARD_BUMBLEB)
+ #include "BUMBLEB/LEDs.h"
+ #elif (BOARD == BOARD_EVK527)
+ #include "EVK527/LEDs.h"
+ #elif (BOARD == BOARD_TEENSY)
+ #include "TEENSY/LEDs.h"
+ #elif (BOARD == BOARD_USBTINYMKII)
+ #include "USBTINYMKII/LEDs.h"
+ #elif (BOARD == BOARD_BENITO)
+ #include "BENITO/LEDs.h"
+ #elif (BOARD == BOARD_JMDBU2)
+ #include "JMDBU2/LEDs.h"
+ #elif (BOARD == BOARD_OLIMEX162)
+ #include "OLIMEX162/LEDs.h"
+ #elif (BOARD == BOARD_USBFOO)
+ #include "USBFOO/LEDs.h"
+ #elif (BOARD == BOARD_UDIP)
+ #include "UDIP/LEDs.h"
+ #elif (BOARD == BOARD_BUI)
+ #include "BUI/LEDs.h"
+ #elif (BOARD == BOARD_UNO)
+ #include "UNO/LEDs.h"
+ #elif (BOARD == BOARD_CULV3)
+ #include "CULV3/LEDs.h"
+ #elif (BOARD == BOARD_BLACKCAT)
+ #include "BLACKCAT/LEDs.h"
+ #elif (BOARD == BOARD_MAXIMUS)
+ #include "MAXIMUS/LEDs.h"
+ #elif (BOARD == BOARD_MINIMUS)
+ #include "MINIMUS/LEDs.h"
+ #elif (BOARD == BOARD_ADAFRUITU4)
+ #include "ADAFRUITU4/LEDs.h"
+ #elif (BOARD == BOARD_MICROSIN162)
+ #include "MICROSIN162/LEDs.h"
+ #elif (BOARD == BOARD_USER)
+ #include "Board/LEDs.h"
+ #endif
+
+ #if !defined(LEDS_LED1)
+ #define LEDS_LED1 0
+ #endif
+
+ #if !defined(LEDS_LED2)
+ #define LEDS_LED2 0
+ #endif
+
+ #if !defined(LEDS_LED3)
+ #define LEDS_LED3 0
+ #endif
+
+ #if !defined(LEDS_LED4)
+ #define LEDS_LED4 0
+ #endif
+
+ /* Pseudo-Functions for Doxygen: */
+ #if defined(__DOXYGEN__)
+ /** Initialises the board LED driver so that the LEDs can be controlled. This sets the appropriate port
+ * I/O pins as outputs, and sets the LEDs to default to off.
+ */
+ static inline void LEDs_Init(void);
+
+ /** Turns on the LEDs specified in the given LED mask.
+ *
+ * \param[in] LEDMask Mask of the board LEDs to manipulate (see board-specific LEDs.h driver file).
+ */
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask);
+
+ /** Turns off the LEDs specified in the given LED mask.
+ *
+ * \param[in] LEDMask Mask of the board LEDs to manipulate (see board-specific LEDs.h driver file).
+ */
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask);
+
+ /** Turns off all LEDs not specified in the given LED mask, and turns on all the LEDs in the given LED
+ * mask.
+ *
+ * \param[in] LEDMask Mask of the board LEDs to manipulate (see board-specific LEDs.h driver file).
+ */
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask);
+
+ /** Turns off all LEDs in the LED mask that are not set in the active mask, and turns on all the LEDs
+ * specified in both the LED and active masks.
+ *
+ * \param[in] LEDMask Mask of the board LEDs to manipulate (see board-specific LEDs.h driver file).
+ * \param[in] ActiveMask Mask of whether the LEDs in the LED mask should be turned on or off.
+ */
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask);
+
+ /** Toggles all LEDs in the LED mask, leaving all others in their current states.
+ *
+ * \param[in] LEDMask Mask of the board LEDs to manipulate (see board-specific LEDs.h driver file).
+ */
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask);
+
+ /** Returns the status of all the board LEDs; set LED masks in the return value indicate that the
+ * corresponding LED is on.
+ *
+ * \return Mask of the board LEDs which are currently turned on.
+ */
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/MAXIMUS/LEDs.h b/firmware/LUFA/Drivers/Board/MAXIMUS/LEDs.h
new file mode 100644
index 0000000..d540d32
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/MAXIMUS/LEDs.h
@@ -0,0 +1,131 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Maximus.
+ *
+ * Board specific LED driver header for the Maximus (http://www.avrusb.com/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_MAXIMUS MAXIMUS
+ *
+ * Board specific LED driver header for the Maximus (http://www.avrusb.com/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_MAXIMUS_H__
+#define __LEDS_MAXIMUS_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 6)
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 (1 << 7)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2)
+
+ /** LED mask for the none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRB |= LEDS_ALL_LEDS;
+ PORTB &= ~LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTB |= LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTB &= ~LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTB = ((PORTB & ~LEDS_ALL_LEDS) | LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTB = ((PORTB & ~LEDMask) | ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTB = (PORTB ^ (LEDMask & LEDS_ALL_LEDS));
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTB & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
diff --git a/firmware/LUFA/Drivers/Board/MICROSIN162/Buttons.h b/firmware/LUFA/Drivers/Board/MICROSIN162/Buttons.h
new file mode 100644
index 0000000..78f9c1e
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/MICROSIN162/Buttons.h
@@ -0,0 +1,98 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Buttons driver header for the Microsin AVR-USB162 board.
+ *
+ * Board specific Buttons driver header for the Microsin AVR-USB162 board (http://microsin.ru/content/view/685/44/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ */
+
+/** \ingroup Group_Buttons
+ * @defgroup Group_Buttons_MICROSIN162 MICROSIN162
+ *
+ * Board specific Buttons driver header for the Microsin AVR-USB162 board (http://microsin.ru/content/view/685/44/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_MICROSIN162_H__
+#define __BUTTONS_MICROSIN162_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 (1 << 7)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ DDRD &= ~BUTTONS_BUTTON1;
+ PORTD |= BUTTONS_BUTTON1;
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ return ((PIND & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/MICROSIN162/LEDs.h b/firmware/LUFA/Drivers/Board/MICROSIN162/LEDs.h
new file mode 100644
index 0000000..1ac0eea
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/MICROSIN162/LEDs.h
@@ -0,0 +1,129 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Microsin AVR-USB162 board.
+ *
+ * Board specific LED driver header for the Microsin AVR-USB162 board (http://microsin.ru/content/view/685/44/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_MICROSIN162 MICROSIN162
+ *
+ * Board specific LED driver header for the Microsin AVR-USB162 board (http://microsin.ru/content/view/685/44/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_MICROSIN162_H__
+#define __LEDS_MICROSIN162_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 4)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS LEDS_LED1
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRD |= LEDS_ALL_LEDS;
+ PORTD |= LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTD &= ~LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTD |= LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTD = ((PORTD | LEDS_ALL_LEDS) & ~LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTD = ((PORTD | LEDMask) & ~ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTD ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (~PORTD & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/MINIMUS/Buttons.h b/firmware/LUFA/Drivers/Board/MINIMUS/Buttons.h
new file mode 100644
index 0000000..c38c9c3
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/MINIMUS/Buttons.h
@@ -0,0 +1,97 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Buttons driver header for the MINIMUS.
+ *
+ * Board specific Buttons driver header for the MINIMUS.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ */
+
+/** \ingroup Group_Buttons
+ * @defgroup Group_Buttons_MINIMUS MINIMUS
+ *
+ * Board specific Buttons driver header for the MINIMUS.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_MINIMUS_H__
+#define __BUTTONS_MINIMUS_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 (1 << 8)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ DDRD &= ~BUTTONS_BUTTON1;
+ PORTD |= BUTTONS_BUTTON1;
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ return ((PIND & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
diff --git a/firmware/LUFA/Drivers/Board/MINIMUS/LEDs.h b/firmware/LUFA/Drivers/Board/MINIMUS/LEDs.h
new file mode 100644
index 0000000..96db6ee
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/MINIMUS/LEDs.h
@@ -0,0 +1,131 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the MINIMUS.
+ *
+ * Board specific LED driver header for the Minimus USB (http://www.minimususb.com/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_MINIMUS MINIMUS
+ *
+ * Board specific LED driver header for the Minimus USB (http://www.minimususb.com/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_MINIMUS_H__
+#define __LEDS_MINIMUS_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 5)
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 (1 << 6)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2)
+
+ /** LED mask for the none of the board LEDs. */
+ #define LEDS_NO_LEDS 1
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRD |= LEDS_ALL_LEDS;
+ PORTD &= ~LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTD |= LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTD &= ~LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTD = ((PORTD & ~LEDS_ALL_LEDS) | LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTD = ((PORTD & ~LEDMask) | ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTD = (PORTD ^ (LEDMask & LEDS_ALL_LEDS));
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTD & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
diff --git a/firmware/LUFA/Drivers/Board/OLIMEX162/Buttons.h b/firmware/LUFA/Drivers/Board/OLIMEX162/Buttons.h
new file mode 100644
index 0000000..9632f7a
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/OLIMEX162/Buttons.h
@@ -0,0 +1,98 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Buttons driver header for the Olimex AVR-USB-162 Development Board.
+ *
+ * Board specific Buttons driver header for the Olimex AVR-USB-162 Development Board (http://www.olimex.com/dev/avr-usb-162.html).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ */
+
+/** \ingroup Group_Buttons
+ * @defgroup Group_Buttons_OLIMEX162 OLIMEX162
+ *
+ * Board specific Buttons driver header for the Olimex AVR-USB-162 Development Board (http://www.olimex.com/dev/avr-usb-162.html).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_OLIMEX162_H__
+#define __BUTTONS_OLIMEX162_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 (1 << 7)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ DDRD &= ~BUTTONS_BUTTON1;
+ PORTD |= BUTTONS_BUTTON1;
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ return ((PIND & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/OLIMEX162/LEDs.h b/firmware/LUFA/Drivers/Board/OLIMEX162/LEDs.h
new file mode 100644
index 0000000..d90f079
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/OLIMEX162/LEDs.h
@@ -0,0 +1,129 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Olimex AVR-USB-162.
+ *
+ * Board specific LED driver header for the Olimex AVR-USB-162 (http://www.olimex.com/dev/avr-usb-162.html).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_OLIMEX162 OLIMEX162
+ *
+ * Board specific LED driver header for the Olimex AVR-USB-162 (http://www.olimex.com/dev/avr-usb-162.html).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_OLIMEX162_H__
+#define __LEDS_OLIMEX162_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 4)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS LEDS_LED1
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRD |= LEDS_ALL_LEDS;
+ PORTD |= LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTD &= ~LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTD |= LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTD = ((PORTD | LEDS_ALL_LEDS) & ~LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTD = ((PORTD | LEDMask) & ~ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTD ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (~PORTD & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/RZUSBSTICK/LEDs.h b/firmware/LUFA/Drivers/Board/RZUSBSTICK/LEDs.h
new file mode 100644
index 0000000..d8949bd
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/RZUSBSTICK/LEDs.h
@@ -0,0 +1,163 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Atmel RZUSBSTICK.
+ *
+ * Board specific LED driver header for the Atmel RZUSBSTICK.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_RZUSBSTICK RZUSBSTICK
+ *
+ * Board specific LED driver header for the Atmel RZUSBSTICK.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_RZUSBSTICK_H__
+#define __LEDS_RZUSBSTICK_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define LEDS_PORTD_LEDS (LEDS_LED1 | LEDS_LED2)
+ #define LEDS_PORTE_LEDS (LEDS_LED3 | LEDS_LED4)
+
+ #define LEDS_PORTE_MASK_SHIFT 4
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 7)
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 (1 << 5)
+
+ /** LED mask for the third LED on the board. */
+ #define LEDS_LED3 ((1 << 6) >> LEDS_PORTE_MASK_SHIFT)
+
+ /** LED mask for the fourth LED on the board. */
+ #define LEDS_LED4 ((1 << 7) >> LEDS_PORTE_MASK_SHIFT)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2 | LEDS_LED3 | LEDS_LED4)
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRD |= LEDS_PORTD_LEDS;
+ PORTD &= ~LEDS_LED1;
+ PORTD |= LEDS_LED2;
+
+ DDRE |= (LEDS_PORTE_LEDS << LEDS_PORTE_MASK_SHIFT);
+ PORTE |= (LEDS_PORTE_LEDS << LEDS_PORTE_MASK_SHIFT);
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTD |= (LEDMask & LEDS_LED1);
+ PORTD &= ~(LEDMask & LEDS_LED2);
+ PORTE &= ~((LEDMask & LEDS_PORTE_LEDS) << LEDS_PORTE_MASK_SHIFT);
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTD &= ~(LEDMask & LEDS_LED1);
+ PORTD |= (LEDMask & LEDS_LED2);
+ PORTE |= ((LEDMask & LEDS_PORTE_LEDS) << LEDS_PORTE_MASK_SHIFT);
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTD = (((PORTD & ~LEDS_LED1) | (LEDMask & LEDS_LED1)) |
+ ((PORTD | LEDS_LED2) & ~(LEDMask & LEDS_LED2)));
+ PORTE = ((PORTE | (LEDS_PORTE_LEDS << LEDS_PORTE_MASK_SHIFT)) &
+ ~((LEDMask & LEDS_PORTE_LEDS) << LEDS_PORTE_MASK_SHIFT));
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTD = (((PORTD & ~(LEDMask & LEDS_LED1)) | (ActiveMask & LEDS_LED1)) |
+ ((PORTD | (LEDMask & LEDS_LED2)) & ~(ActiveMask & LEDS_LED2)));
+ PORTE = ((PORTE | ((LEDMask & LEDS_PORTE_LEDS) << LEDS_PORTE_MASK_SHIFT)) &
+ ~((ActiveMask & LEDS_PORTE_LEDS) << LEDS_PORTE_MASK_SHIFT));
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTD = (PORTD ^ (LEDMask & LEDS_PORTD_LEDS));
+ PORTE = (PORTE ^ ((LEDMask & LEDS_PORTE_LEDS) << LEDS_PORTE_MASK_SHIFT));
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (((PORTD & LEDS_LED1) | (~PORTD & LEDS_LED2)) |
+ ((~PORTE & (LEDS_PORTE_LEDS << LEDS_PORTE_MASK_SHIFT)) >> LEDS_PORTE_MASK_SHIFT));
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/STK525/AT45DB321C.h b/firmware/LUFA/Drivers/Board/STK525/AT45DB321C.h
new file mode 100644
index 0000000..8599d0f
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/STK525/AT45DB321C.h
@@ -0,0 +1,105 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Dataflash commands header for the AT45DB321C as mounted on the Atmel STK525.
+ *
+ * Board specific Dataflash commands header for the AT45DB321C as mounted on the Atmel STK525.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ */
+
+/** \ingroup Group_Dataflash_STK525
+ * @defgroup Group_Dataflash_STK525_AT45DB321C AT45DB321C
+ *
+ * Board specific Dataflash commands header for the AT45DB321C as mounted on the Atmel STK525.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ *
+ * @{
+ */
+
+#ifndef __DATAFLASH_CMDS_H__
+#define __DATAFLASH_CMDS_H__
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** \name Dataflash Status Values */
+ //@{
+ #define DF_STATUS_READY (1 << 7)
+ #define DF_STATUS_COMPMISMATCH (1 << 6)
+ #define DF_STATUS_SECTORPROTECTION_ON (1 << 1)
+ //@}
+
+ #define DF_MANUFACTURER_ATMEL 0x1F
+
+ /** \name Dataflash Commands */
+ //@{
+ #define DF_CMD_GETSTATUS 0xD7
+
+ #define DF_CMD_MAINMEMTOBUFF1 0x53
+ #define DF_CMD_MAINMEMTOBUFF2 0x55
+ #define DF_CMD_MAINMEMTOBUFF1COMP 0x60
+ #define DF_CMD_MAINMEMTOBUFF2COMP 0x61
+ #define DF_CMD_AUTOREWRITEBUFF1 0x58
+ #define DF_CMD_AUTOREWRITEBUFF2 0x59
+
+ #define DF_CMD_MAINMEMPAGEREAD 0xD2
+ #define DF_CMD_CONTARRAYREAD_LF 0xE8
+ #define DF_CMD_BUFF1READ_LF 0xD4
+ #define DF_CMD_BUFF2READ_LF 0xD6
+
+ #define DF_CMD_BUFF1WRITE 0x84
+ #define DF_CMD_BUFF2WRITE 0x87
+ #define DF_CMD_BUFF1TOMAINMEMWITHERASE 0x83
+ #define DF_CMD_BUFF2TOMAINMEMWITHERASE 0x86
+ #define DF_CMD_BUFF1TOMAINMEM 0x88
+ #define DF_CMD_BUFF2TOMAINMEM 0x89
+ #define DF_CMD_MAINMEMPAGETHROUGHBUFF1 0x82
+ #define DF_CMD_MAINMEMPAGETHROUGHBUFF2 0x85
+
+ #define DF_CMD_PAGEERASE 0x81
+ #define DF_CMD_BLOCKERASE 0x50
+
+ #define DF_CMD_SECTORPROTECTIONOFF ((char[]){0x3D, 0x2A, 0x7F, 0xCF})
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE1 0x3D
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE2 0x2A
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE3 0x7F
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE4 0xCF
+
+ #define DF_CMD_READMANUFACTURERDEVICEINFO 0x9F
+ //@}
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/STK525/Buttons.h b/firmware/LUFA/Drivers/Board/STK525/Buttons.h
new file mode 100644
index 0000000..73ef3aa
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/STK525/Buttons.h
@@ -0,0 +1,104 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Buttons driver header for the Atmel STK525.
+ *
+ * Board specific Buttons driver header for the Atmel STK525.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ */
+
+/** \ingroup Group_Buttons
+ * @defgroup Group_Buttons_STK525 STK525
+ *
+ * Board specific Buttons driver header for the Atmel STK525.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_STK525_H__
+#define __BUTTONS_STK525_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 (1 << 2)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ DDRE &= ~BUTTONS_BUTTON1;
+ PORTE |= BUTTONS_BUTTON1;
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ return ((PINE & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/STK525/Dataflash.h b/firmware/LUFA/Drivers/Board/STK525/Dataflash.h
new file mode 100644
index 0000000..10054d1
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/STK525/Dataflash.h
@@ -0,0 +1,184 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Dataflash driver header for the Atmel STK525.
+ *
+ * Board specific Dataflash driver header for the Atmel STK525.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ */
+
+/** \ingroup Group_Dataflash
+ * @defgroup Group_Dataflash_STK525 STK525
+ *
+ * Board specific Dataflash driver header for the Atmel STK525.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ *
+ * @{
+ */
+
+#ifndef __DATAFLASH_STK525_H__
+#define __DATAFLASH_STK525_H__
+
+ /* Includes: */
+ #include "AT45DB321C.h"
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_DATAFLASH_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Dataflash.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define DATAFLASH_CHIPCS_MASK (1 << 4)
+ #define DATAFLASH_CHIPCS_DDR DDRB
+ #define DATAFLASH_CHIPCS_PORT PORTB
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Constant indicating the total number of dataflash ICs mounted on the selected board. */
+ #define DATAFLASH_TOTALCHIPS 1
+
+ /** Mask for no dataflash chip selected. */
+ #define DATAFLASH_NO_CHIP DATAFLASH_CHIPCS_MASK
+
+ /** Mask for the first dataflash chip selected. */
+ #define DATAFLASH_CHIP1 0
+
+ /** Internal main memory page size for the board's dataflash IC. */
+ #define DATAFLASH_PAGE_SIZE 512
+
+ /** Total number of pages inside the board's dataflash IC. */
+ #define DATAFLASH_PAGES 8192
+
+ /* Inline Functions: */
+ /** Initialises the dataflash driver so that commands and data may be sent to an attached dataflash IC.
+ * The AVR's SPI driver MUST be initialized before any of the dataflash commands are used.
+ */
+ static inline void Dataflash_Init(void)
+ {
+ DATAFLASH_CHIPCS_DDR |= DATAFLASH_CHIPCS_MASK;
+ DATAFLASH_CHIPCS_PORT |= DATAFLASH_CHIPCS_MASK;
+ }
+
+ /** Determines the currently selected dataflash chip.
+ *
+ * \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
+ * or a DATAFLASH_CHIPn mask (where n is the chip number).
+ */
+ static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Dataflash_GetSelectedChip(void)
+ {
+ return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
+ }
+
+ /** Selects the given dataflash chip.
+ *
+ * \param[in] ChipMask Mask of the Dataflash IC to select, in the form of DATAFLASH_CHIPn mask (where n is
+ * the chip number).
+ */
+ static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
+ static inline void Dataflash_SelectChip(const uint8_t ChipMask)
+ {
+ DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask);
+ }
+
+ /** Deselects the current dataflash chip, so that no dataflash is selected. */
+ static inline void Dataflash_DeselectChip(void) ATTR_ALWAYS_INLINE;
+ static inline void Dataflash_DeselectChip(void)
+ {
+ Dataflash_SelectChip(DATAFLASH_NO_CHIP);
+ }
+
+ /** Selects a dataflash IC from the given page number, which should range from 0 to
+ * ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1). For boards containing only one
+ * dataflash IC, this will select DATAFLASH_CHIP1. If the given page number is outside
+ * the total number of pages contained in the boards dataflash ICs, all dataflash ICs
+ * are deselected.
+ *
+ * \param[in] PageAddress Address of the page to manipulate, ranging from
+ * ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1).
+ */
+ static inline void Dataflash_SelectChipFromPage(const uint16_t PageAddress)
+ {
+ Dataflash_DeselectChip();
+
+ if (PageAddress >= DATAFLASH_PAGES)
+ return;
+
+ Dataflash_SelectChip(DATAFLASH_CHIP1);
+ }
+
+ /** Toggles the select line of the currently selected dataflash IC, so that it is ready to receive
+ * a new command.
+ */
+ static inline void Dataflash_ToggleSelectedChipCS(void)
+ {
+ uint8_t SelectedChipMask = Dataflash_GetSelectedChip();
+
+ Dataflash_DeselectChip();
+ Dataflash_SelectChip(SelectedChipMask);
+ }
+
+ /** Spin-loops while the currently selected dataflash is busy executing a command, such as a main
+ * memory page program or main memory to buffer transfer.
+ */
+ static inline void Dataflash_WaitWhileBusy(void)
+ {
+ Dataflash_ToggleSelectedChipCS();
+ Dataflash_SendByte(DF_CMD_GETSTATUS);
+ while (!(Dataflash_ReceiveByte() & DF_STATUS_READY));
+ Dataflash_ToggleSelectedChipCS();
+ }
+
+ /** Sends a set of page and buffer address bytes to the currently selected dataflash IC, for use with
+ * dataflash commands which require a complete 24-byte address.
+ *
+ * \param[in] PageAddress Page address within the selected dataflash IC
+ * \param[in] BufferByte Address within the dataflash's buffer
+ */
+ static inline void Dataflash_SendAddressBytes(uint16_t PageAddress,
+ const uint16_t BufferByte)
+ {
+ Dataflash_SendByte(PageAddress >> 6);
+ Dataflash_SendByte((PageAddress << 2) | (BufferByte >> 8));
+ Dataflash_SendByte(BufferByte);
+ }
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/STK525/Joystick.h b/firmware/LUFA/Drivers/Board/STK525/Joystick.h
new file mode 100644
index 0000000..0535558
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/STK525/Joystick.h
@@ -0,0 +1,119 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific joystick driver header for the Atmel STK525.
+ *
+ * Board specific joystick driver header for the Atmel STK525.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the joystick driver
+ * dispatch header located in LUFA/Drivers/Board/Joystick.h.
+ */
+
+/** \ingroup Group_Joystick
+ * @defgroup Group_Joystick_STK525 STK525
+ *
+ * Board specific joystick driver header for the Atmel STK525.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the joystick driver
+ * dispatch header located in LUFA/Drivers/Board/Joystick.h.
+ *
+ * @{
+ */
+
+#ifndef __JOYSTICK_STK525_H__
+#define __JOYSTICK_STK525_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_JOYSTICK_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Joystick.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define JOY_BMASK ((1 << 5) | (1 << 6) | (1 << 7))
+ #define JOY_EMASK ((1 << 4) | (1 << 5))
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Mask for the joystick being pushed in the left direction. */
+ #define JOY_LEFT (1 << 6)
+
+ /** Mask for the joystick being pushed in the right direction. */
+ #define JOY_RIGHT ((1 << 4) >> 1)
+
+ /** Mask for the joystick being pushed in the upward direction. */
+ #define JOY_UP (1 << 7)
+
+ /** Mask for the joystick being pushed in the downward direction. */
+ #define JOY_DOWN ((1 << 5) >> 1)
+
+ /** Mask for the joystick being pushed inward. */
+ #define JOY_PRESS (1 << 5)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Joystick_Init(void)
+ {
+ DDRB &= ~(JOY_BMASK);
+ DDRE &= ~(JOY_EMASK);
+
+ PORTB |= JOY_BMASK;
+ PORTE |= JOY_EMASK;
+ }
+
+ static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Joystick_GetStatus(void)
+ {
+ return (((uint8_t)~PINB & JOY_BMASK) | (((uint8_t)~PINE & JOY_EMASK) >> 1));
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/STK525/LEDs.h b/firmware/LUFA/Drivers/Board/STK525/LEDs.h
new file mode 100644
index 0000000..edfc2bf
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/STK525/LEDs.h
@@ -0,0 +1,138 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Atmel STK525.
+ *
+ * Board specific LED driver header for the Atmel STK525.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_STK525 STK525
+ *
+ * Board specific LED driver header for the Atmel STK525.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_STK525_H__
+#define __LEDS_STK525_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 4)
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 (1 << 5)
+
+ /** LED mask for the third LED on the board. */
+ #define LEDS_LED3 (1 << 7)
+
+ /** LED mask for the fourth LED on the board. */
+ #define LEDS_LED4 (1 << 6)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2 | LEDS_LED3 | LEDS_LED4)
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRD |= LEDS_ALL_LEDS;
+ PORTD &= ~LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTD |= LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTD &= ~LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTD = ((PORTD & ~LEDS_ALL_LEDS) | LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTD = ((PORTD & ~LEDMask) | ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTD ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTD & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/STK526/AT45DB642D.h b/firmware/LUFA/Drivers/Board/STK526/AT45DB642D.h
new file mode 100644
index 0000000..c273083
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/STK526/AT45DB642D.h
@@ -0,0 +1,115 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Dataflash commands header for the AT45DB642D as mounted on the Atmel STK526.
+ *
+ * Board specific Dataflash commands header for the AT45DB642D as mounted on the Atmel STK526.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ */
+
+/** \ingroup Group_Dataflash_STK526
+ * @defgroup Group_Dataflash_STK526_AT45DB642D AT45DB642D
+ *
+ * Board specific Dataflash commands header for the AT45DB642D as mounted on the Atmel STK526.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ *
+ * @{
+ */
+
+#ifndef __DATAFLASH_CMDS_H__
+#define __DATAFLASH_CMDS_H__
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** \name Dataflash Status Values */
+ //@{
+ #define DF_STATUS_READY (1 << 7)
+ #define DF_STATUS_COMPMISMATCH (1 << 6)
+ #define DF_STATUS_SECTORPROTECTION_ON (1 << 1)
+ #define DF_STATUS_BINARYPAGESIZE_ON (1 << 0)
+ //@}
+
+ #define DF_MANUFACTURER_ATMEL 0x1F
+
+ /** \name Dataflash Commands */
+ //@{
+ #define DF_CMD_GETSTATUS 0xD7
+ #define DF_CMD_POWERDOWN 0xB9
+ #define DF_CMD_WAKEUP 0xAB
+
+ #define DF_CMD_MAINMEMTOBUFF1 0x53
+ #define DF_CMD_MAINMEMTOBUFF2 0x55
+ #define DF_CMD_MAINMEMTOBUFF1COMP 0x60
+ #define DF_CMD_MAINMEMTOBUFF2COMP 0x61
+ #define DF_CMD_AUTOREWRITEBUFF1 0x58
+ #define DF_CMD_AUTOREWRITEBUFF2 0x59
+
+ #define DF_CMD_MAINMEMPAGEREAD 0xD2
+ #define DF_CMD_CONTARRAYREAD_LF 0x03
+ #define DF_CMD_BUFF1READ_LF 0xD1
+ #define DF_CMD_BUFF2READ_LF 0xD3
+
+ #define DF_CMD_BUFF1WRITE 0x84
+ #define DF_CMD_BUFF2WRITE 0x87
+ #define DF_CMD_BUFF1TOMAINMEMWITHERASE 0x83
+ #define DF_CMD_BUFF2TOMAINMEMWITHERASE 0x86
+ #define DF_CMD_BUFF1TOMAINMEM 0x88
+ #define DF_CMD_BUFF2TOMAINMEM 0x89
+ #define DF_CMD_MAINMEMPAGETHROUGHBUFF1 0x82
+ #define DF_CMD_MAINMEMPAGETHROUGHBUFF2 0x85
+
+ #define DF_CMD_PAGEERASE 0x81
+ #define DF_CMD_BLOCKERASE 0x50
+ #define DF_CMD_SECTORERASE 0x7C
+
+ #define DF_CMD_CHIPERASE ((char[]){0xC7, 0x94, 0x80, 0x9A})
+ #define DF_CMD_CHIPERASE_BYTE1 0xC7
+ #define DF_CMD_CHIPERASE_BYTE2 0x94
+ #define DF_CMD_CHIPERASE_BYTE3 0x80
+ #define DF_CMD_CHIPERASE_BYTE4 0x9A
+
+ #define DF_CMD_SECTORPROTECTIONOFF ((char[]){0x3D, 0x2A, 0x7F, 0x9A})
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE1 0x3D
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE2 0x2A
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE3 0x7F
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE4 0x9A
+
+ #define DF_CMD_READMANUFACTURERDEVICEINFO 0x9F
+ //@}
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/STK526/Buttons.h b/firmware/LUFA/Drivers/Board/STK526/Buttons.h
new file mode 100644
index 0000000..cc07054
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/STK526/Buttons.h
@@ -0,0 +1,104 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Buttons driver header for the Atmel STK526.
+ *
+ * Board specific Buttons driver header for the Atmel STK526.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ */
+
+/** \ingroup Group_Buttons
+ * @defgroup Group_Buttons_STK526 STK526
+ *
+ * Board specific Buttons driver header for the Atmel STK526.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_STK526_H__
+#define __BUTTONS_STK526_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 (1 << 7)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ DDRD &= ~BUTTONS_BUTTON1;
+ PORTD |= BUTTONS_BUTTON1;
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ return ((PIND & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/STK526/Dataflash.h b/firmware/LUFA/Drivers/Board/STK526/Dataflash.h
new file mode 100644
index 0000000..087bfd2
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/STK526/Dataflash.h
@@ -0,0 +1,184 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Dataflash driver header for the Atmel STK525.
+ *
+ * Board specific Dataflash driver header for the Atmel STK525.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ */
+
+/** \ingroup Group_Dataflash
+ * @defgroup Group_Dataflash_STK526 STK526
+ *
+ * Board specific Dataflash driver header for the Atmel STK525.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ *
+ * @{
+ */
+
+#ifndef __DATAFLASH_STK526_H__
+#define __DATAFLASH_STK526_H__
+
+ /* Includes: */
+ #include "AT45DB642D.h"
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_DATAFLASH_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Dataflash.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define DATAFLASH_CHIPCS_MASK (1 << 2)
+ #define DATAFLASH_CHIPCS_DDR DDRC
+ #define DATAFLASH_CHIPCS_PORT PORTC
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Constant indicating the total number of dataflash ICs mounted on the selected board. */
+ #define DATAFLASH_TOTALCHIPS 1
+
+ /** Mask for no dataflash chip selected. */
+ #define DATAFLASH_NO_CHIP DATAFLASH_CHIPCS_MASK
+
+ /** Mask for the first dataflash chip selected. */
+ #define DATAFLASH_CHIP1 0
+
+ /** Internal main memory page size for the board's dataflash IC. */
+ #define DATAFLASH_PAGE_SIZE 1024
+
+ /** Total number of pages inside the board's dataflash IC. */
+ #define DATAFLASH_PAGES 8192
+
+ /* Inline Functions: */
+ /** Initialises the dataflash driver so that commands and data may be sent to an attached dataflash IC.
+ * The AVR's SPI driver MUST be initialized before any of the dataflash commands are used.
+ */
+ static inline void Dataflash_Init(void)
+ {
+ DATAFLASH_CHIPCS_DDR |= DATAFLASH_CHIPCS_MASK;
+ DATAFLASH_CHIPCS_PORT |= DATAFLASH_CHIPCS_MASK;
+ }
+
+ /** Determines the currently selected dataflash chip.
+ *
+ * \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
+ * or a DATAFLASH_CHIPn mask (where n is the chip number).
+ */
+ static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Dataflash_GetSelectedChip(void)
+ {
+ return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
+ }
+
+ /** Selects the given dataflash chip.
+ *
+ * \param[in] ChipMask Mask of the Dataflash IC to select, in the form of DATAFLASH_CHIPn mask (where n is
+ * the chip number).
+ */
+ static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
+ static inline void Dataflash_SelectChip(const uint8_t ChipMask)
+ {
+ DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask);
+ }
+
+ /** Deselects the current dataflash chip, so that no dataflash is selected. */
+ static inline void Dataflash_DeselectChip(void) ATTR_ALWAYS_INLINE;
+ static inline void Dataflash_DeselectChip(void)
+ {
+ Dataflash_SelectChip(DATAFLASH_NO_CHIP);
+ }
+
+ /** Selects a dataflash IC from the given page number, which should range from 0 to
+ * ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1). For boards containing only one
+ * dataflash IC, this will select DATAFLASH_CHIP1. If the given page number is outside
+ * the total number of pages contained in the boards dataflash ICs, all dataflash ICs
+ * are deselected.
+ *
+ * \param[in] PageAddress Address of the page to manipulate, ranging from
+ * ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1).
+ */
+ static inline void Dataflash_SelectChipFromPage(const uint16_t PageAddress)
+ {
+ Dataflash_DeselectChip();
+
+ if (PageAddress >= DATAFLASH_PAGES)
+ return;
+
+ Dataflash_SelectChip(DATAFLASH_CHIP1);
+ }
+
+ /** Toggles the select line of the currently selected dataflash IC, so that it is ready to receive
+ * a new command.
+ */
+ static inline void Dataflash_ToggleSelectedChipCS(void)
+ {
+ uint8_t SelectedChipMask = Dataflash_GetSelectedChip();
+
+ Dataflash_DeselectChip();
+ Dataflash_SelectChip(SelectedChipMask);
+ }
+
+ /** Spin-loops while the currently selected dataflash is busy executing a command, such as a main
+ * memory page program or main memory to buffer transfer.
+ */
+ static inline void Dataflash_WaitWhileBusy(void)
+ {
+ Dataflash_ToggleSelectedChipCS();
+ Dataflash_SendByte(DF_CMD_GETSTATUS);
+ while (!(Dataflash_ReceiveByte() & DF_STATUS_READY));
+ Dataflash_ToggleSelectedChipCS();
+ }
+
+ /** Sends a set of page and buffer address bytes to the currently selected dataflash IC, for use with
+ * dataflash commands which require a complete 24-byte address.
+ *
+ * \param[in] PageAddress Page address within the selected dataflash IC
+ * \param[in] BufferByte Address within the dataflash's buffer
+ */
+ static inline void Dataflash_SendAddressBytes(uint16_t PageAddress,
+ const uint16_t BufferByte)
+ {
+ Dataflash_SendByte(PageAddress >> 5);
+ Dataflash_SendByte((PageAddress << 3) | (BufferByte >> 8));
+ Dataflash_SendByte(BufferByte);
+ }
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/STK526/Joystick.h b/firmware/LUFA/Drivers/Board/STK526/Joystick.h
new file mode 100644
index 0000000..7309963
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/STK526/Joystick.h
@@ -0,0 +1,116 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific joystick driver header for the Atmel STK526.
+ *
+ * Board specific joystick driver header for the Atmel STK526.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the joystick driver
+ * dispatch header located in LUFA/Drivers/Board/Joystick.h.
+ */
+
+/** \ingroup Group_Joystick
+ * @defgroup Group_Joystick_STK526 STK526
+ *
+ * Board specific joystick driver header for the Atmel STK526.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the joystick driver
+ * dispatch header located in LUFA/Drivers/Board/Joystick.h.
+ *
+ * @{
+ */
+
+#ifndef __JOYSTICK_STK526_H__
+#define __JOYSTICK_STK526_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_JOYSTICK_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Joystick.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define JOY_BMASK ((1 << 0) | (1 << 4) | (1 << 5) | (1 << 6) | (1 << 7))
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Mask for the joystick being pushed in the left direction. */
+ #define JOY_LEFT (1 << 4)
+
+ /** Mask for the joystick being pushed in the right direction. */
+ #define JOY_RIGHT (1 << 6)
+
+ /** Mask for the joystick being pushed in the upward direction. */
+ #define JOY_UP (1 << 5)
+
+ /** Mask for the joystick being pushed in the downward direction. */
+ #define JOY_DOWN (1 << 7)
+
+ /** Mask for the joystick being pushed inward. */
+ #define JOY_PRESS (1 << 0)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Joystick_Init(void)
+ {
+ DDRB &= ~JOY_BMASK;
+
+ PORTB |= JOY_BMASK;
+ }
+
+ static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Joystick_GetStatus(void)
+ {
+ return ((uint8_t)~PINB & JOY_BMASK);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/STK526/LEDs.h b/firmware/LUFA/Drivers/Board/STK526/LEDs.h
new file mode 100644
index 0000000..b407d44
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/STK526/LEDs.h
@@ -0,0 +1,138 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Atmel STK526.
+ *
+ * Board specific LED driver header for the Atmel STK526.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_STK526 STK526
+ *
+ * Board specific LED driver header for the Atmel STK526.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_STK526_H__
+#define __LEDS_STK526_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 1)
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 (1 << 0)
+
+ /** LED mask for the third LED on the board. */
+ #define LEDS_LED3 (1 << 5)
+
+ /** LED mask for the fourth LED on the board. */
+ #define LEDS_LED4 (1 << 4)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2 | LEDS_LED3 | LEDS_LED4)
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRD |= LEDS_ALL_LEDS;
+ PORTD &= ~LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTD |= LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTD &= ~LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTD = ((PORTD & ~LEDS_ALL_LEDS) | LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTD = ((PORTD & ~LEDMask) | ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTD ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTD & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/TEENSY/LEDs.h b/firmware/LUFA/Drivers/Board/TEENSY/LEDs.h
new file mode 100644
index 0000000..29ed008
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/TEENSY/LEDs.h
@@ -0,0 +1,129 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the PJRC Teensy boards.
+ *
+ * Board specific LED driver header for the PJRC Teensy boards (http://www.pjrc.com/teensy/index.html).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_TEENSY TEENSY
+ *
+ * Board specific LED driver header for the PJRC Teensy boards (http://www.pjrc.com/teensy/index.html).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_TEENSY_H__
+#define __LEDS_TEENSY_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 6)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS LEDS_LED1
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRD |= LEDS_ALL_LEDS;
+ PORTD |= LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTD &= ~LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTD |= LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTD = ((PORTD | LEDS_ALL_LEDS) & ~LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTD = ((PORTD | LEDMask) & ~ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTD ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (~PORTD & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/Temperature.c b/firmware/LUFA/Drivers/Board/Temperature.c
new file mode 100644
index 0000000..719dfe1
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/Temperature.c
@@ -0,0 +1,61 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#include "Temperature.h"
+
+static const uint16_t PROGMEM Temperature_Lookup[] = {
+ 0x3B4, 0x3B0, 0x3AB, 0x3A6, 0x3A0, 0x39A, 0x394, 0x38E, 0x388, 0x381, 0x37A, 0x373,
+ 0x36B, 0x363, 0x35B, 0x353, 0x34A, 0x341, 0x338, 0x32F, 0x325, 0x31B, 0x311, 0x307,
+ 0x2FC, 0x2F1, 0x2E6, 0x2DB, 0x2D0, 0x2C4, 0x2B8, 0x2AC, 0x2A0, 0x294, 0x288, 0x27C,
+ 0x26F, 0x263, 0x256, 0x24A, 0x23D, 0x231, 0x225, 0x218, 0x20C, 0x200, 0x1F3, 0x1E7,
+ 0x1DB, 0x1CF, 0x1C4, 0x1B8, 0x1AC, 0x1A1, 0x196, 0x18B, 0x180, 0x176, 0x16B, 0x161,
+ 0x157, 0x14D, 0x144, 0x13A, 0x131, 0x128, 0x11F, 0x117, 0x10F, 0x106, 0x0FE, 0x0F7,
+ 0x0EF, 0x0E8, 0x0E1, 0x0DA, 0x0D3, 0x0CD, 0x0C7, 0x0C0, 0x0BA, 0x0B5, 0x0AF, 0x0AA,
+ 0x0A4, 0x09F, 0x09A, 0x096, 0x091, 0x08C, 0x088, 0x084, 0x080, 0x07C, 0x078, 0x074,
+ 0x071, 0x06D, 0x06A, 0x067, 0x064, 0x061, 0x05E, 0x05B, 0x058, 0x055, 0x053, 0x050,
+ 0x04E, 0x04C, 0x049, 0x047, 0x045, 0x043, 0x041, 0x03F, 0x03D, 0x03C, 0x03A, 0x038
+ };
+
+int8_t Temperature_GetTemperature(void)
+{
+ uint16_t Temp_ADC = ADC_GetChannelReading(ADC_REFERENCE_AVCC | ADC_RIGHT_ADJUSTED | TEMP_ADC_CHANNEL_MASK);
+
+ if (Temp_ADC > pgm_read_word(&Temperature_Lookup[0]))
+ return TEMP_MIN_TEMP;
+
+ for (uint16_t Index = 0; Index < TEMP_TABLE_SIZE; Index++)
+ {
+ if (Temp_ADC > pgm_read_word(&Temperature_Lookup[Index]))
+ return (Index + TEMP_TABLE_OFFSET);
+ }
+
+ return TEMP_MAX_TEMP;
+}
+
diff --git a/firmware/LUFA/Drivers/Board/Temperature.h b/firmware/LUFA/Drivers/Board/Temperature.h
new file mode 100644
index 0000000..e34a141
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/Temperature.h
@@ -0,0 +1,125 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the board temperature sensor driver.
+ *
+ * Master include file for the board temperature sensor driver, for the USB boards which contain a temperature sensor.
+ */
+
+/** \ingroup Group_BoardDrivers
+ * @defgroup Group_Temperature Temperature Sensor Driver - LUFA/Drivers/Board/Temperature.h
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/Board/Temperature.c <i>(Makefile source module name: LUFA_SRC_TEMPERATURE)</i>
+ *
+ * \section Module Description
+ * Temperature sensor driver. This provides an easy to use interface for the hardware temperature sensor located
+ * on many boards. It provides an interface to configure the sensor and appropriate ADC channel, plus read out the
+ * current temperature in degrees C. It is designed for and will only work with the temperature sensor located on the
+ * official Atmel USB AVR boards, as each sensor has different characteristics.
+ *
+ * @{
+ */
+
+#ifndef __TEMPERATURE_H__
+#define __TEMPERATURE_H__
+
+ /* Includes: */
+ #include <avr/pgmspace.h>
+
+ #include "../../Common/Common.h"
+ #include "../Peripheral/ADC.h"
+
+ #if (BOARD == BOARD_NONE)
+ #error The Board Temperature Sensor driver cannot be used if the makefile BOARD option is not set.
+ #elif ((BOARD != BOARD_USBKEY) && (BOARD != BOARD_STK525) && \
+ (BOARD != BOARD_STK526) && (BOARD != BOARD_USER) && \
+ (BOARD != BOARD_EVK527))
+ #error The selected board does not contain a temperature sensor.
+ #endif
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** ADC channel number for the temperature sensor. */
+ #define TEMP_ADC_CHANNEL 0
+
+ /** ADC channel MUX mask for the temperature sensor. */
+ #define TEMP_ADC_CHANNEL_MASK ADC_CHANNEL0
+
+ /** Minimum returnable temperature from the \ref Temperature_GetTemperature() function. */
+ #define TEMP_MIN_TEMP TEMP_TABLE_OFFSET
+
+ /** Maximum returnable temperature from the \ref Temperature_GetTemperature() function. */
+ #define TEMP_MAX_TEMP ((TEMP_TABLE_SIZE - 1) + TEMP_TABLE_OFFSET)
+
+ /* Inline Functions: */
+ /** Initialises the temperature sensor driver, including setting up the appropriate ADC channel.
+ * This must be called before any other temperature sensor routines.
+ *
+ * \pre The ADC itself (not the ADC channel) must be configured separately before calling the
+ * temperature sensor functions.
+ */
+ static inline void Temperature_Init(void) ATTR_ALWAYS_INLINE;
+ static inline void Temperature_Init(void)
+ {
+ ADC_SetupChannel(TEMP_ADC_CHANNEL);
+ }
+
+ /* Function Prototypes: */
+ /** Performs a complete ADC on the temperature sensor channel, and converts the result into a
+ * valid temperature between \ref TEMP_MIN_TEMP and \ref TEMP_MAX_TEMP in degrees Celsius.
+ *
+ * \return Signed temperature value in degrees Celsius.
+ */
+ int8_t Temperature_GetTemperature(void) ATTR_WARN_UNUSED_RESULT;
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define TEMP_TABLE_SIZE (sizeof(Temperature_Lookup) / sizeof(Temperature_Lookup[0]))
+ #define TEMP_TABLE_OFFSET -21
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/UDIP/Buttons.h b/firmware/LUFA/Drivers/Board/UDIP/Buttons.h
new file mode 100644
index 0000000..42646f8
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/UDIP/Buttons.h
@@ -0,0 +1,98 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Buttons driver header for the UDIP.
+ *
+ * Board specific Buttons driver header for the Linnix UDIP (http://linnix.com/udip/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ */
+
+/** \ingroup Group_Buttons
+ * @defgroup Group_Buttons_UDIP UDIP
+ *
+ * Board specific Buttons driver header for the Linnix UDIP (http://linnix.com/udip/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_UDIP_H__
+#define __BUTTONS_UDIP_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 (1 << 7)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ DDRD &= ~BUTTONS_BUTTON1;
+ PORTD |= BUTTONS_BUTTON1;
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ return ((PIND & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/UDIP/LEDs.h b/firmware/LUFA/Drivers/Board/UDIP/LEDs.h
new file mode 100644
index 0000000..e0060b5
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/UDIP/LEDs.h
@@ -0,0 +1,154 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Linnix UDIP.
+ *
+ * Board specific LED driver header for the Linnix UDIP (http://linnix.com/udip/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_UDIP UDIP
+ *
+ * Board specific LED driver header for the Linnix UDIP (http://linnix.com/udip/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_UDIP_H__
+#define __LEDS_UDIP_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define LEDS_PORTB_LEDS (LEDS_LED1 | LEDS_LED2)
+ #define LEDS_PORTD_LEDS (LEDS_LED3 | LEDS_LED4)
+
+ #define LEDS_PORTD_MASK_SHIFT 1
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 6)
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 (1 << 5)
+
+ /** LED mask for the third LED on the board. */
+ #define LEDS_LED3 ((1 << 5) >> LEDS_PORTD_MASK_SHIFT)
+
+ /** LED mask for the fourth LED on the board. */
+ #define LEDS_LED4 ((1 << 4) >> LEDS_PORTD_MASK_SHIFT)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2 | LEDS_LED3 | LEDS_LED4)
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRB |= LEDS_PORTB_LEDS;
+ DDRD |= (LEDS_PORTD_LEDS << LEDS_PORTD_MASK_SHIFT);
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTB |= (LEDMask & LEDS_PORTB_LEDS);
+ PORTD |= ((LEDMask & LEDS_PORTD_LEDS) << LEDS_PORTD_MASK_SHIFT);
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTB &= ~(LEDMask & LEDS_PORTB_LEDS);
+ PORTD &= ~((LEDMask & LEDS_PORTD_LEDS) << LEDS_PORTD_MASK_SHIFT);
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTB = (PORTB & ~LEDS_PORTB_LEDS) | (LEDMask & LEDS_PORTB_LEDS);
+ PORTD = (PORTD & ~(LEDS_PORTD_LEDS << LEDS_PORTD_MASK_SHIFT)) |
+ ((LEDMask & LEDS_PORTD_LEDS) << LEDS_PORTD_MASK_SHIFT);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTB = (PORTB & ~(LEDMask & LEDS_PORTB_LEDS)) | (ActiveMask & LEDS_PORTB_LEDS);
+ PORTD = (PORTD & ~((LEDMask & LEDS_PORTD_LEDS) << LEDS_PORTD_MASK_SHIFT)) |
+ ((ActiveMask & LEDS_PORTD_LEDS) << LEDS_PORTD_MASK_SHIFT);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTB ^= (LEDMask & LEDS_PORTB_LEDS);
+ PORTD ^= ((LEDMask & LEDS_PORTD_LEDS) << LEDS_PORTD_MASK_SHIFT);
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return ((PORTB & LEDS_PORTB_LEDS) | ((PORTD & LEDS_PORTD_LEDS) >> LEDS_PORTD_MASK_SHIFT));
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/UNO/LEDs.h b/firmware/LUFA/Drivers/Board/UNO/LEDs.h
new file mode 100644
index 0000000..dc16cd1
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/UNO/LEDs.h
@@ -0,0 +1,130 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Arduino Uno.
+ *
+ * Board specific LED driver header for the Arduino Uno (http://arduino.cc/en/Main/ArduinoBoardUno).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_UNO UNO
+ *
+ * Board specific LED driver header for the Arduino Uno (http://arduino.cc/en/Main/ArduinoBoardUno).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_BENITO_H__
+#define __LEDS_BENITO_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 4)
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 (1 << 5)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2)
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRD |= LEDS_ALL_LEDS;
+ PORTD |= LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTD &= ~LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTD |= LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTD = ((PORTD | LEDS_ALL_LEDS) & ~LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTD = ((PORTD | LEDMask) & ~ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTD ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTD & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/USBFOO/Buttons.h b/firmware/LUFA/Drivers/Board/USBFOO/Buttons.h
new file mode 100644
index 0000000..bb3f7e6
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/USBFOO/Buttons.h
@@ -0,0 +1,98 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Buttons driver header for the Kernel Concepts USBFOO.
+ *
+ * Board specific Buttons driver header for the Kernel Concepts USBFOO (http://shop.kernelconcepts.de/product_info.php?products_id=102).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ */
+
+/** \ingroup Group_Buttons
+ * @defgroup Group_Buttons_USBFOO USBFOO
+ *
+ * Board specific Buttons driver header for the Kernel Concepts USBFOO (http://shop.kernelconcepts.de/product_info.php?products_id=102).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_USBFOO_H__
+#define __BUTTONS_USBFOO_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 (1 << 7)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ DDRD &= ~BUTTONS_BUTTON1;
+ PORTD |= BUTTONS_BUTTON1;
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ return ((PIND & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/USBFOO/LEDS.h b/firmware/LUFA/Drivers/Board/USBFOO/LEDS.h
new file mode 100644
index 0000000..e9dd196
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/USBFOO/LEDS.h
@@ -0,0 +1,129 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Kernel Concepts USBFOO.
+ *
+ * Board specific LED driver header for the Kernel Concepts USBFOO (http://shop.kernelconcepts.de/product_info.php?products_id=102).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_USBFOO USBFOO
+ *
+ * Board specific LED driver header for the Kernel Concepts USBFOO (http://shop.kernelconcepts.de/product_info.php?products_id=102).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_USBFOO_H__
+#define __LEDS_USBFOO_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 4)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS LEDS_LED1
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRD |= LEDS_ALL_LEDS;
+ PORTD |= LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTD &= ~LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTD |= LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTD = ((PORTD | LEDS_ALL_LEDS) & ~LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTD = ((PORTD | LEDMask) & ~ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTD ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (~PORTD & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/USBKEY/AT45DB642D.h b/firmware/LUFA/Drivers/Board/USBKEY/AT45DB642D.h
new file mode 100644
index 0000000..9f2a429
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/USBKEY/AT45DB642D.h
@@ -0,0 +1,115 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Dataflash commands header for the AT45DB642D as mounted on the Atmel USBKEY.
+ *
+ * Board specific Dataflash commands header for the AT45DB642D as mounted on the Atmel USBKEY.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ */
+
+/** \ingroup Group_Dataflash_USBKEY
+ * @defgroup Group_Dataflash_USBKEY_AT45DB642D AT45DB642D
+ *
+ * Board specific Dataflash commands header for the AT45DB642D as mounted on the Atmel USBKEY.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ *
+ * @{
+ */
+
+#ifndef __DATAFLASH_CMDS_H__
+#define __DATAFLASH_CMDS_H__
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** \name Dataflash Status Values */
+ //@{
+ #define DF_STATUS_READY (1 << 7)
+ #define DF_STATUS_COMPMISMATCH (1 << 6)
+ #define DF_STATUS_SECTORPROTECTION_ON (1 << 1)
+ #define DF_STATUS_BINARYPAGESIZE_ON (1 << 0)
+ //@}
+
+ #define DF_MANUFACTURER_ATMEL 0x1F
+
+ /** \name Dataflash Commands */
+ //@{
+ #define DF_CMD_GETSTATUS 0xD7
+ #define DF_CMD_POWERDOWN 0xB9
+ #define DF_CMD_WAKEUP 0xAB
+
+ #define DF_CMD_MAINMEMTOBUFF1 0x53
+ #define DF_CMD_MAINMEMTOBUFF2 0x55
+ #define DF_CMD_MAINMEMTOBUFF1COMP 0x60
+ #define DF_CMD_MAINMEMTOBUFF2COMP 0x61
+ #define DF_CMD_AUTOREWRITEBUFF1 0x58
+ #define DF_CMD_AUTOREWRITEBUFF2 0x59
+
+ #define DF_CMD_MAINMEMPAGEREAD 0xD2
+ #define DF_CMD_CONTARRAYREAD_LF 0x03
+ #define DF_CMD_BUFF1READ_LF 0xD1
+ #define DF_CMD_BUFF2READ_LF 0xD3
+
+ #define DF_CMD_BUFF1WRITE 0x84
+ #define DF_CMD_BUFF2WRITE 0x87
+ #define DF_CMD_BUFF1TOMAINMEMWITHERASE 0x83
+ #define DF_CMD_BUFF2TOMAINMEMWITHERASE 0x86
+ #define DF_CMD_BUFF1TOMAINMEM 0x88
+ #define DF_CMD_BUFF2TOMAINMEM 0x89
+ #define DF_CMD_MAINMEMPAGETHROUGHBUFF1 0x82
+ #define DF_CMD_MAINMEMPAGETHROUGHBUFF2 0x85
+
+ #define DF_CMD_PAGEERASE 0x81
+ #define DF_CMD_BLOCKERASE 0x50
+ #define DF_CMD_SECTORERASE 0x7C
+
+ #define DF_CMD_CHIPERASE ((char[]){0xC7, 0x94, 0x80, 0x9A})
+ #define DF_CMD_CHIPERASE_BYTE1 0xC7
+ #define DF_CMD_CHIPERASE_BYTE2 0x94
+ #define DF_CMD_CHIPERASE_BYTE3 0x80
+ #define DF_CMD_CHIPERASE_BYTE4 0x9A
+
+ #define DF_CMD_SECTORPROTECTIONOFF ((char[]){0x3D, 0x2A, 0x7F, 0x9A})
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE1 0x3D
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE2 0x2A
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE3 0x7F
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE4 0x9A
+
+ #define DF_CMD_READMANUFACTURERDEVICEINFO 0x9F
+ //@}
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/USBKEY/Buttons.h b/firmware/LUFA/Drivers/Board/USBKEY/Buttons.h
new file mode 100644
index 0000000..d59e0a5
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/USBKEY/Buttons.h
@@ -0,0 +1,98 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Buttons driver header for the Atmel USBKEY.
+ *
+ * Board specific Buttons driver header for the Atmel USBKEY.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ */
+
+/** \ingroup Group_Buttons
+ * @defgroup Group_Buttons_USBKEY USBKEY
+ *
+ * Board specific Buttons driver header for the Atmel USBKEY.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_USBKEY_H__
+#define __BUTTONS_USBKEY_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 (1 << 2)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ DDRE &= ~BUTTONS_BUTTON1;
+ PORTE |= BUTTONS_BUTTON1;
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ return ((PINE & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/USBKEY/Dataflash.h b/firmware/LUFA/Drivers/Board/USBKEY/Dataflash.h
new file mode 100644
index 0000000..843928e
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/USBKEY/Dataflash.h
@@ -0,0 +1,192 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Dataflash driver header for the Atmel USBKEY.
+ *
+ * Board specific Dataflash driver header for the Atmel USBKEY.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ */
+
+/** \ingroup Group_Dataflash
+ * @defgroup Group_Dataflash_USBKEY USBKEY
+ *
+ * Board specific Dataflash driver header for the Atmel USBKEY board.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ *
+ * @{
+ */
+
+#ifndef __DATAFLASH_USBKEY_H__
+#define __DATAFLASH_USBKEY_H__
+
+ /* Includes: */
+ #include "AT45DB642D.h"
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_DATAFLASH_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Dataflash.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define DATAFLASH_CHIPCS_MASK ((1 << 1) | (1 << 0))
+ #define DATAFLASH_CHIPCS_DDR DDRE
+ #define DATAFLASH_CHIPCS_PORT PORTE
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Constant indicating the total number of dataflash ICs mounted on the selected board. */
+ #define DATAFLASH_TOTALCHIPS 2
+
+ /** Mask for no dataflash chip selected. */
+ #define DATAFLASH_NO_CHIP DATAFLASH_CHIPCS_MASK
+
+ /** Mask for the first dataflash chip selected. */
+ #define DATAFLASH_CHIP1 (1 << 1)
+
+ /** Mask for the second dataflash chip selected. */
+ #define DATAFLASH_CHIP2 (1 << 0)
+
+ /** Internal main memory page size for the board's dataflash ICs. */
+ #define DATAFLASH_PAGE_SIZE 1024
+
+ /** Total number of pages inside each of the board's dataflash ICs. */
+ #define DATAFLASH_PAGES 8192
+
+ /* Inline Functions: */
+ /** Initialises the dataflash driver so that commands and data may be sent to an attached dataflash IC.
+ * The AVR's SPI driver MUST be initialized before any of the dataflash commands are used.
+ */
+ static inline void Dataflash_Init(void)
+ {
+ DATAFLASH_CHIPCS_DDR |= DATAFLASH_CHIPCS_MASK;
+ DATAFLASH_CHIPCS_PORT |= DATAFLASH_CHIPCS_MASK;
+ }
+
+ /** Determines the currently selected dataflash chip.
+ *
+ * \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
+ * or a DATAFLASH_CHIPn mask (where n is the chip number).
+ */
+ static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Dataflash_GetSelectedChip(void)
+ {
+ return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
+ }
+
+ /** Selects the given dataflash chip.
+ *
+ * \param[in] ChipMask Mask of the Dataflash IC to select, in the form of DATAFLASH_CHIPn mask (where n is
+ * the chip number).
+ */
+ static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
+ static inline void Dataflash_SelectChip(const uint8_t ChipMask)
+ {
+ DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask);
+ }
+
+ /** Deselects the current dataflash chip, so that no dataflash is selected. */
+ static inline void Dataflash_DeselectChip(void) ATTR_ALWAYS_INLINE;
+ static inline void Dataflash_DeselectChip(void)
+ {
+ Dataflash_SelectChip(DATAFLASH_NO_CHIP);
+ }
+
+ /** Selects a dataflash IC from the given page number, which should range from 0 to
+ * ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1). For boards containing only one
+ * dataflash IC, this will select DATAFLASH_CHIP1. If the given page number is outside
+ * the total number of pages contained in the boards dataflash ICs, all dataflash ICs
+ * are deselected.
+ *
+ * \param[in] PageAddress Address of the page to manipulate, ranging from
+ * ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1).
+ */
+ static inline void Dataflash_SelectChipFromPage(const uint16_t PageAddress)
+ {
+ Dataflash_DeselectChip();
+
+ if (PageAddress >= (DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS))
+ return;
+
+ if (PageAddress & 0x01)
+ Dataflash_SelectChip(DATAFLASH_CHIP2);
+ else
+ Dataflash_SelectChip(DATAFLASH_CHIP1);
+ }
+
+ /** Toggles the select line of the currently selected dataflash IC, so that it is ready to receive
+ * a new command.
+ */
+ static inline void Dataflash_ToggleSelectedChipCS(void)
+ {
+ uint8_t SelectedChipMask = Dataflash_GetSelectedChip();
+
+ Dataflash_DeselectChip();
+ Dataflash_SelectChip(SelectedChipMask);
+ }
+
+ /** Spin-loops while the currently selected dataflash is busy executing a command, such as a main
+ * memory page program or main memory to buffer transfer.
+ */
+ static inline void Dataflash_WaitWhileBusy(void)
+ {
+ Dataflash_ToggleSelectedChipCS();
+ Dataflash_SendByte(DF_CMD_GETSTATUS);
+ while (!(Dataflash_ReceiveByte() & DF_STATUS_READY));
+ Dataflash_ToggleSelectedChipCS();
+ }
+
+ /** Sends a set of page and buffer address bytes to the currently selected dataflash IC, for use with
+ * dataflash commands which require a complete 24-byte address.
+ *
+ * \param[in] PageAddress Page address within the selected dataflash IC
+ * \param[in] BufferByte Address within the dataflash's buffer
+ */
+ static inline void Dataflash_SendAddressBytes(uint16_t PageAddress,
+ const uint16_t BufferByte)
+ {
+ PageAddress >>= 1;
+
+ Dataflash_SendByte(PageAddress >> 5);
+ Dataflash_SendByte((PageAddress << 3) | (BufferByte >> 8));
+ Dataflash_SendByte(BufferByte);
+ }
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/USBKEY/Joystick.h b/firmware/LUFA/Drivers/Board/USBKEY/Joystick.h
new file mode 100644
index 0000000..65d2b53
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/USBKEY/Joystick.h
@@ -0,0 +1,119 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific joystick driver header for the Atmel USBKEY.
+ *
+ * Board specific joystick driver header for the Atmel USBKEY.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the joystick driver
+ * dispatch header located in LUFA/Drivers/Board/Joystick.h.
+ */
+
+/** \ingroup Group_Joystick
+ * @defgroup Group_Joystick_USBKEY USBKEY
+ *
+ * Board specific joystick driver header for the Atmel USBKEY.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the joystick driver
+ * dispatch header located in LUFA/Drivers/Board/Joystick.h.
+ *
+ * @{
+ */
+
+#ifndef __JOYSTICK_USBKEY_H__
+#define __JOYSTICK_USBKEY_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_JOYSTICK_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Joystick.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define JOY_BMASK ((1 << 5) | (1 << 6) | (1 << 7))
+ #define JOY_EMASK ((1 << 4) | (1 << 5))
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Mask for the joystick being pushed in the left direction. */
+ #define JOY_LEFT (1 << 6)
+
+ /** Mask for the joystick being pushed in the right direction. */
+ #define JOY_RIGHT ((1 << 4) >> 1)
+
+ /** Mask for the joystick being pushed in the upward direction. */
+ #define JOY_UP (1 << 7)
+
+ /** Mask for the joystick being pushed in the downward direction. */
+ #define JOY_DOWN ((1 << 5) >> 1)
+
+ /** Mask for the joystick being pushed inward. */
+ #define JOY_PRESS (1 << 5)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Joystick_Init(void)
+ {
+ DDRB &= ~(JOY_BMASK);
+ DDRE &= ~(JOY_EMASK);
+
+ PORTB |= JOY_BMASK;
+ PORTE |= JOY_EMASK;
+ }
+
+ static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Joystick_GetStatus(void)
+ {
+ return (((uint8_t)~PINB & JOY_BMASK) | (((uint8_t)~PINE & JOY_EMASK) >> 1));
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/USBKEY/LEDs.h b/firmware/LUFA/Drivers/Board/USBKEY/LEDs.h
new file mode 100644
index 0000000..9362b78
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/USBKEY/LEDs.h
@@ -0,0 +1,137 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Atmel USBKEY.
+ *
+ * Board specific LED driver header for the Atmel USBKEY.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_USBKEY USBKEY
+ *
+ * Board specific LED driver header for the Atmel USBKEY.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_USBKEY_H__
+#define __LEDS_USBKEY_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 4)
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 (1 << 5)
+
+ /** LED mask for the third LED on the board. */
+ #define LEDS_LED3 (1 << 7)
+
+ /** LED mask for the fourth LED on the board. */
+ #define LEDS_LED4 (1 << 6)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2 | LEDS_LED3 | LEDS_LED4)
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRD |= LEDS_ALL_LEDS;
+ PORTD &= ~LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTD |= LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTD &= ~LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTD = ((PORTD & ~LEDS_ALL_LEDS) | LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTD = ((PORTD & ~LEDMask) | ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTD ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTD & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
diff --git a/firmware/LUFA/Drivers/Board/USBTINYMKII/Buttons.h b/firmware/LUFA/Drivers/Board/USBTINYMKII/Buttons.h
new file mode 100644
index 0000000..059016e
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/USBTINYMKII/Buttons.h
@@ -0,0 +1,98 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Buttons driver header for Tom's USBTINY MKII.
+ *
+ * Board specific Buttons driver header for Tom's USBTINY MKII (http://tom-itx.dyndns.org:81/~webpage/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ */
+
+/** \ingroup Group_Buttons
+ * @defgroup Group_Buttons_USBTINYMKII USBTINYMKII
+ *
+ * Board specific Buttons driver header for Tom's USBTINY MKII (http://tom-itx.dyndns.org:81/~webpage/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
+ * dispatch header located in LUFA/Drivers/Board/Buttons.h.
+ *
+ * @{
+ */
+
+#ifndef __BUTTONS_USBTINYMKII_H__
+#define __BUTTONS_USBTINYMKII_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_BUTTONS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Button mask for the first button on the board. */
+ #define BUTTONS_BUTTON1 (1 << 7)
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void Buttons_Init(void)
+ {
+ DDRD &= ~BUTTONS_BUTTON1;
+ PORTD |= BUTTONS_BUTTON1;
+ }
+
+ static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Buttons_GetStatus(void)
+ {
+ return ((PIND & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/USBTINYMKII/LEDs.h b/firmware/LUFA/Drivers/Board/USBTINYMKII/LEDs.h
new file mode 100644
index 0000000..cd33a2a
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/USBTINYMKII/LEDs.h
@@ -0,0 +1,133 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for Tom's USBTINY MKII.
+ *
+ * Board specific LED driver header for Tom's USBTINY MKII (http://tom-itx.dyndns.org:81/~webpage/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_USBTINYMKII USBTINYMKII
+ *
+ * Board specific LED driver header for Tom's USBTINY MKII (http://tom-itx.dyndns.org:81/~webpage/).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_USBTINYMKII_H__
+#define __LEDS_USBTINYMKII_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 6)
+
+ /** LED mask for the second LED on the board. */
+ #define LEDS_LED2 (1 << 7)
+
+ /** LED mask for the third LED on the board. */
+ #define LEDS_LED3 (1 << 5)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2 | LEDS_LED3)
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRB |= LEDS_ALL_LEDS;
+ PORTB &= ~LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LedMask)
+ {
+ PORTB |= LedMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LedMask)
+ {
+ PORTB &= ~LedMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LedMask)
+ {
+ PORTB = ((PORTB & ~LEDS_ALL_LEDS) | LedMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LedMask,
+ const uint8_t ActiveMask)
+ {
+ PORTB = ((PORTB & ~LedMask) | ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTB ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (PORTB & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/XPLAIN/AT45DB642D.h b/firmware/LUFA/Drivers/Board/XPLAIN/AT45DB642D.h
new file mode 100644
index 0000000..b02d338
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/XPLAIN/AT45DB642D.h
@@ -0,0 +1,115 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Dataflash commands header for the AT45DB642D as mounted on the Atmel XPLAIN.
+ *
+ * Board specific Dataflash commands header for the AT45DB642D as mounted on the Atmel XPLAIN.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ */
+
+/** \ingroup Group_Dataflash_XPLAIN
+ * @defgroup Group_Dataflash_XPLAIN_AT45DB642D AT45DB642D
+ *
+ * Board specific Dataflash commands header for the AT45DB642D as mounted on the Atmel XPLAIN.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ *
+ * @{
+ */
+
+#ifndef __DATAFLASH_CMDS_H__
+#define __DATAFLASH_CMDS_H__
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** \name Dataflash Status Values */
+ //@{
+ #define DF_STATUS_READY (1 << 7)
+ #define DF_STATUS_COMPMISMATCH (1 << 6)
+ #define DF_STATUS_SECTORPROTECTION_ON (1 << 1)
+ #define DF_STATUS_BINARYPAGESIZE_ON (1 << 0)
+ //@}
+
+ #define DF_MANUFACTURER_ATMEL 0x1F
+
+ /** \name Dataflash Commands */
+ //@{
+ #define DF_CMD_GETSTATUS 0xD7
+ #define DF_CMD_POWERDOWN 0xB9
+ #define DF_CMD_WAKEUP 0xAB
+
+ #define DF_CMD_MAINMEMTOBUFF1 0x53
+ #define DF_CMD_MAINMEMTOBUFF2 0x55
+ #define DF_CMD_MAINMEMTOBUFF1COMP 0x60
+ #define DF_CMD_MAINMEMTOBUFF2COMP 0x61
+ #define DF_CMD_AUTOREWRITEBUFF1 0x58
+ #define DF_CMD_AUTOREWRITEBUFF2 0x59
+
+ #define DF_CMD_MAINMEMPAGEREAD 0xD2
+ #define DF_CMD_CONTARRAYREAD_LF 0x03
+ #define DF_CMD_BUFF1READ_LF 0xD1
+ #define DF_CMD_BUFF2READ_LF 0xD3
+
+ #define DF_CMD_BUFF1WRITE 0x84
+ #define DF_CMD_BUFF2WRITE 0x87
+ #define DF_CMD_BUFF1TOMAINMEMWITHERASE 0x83
+ #define DF_CMD_BUFF2TOMAINMEMWITHERASE 0x86
+ #define DF_CMD_BUFF1TOMAINMEM 0x88
+ #define DF_CMD_BUFF2TOMAINMEM 0x89
+ #define DF_CMD_MAINMEMPAGETHROUGHBUFF1 0x82
+ #define DF_CMD_MAINMEMPAGETHROUGHBUFF2 0x85
+
+ #define DF_CMD_PAGEERASE 0x81
+ #define DF_CMD_BLOCKERASE 0x50
+ #define DF_CMD_SECTORERASE 0x7C
+
+ #define DF_CMD_CHIPERASE ((char[]){0xC7, 0x94, 0x80, 0x9A})
+ #define DF_CMD_CHIPERASE_BYTE1 0xC7
+ #define DF_CMD_CHIPERASE_BYTE2 0x94
+ #define DF_CMD_CHIPERASE_BYTE3 0x80
+ #define DF_CMD_CHIPERASE_BYTE4 0x9A
+
+ #define DF_CMD_SECTORPROTECTIONOFF ((char[]){0x3D, 0x2A, 0x7F, 0x9A})
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE1 0x3D
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE2 0x2A
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE3 0x7F
+ #define DF_CMD_SECTORPROTECTIONOFF_BYTE4 0x9A
+
+ #define DF_CMD_READMANUFACTURERDEVICEINFO 0x9F
+ //@}
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/XPLAIN/Dataflash.h b/firmware/LUFA/Drivers/Board/XPLAIN/Dataflash.h
new file mode 100644
index 0000000..0779b05
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/XPLAIN/Dataflash.h
@@ -0,0 +1,190 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific Dataflash driver header for the Atmel XPLAIN.
+ *
+ * Board specific Dataflash driver header for the Atmel XPLAIN.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ */
+
+/** \ingroup Group_Dataflash
+ * @defgroup Group_Dataflash_XPLAIN XPLAIN
+ *
+ * Board specific Dataflash driver header for the Atmel XPLAIN.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
+ * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
+ *
+ * @{
+ */
+
+#ifndef __DATAFLASH_XPLAIN_H__
+#define __DATAFLASH_XPLAIN_H__
+
+ /* Includes: */
+ #include "AT45DB642D.h"
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_DATAFLASH_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/Dataflash.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define DATAFLASH_CHIPCS_MASK (1 << 5)
+ #define DATAFLASH_CHIPCS_DDR DDRB
+ #define DATAFLASH_CHIPCS_PORT PORTB
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Constant indicating the total number of dataflash ICs mounted on the selected board. */
+ #define DATAFLASH_TOTALCHIPS 1
+
+ /** Mask for no dataflash chip selected. */
+ #define DATAFLASH_NO_CHIP DATAFLASH_CHIPCS_MASK
+
+ /** Mask for the first dataflash chip selected. */
+ #define DATAFLASH_CHIP1 0
+
+ #if (BOARD == BOARD_XPLAIN_REV1)
+ #define DATAFLASH_PAGE_SIZE 256
+
+ #define DATAFLASH_PAGES 2048
+ #else
+ /** Internal main memory page size for the board's dataflash ICs. */
+ #define DATAFLASH_PAGE_SIZE 1024
+
+ /** Total number of pages inside each of the board's dataflash ICs. */
+ #define DATAFLASH_PAGES 8192
+ #endif
+
+ /* Inline Functions: */
+ /** Initialises the dataflash driver so that commands and data may be sent to an attached dataflash IC.
+ * The AVR's SPI driver MUST be initialized before any of the dataflash commands are used.
+ */
+ static inline void Dataflash_Init(void)
+ {
+ DATAFLASH_CHIPCS_DDR |= DATAFLASH_CHIPCS_MASK;
+ DATAFLASH_CHIPCS_PORT |= DATAFLASH_CHIPCS_MASK;
+ }
+
+ /** Determines the currently selected dataflash chip.
+ *
+ * \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected
+ * or a DATAFLASH_CHIPn mask (where n is the chip number).
+ */
+ static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t Dataflash_GetSelectedChip(void)
+ {
+ return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK);
+ }
+
+ /** Selects the given dataflash chip.
+ *
+ * \param[in] ChipMask Mask of the Dataflash IC to select, in the form of DATAFLASH_CHIPn mask (where n is
+ * the chip number).
+ */
+ static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE;
+ static inline void Dataflash_SelectChip(const uint8_t ChipMask)
+ {
+ DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask);
+ }
+
+ /** Deselects the current dataflash chip, so that no dataflash is selected. */
+ static inline void Dataflash_DeselectChip(void) ATTR_ALWAYS_INLINE;
+ static inline void Dataflash_DeselectChip(void)
+ {
+ Dataflash_SelectChip(DATAFLASH_NO_CHIP);
+ }
+
+ /** Selects a dataflash IC from the given page number, which should range from 0 to
+ * ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1). For boards containing only one
+ * dataflash IC, this will select DATAFLASH_CHIP1. If the given page number is outside
+ * the total number of pages contained in the boards dataflash ICs, all dataflash ICs
+ * are deselected.
+ *
+ * \param[in] PageAddress Address of the page to manipulate, ranging from
+ * ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1).
+ */
+ static inline void Dataflash_SelectChipFromPage(const uint16_t PageAddress)
+ {
+ Dataflash_DeselectChip();
+
+ if (PageAddress >= DATAFLASH_PAGES)
+ return;
+
+ Dataflash_SelectChip(DATAFLASH_CHIP1);
+ }
+
+ /** Toggles the select line of the currently selected dataflash IC, so that it is ready to receive
+ * a new command.
+ */
+ static inline void Dataflash_ToggleSelectedChipCS(void)
+ {
+ uint8_t SelectedChipMask = Dataflash_GetSelectedChip();
+
+ Dataflash_DeselectChip();
+ Dataflash_SelectChip(SelectedChipMask);
+ }
+
+ /** Spin-loops while the currently selected dataflash is busy executing a command, such as a main
+ * memory page program or main memory to buffer transfer.
+ */
+ static inline void Dataflash_WaitWhileBusy(void)
+ {
+ Dataflash_ToggleSelectedChipCS();
+ Dataflash_SendByte(DF_CMD_GETSTATUS);
+ while (!(Dataflash_ReceiveByte() & DF_STATUS_READY));
+ Dataflash_ToggleSelectedChipCS();
+ }
+
+ /** Sends a set of page and buffer address bytes to the currently selected dataflash IC, for use with
+ * dataflash commands which require a complete 24-byte address.
+ *
+ * \param[in] PageAddress Page address within the selected dataflash IC
+ * \param[in] BufferByte Address within the dataflash's buffer
+ */
+ static inline void Dataflash_SendAddressBytes(uint16_t PageAddress,
+ const uint16_t BufferByte)
+ {
+ Dataflash_SendByte(PageAddress >> 5);
+ Dataflash_SendByte((PageAddress << 3) | (BufferByte >> 8));
+ Dataflash_SendByte(BufferByte);
+ }
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Board/XPLAIN/LEDs.h b/firmware/LUFA/Drivers/Board/XPLAIN/LEDs.h
new file mode 100644
index 0000000..a6b2fd2
--- /dev/null
+++ b/firmware/LUFA/Drivers/Board/XPLAIN/LEDs.h
@@ -0,0 +1,129 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Board specific LED driver header for the Atmel XPLAIN.
+ *
+ * Board specific LED driver header for the Atmel XPLAIN.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ */
+
+/** \ingroup Group_LEDs
+ * @defgroup Group_LEDs_XPLAIN XPLAIN
+ *
+ * Board specific LED driver header for the Atmel XPLAIN.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
+ * dispatch header located in LUFA/Drivers/Board/LEDs.h.
+ *
+ * @{
+ */
+
+#ifndef __LEDS_XPLAIN_H__
+#define __LEDS_XPLAIN_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_LEDS_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** LED mask for the first LED on the board. */
+ #define LEDS_LED1 (1 << 6)
+
+ /** LED mask for all the LEDs on the board. */
+ #define LEDS_ALL_LEDS LEDS_LED1
+
+ /** LED mask for none of the board LEDs. */
+ #define LEDS_NO_LEDS 0
+
+ /* Inline Functions: */
+ #if !defined(__DOXYGEN__)
+ static inline void LEDs_Init(void)
+ {
+ DDRB |= LEDS_ALL_LEDS;
+ PORTB |= LEDS_ALL_LEDS;
+ }
+
+ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
+ {
+ PORTB &= ~LEDMask;
+ }
+
+ static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
+ {
+ PORTB |= LEDMask;
+ }
+
+ static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
+ {
+ PORTB = ((PORTB | LEDS_ALL_LEDS) & ~LEDMask);
+ }
+
+ static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
+ const uint8_t ActiveMask)
+ {
+ PORTB = ((PORTB | LEDMask) & ~ActiveMask);
+ }
+
+ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
+ {
+ PORTB ^= LEDMask;
+ }
+
+ static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t LEDs_GetLEDs(void)
+ {
+ return (~PORTB & LEDS_ALL_LEDS);
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Misc/TerminalCodes.h b/firmware/LUFA/Drivers/Misc/TerminalCodes.h
new file mode 100644
index 0000000..b1bb8b8
--- /dev/null
+++ b/firmware/LUFA/Drivers/Misc/TerminalCodes.h
@@ -0,0 +1,224 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief ANSI terminal special escape code macros.
+ *
+ * ANSI terminal compatible escape sequences. These escape sequences are designed to be concatenated with existing
+ * strings to modify their display on a compatible terminal application.
+ */
+
+/** \ingroup Group_MiscDrivers
+ * @defgroup Group_Terminal ANSI Terminal Escape Codes - LUFA/Drivers/Misc/TerminalCodes.h
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - None
+ *
+ * \section Module Description
+ * Escape code macros for ANSI compliant text terminals.
+ *
+ * \note If desired, the macro DISABLE_TERMINAL_CODES can be defined in the project makefile and passed to the GCC
+ * compiler via the -D switch to disable the terminal codes without modifying the source, for use with non
+ * compatible terminals (any terminal codes then equate to empty strings).
+ *
+ * Example Usage:
+ * \code
+ * printf("Some String, " ESC_BOLD_ON " Some bold string");
+ * \endcode
+ *
+ * @{
+ */
+
+#ifndef __TERMINALCODES_H__
+#define __TERMINALCODES_H__
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ #if !defined(DISABLE_TERMINAL_CODES)
+ /** Creates an ANSI escape sequence with the specified payload.
+ *
+ * \param[in] EscapeSeq Payload to encode as an ANSI escape sequence, a ESC_* mask.
+ */
+ #define ANSI_ESCAPE_SEQUENCE(EscapeSeq) "\33[" EscapeSeq
+ #else
+ #define ANSI_ESCAPE_SEQUENCE(EscapeSeq)
+ #endif
+
+ /** \name Text Display Modifier Escape Sequences */
+ //@{
+ /** Turns on bold so that any following text is printed to the terminal in bold. */
+ #define ESC_BOLD_ON ANSI_ESCAPE_SEQUENCE("1m")
+
+ /** Turns on italics so that any following text is printed to the terminal in italics. */
+ #define ESC_ITALICS_ON ANSI_ESCAPE_SEQUENCE("3m")
+
+ /** Turns on underline so that any following text is printed to the terminal underlined. */
+ #define ESC_UNDERLINE_ON ANSI_ESCAPE_SEQUENCE("4m")
+
+ /** Turns on inverse so that any following text is printed to the terminal in inverted colours. */
+ #define ESC_INVERSE_ON ANSI_ESCAPE_SEQUENCE("7m")
+
+ /** Turns on strikethrough so that any following text is printed to the terminal with a line through the
+ * center.
+ */
+ #define ESC_STRIKETHROUGH_ON ANSI_ESCAPE_SEQUENCE("9m")
+
+ /** Turns off bold so that any following text is printed to the terminal in non bold. */
+ #define ESC_BOLD_OFF ANSI_ESCAPE_SEQUENCE("22m")
+
+ /** Turns off italics so that any following text is printed to the terminal in non italics. */
+ #define ESC_ITALICS_OFF ANSI_ESCAPE_SEQUENCE("23m")
+
+ /** Turns off underline so that any following text is printed to the terminal non underlined. */
+ #define ESC_UNDERLINE_OFF ANSI_ESCAPE_SEQUENCE("24m")
+
+ /** Turns off inverse so that any following text is printed to the terminal in non inverted colours. */
+ #define ESC_INVERSE_OFF ANSI_ESCAPE_SEQUENCE("27m")
+
+ /** Turns off strikethrough so that any following text is printed to the terminal without a line through
+ * the center.
+ */
+ #define ESC_STRIKETHROUGH_OFF ANSI_ESCAPE_SEQUENCE("29m")
+ //@}
+
+ /** \name Text Colour Control Sequences */
+ //@{
+ /** Sets the foreground (text) colour to black. */
+ #define ESC_FG_BLACK ANSI_ESCAPE_SEQUENCE("30m")
+
+ /** Sets the foreground (text) colour to red. */
+ #define ESC_FG_RED ANSI_ESCAPE_SEQUENCE("31m")
+
+ /** Sets the foreground (text) colour to green. */
+ #define ESC_FG_GREEN ANSI_ESCAPE_SEQUENCE("32m")
+
+ /** Sets the foreground (text) colour to yellow. */
+ #define ESC_FG_YELLOW ANSI_ESCAPE_SEQUENCE("33m")
+
+ /** Sets the foreground (text) colour to blue. */
+ #define ESC_FG_BLUE ANSI_ESCAPE_SEQUENCE("34m")
+
+ /** Sets the foreground (text) colour to magenta. */
+ #define ESC_FG_MAGENTA ANSI_ESCAPE_SEQUENCE("35m")
+
+ /** Sets the foreground (text) colour to cyan. */
+ #define ESC_FG_CYAN ANSI_ESCAPE_SEQUENCE("36m")
+
+ /** Sets the foreground (text) colour to white. */
+ #define ESC_FG_WHITE ANSI_ESCAPE_SEQUENCE("37m")
+
+ /** Sets the foreground (text) colour to the terminal's default. */
+ #define ESC_FG_DEFAULT ANSI_ESCAPE_SEQUENCE("39m")
+
+ /** Sets the text background colour to black. */
+ #define ESC_BG_BLACK ANSI_ESCAPE_SEQUENCE("40m")
+
+ /** Sets the text background colour to red. */
+ #define ESC_BG_RED ANSI_ESCAPE_SEQUENCE("41m")
+
+ /** Sets the text background colour to green. */
+ #define ESC_BG_GREEN ANSI_ESCAPE_SEQUENCE("42m")
+
+ /** Sets the text background colour to yellow. */
+ #define ESC_BG_YELLOW ANSI_ESCAPE_SEQUENCE("43m")
+
+ /** Sets the text background colour to blue. */
+ #define ESC_BG_BLUE ANSI_ESCAPE_SEQUENCE("44m")
+
+ /** Sets the text background colour to magenta. */
+ #define ESC_BG_MAGENTA ANSI_ESCAPE_SEQUENCE("45m")
+
+ /** Sets the text background colour to cyan. */
+ #define ESC_BG_CYAN ANSI_ESCAPE_SEQUENCE("46m")
+
+ /** Sets the text background colour to white. */
+ #define ESC_BG_WHITE ANSI_ESCAPE_SEQUENCE("47m")
+
+ /** Sets the text background colour to the terminal's default. */
+ #define ESC_BG_DEFAULT ANSI_ESCAPE_SEQUENCE("49m")
+ //@}
+
+ /** \name Cursor Positioning Control Sequences */
+ //@{
+ /** Saves the current cursor position so that it may be restored with \ref ESC_CURSOR_POS_RESTORE. */
+ #define ESC_CURSOR_POS_SAVE ANSI_ESCAPE_SEQUENCE("s")
+
+ /** Restores the cursor position to the last position saved with \ref ESC_CURSOR_POS_SAVE. */
+ #define ESC_CURSOR_POS_RESTORE ANSI_ESCAPE_SEQUENCE("u")
+
+ /** Sets the cursor position to the given line and column.
+ *
+ * \param[in] Line Line number to position the cursor at
+ * \param[in] Column Column number to position the cursor at
+ */
+ #define ESC_CURSOR_POS(Line, Column) ANSI_ESCAPE_SEQUENCE(#Line ";" #Column "H")
+
+ /** Moves the cursor up the given number of lines.
+ *
+ * \param[in] Lines Number of lines to move the cursor position
+ */
+ #define ESC_CURSOR_UP(Lines) ANSI_ESCAPE_SEQUENCE(#Lines "A")
+
+ /** Moves the cursor down the given number of lines.
+ *
+ * \param[in] Lines Number of lines to move the cursor position
+ */
+ #define ESC_CURSOR_DOWN(Lines) ANSI_ESCAPE_SEQUENCE(#Lines "B")
+
+ /** Moves the cursor to the right the given number of columns.
+ *
+ * \param[in] Columns Number of columns to move the cursor position
+ */
+ #define ESC_CURSOR_FORWARD(Columns) ANSI_ESCAPE_SEQUENCE(#Columns "C")
+
+ /** Moves the cursor to the left the given number of columns.
+ *
+ * \param[in] Columns Number of columns to move the cursor position
+ */
+ #define ESC_CURSOR_BACKWARD(Columns) ANSI_ESCAPE_SEQUENCE(#Columns "D")
+ //@}
+
+ /** \name Miscellaneous Control Sequences */
+ //@{
+ /** Resets any escape sequence modifiers back to their defaults. */
+ #define ESC_RESET ANSI_ESCAPE_SEQUENCE("0m")
+
+ /** Erases the entire display, returning the cursor to the top left. */
+ #define ESC_ERASE_DISPLAY ANSI_ESCAPE_SEQUENCE("2J")
+
+ /** Erases the current line, returning the cursor to the far left. */
+ #define ESC_ERASE_LINE ANSI_ESCAPE_SEQUENCE("K")
+ //@}
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Peripheral/ADC.h b/firmware/LUFA/Drivers/Peripheral/ADC.h
new file mode 100644
index 0000000..d172584
--- /dev/null
+++ b/firmware/LUFA/Drivers/Peripheral/ADC.h
@@ -0,0 +1,72 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the ADC peripheral driver.
+ *
+ * This file is the master dispatch header file for the device-specific ADC driver, for AVRs containing an ADC.
+ *
+ * User code should include this file, which will in turn include the correct ADC driver header file for the
+ * currently selected AVR model.
+ */
+
+/** \ingroup Group_PeripheralDrivers
+ * @defgroup Group_ADC ADC Driver - LUFA/Drivers/Peripheral/ADC.h
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - None
+ *
+ * \section Module Description
+ * Hardware ADC driver. This module provides an easy to use driver for the hardware
+ * ADC present on many AVR models, for the conversion of analogue signals into the
+ * digital domain.
+ */
+
+#ifndef __ADC_H__
+#define __ADC_H__
+
+ /* Macros: */
+ #if !defined(__DOXYGEN__)
+ #define __INCLUDE_FROM_ADC_H
+ #endif
+
+ /* Includes: */
+ #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || \
+ defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) || \
+ defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || \
+ defined(__AVR_ATmega32U6__))
+ #include "AVRU4U6U7/ADC.h"
+ #else
+ #error "ADC is not available for the currently selected AVR model."
+ #endif
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/Peripheral/AVRU4U6U7/ADC.h b/firmware/LUFA/Drivers/Peripheral/AVRU4U6U7/ADC.h
new file mode 100644
index 0000000..9a72cd2
--- /dev/null
+++ b/firmware/LUFA/Drivers/Peripheral/AVRU4U6U7/ADC.h
@@ -0,0 +1,411 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief ADC peripheral driver for the U7, U6 and U4 USB AVRs.
+ *
+ * On-chip Analogue-to-Digital converter (ADC) driver for supported U4, U6 and U7 model AVRs that contain an ADC
+ * peripheral internally.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the ADC driver
+ * dispatch header located in LUFA/Drivers/Peripheral/ADC.h.
+ */
+
+/** \ingroup Group_ADC
+ * @defgroup Group_ADC_AVRU4U6U7 Series U4, U6 and U7 Model ADC Driver
+ *
+ * On-chip Analogue-to-Digital converter (ADC) driver for supported U4, U6 and U7 model AVRs that contain an ADC
+ * peripheral internally.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the ADC driver
+ * dispatch header located in LUFA/Drivers/Peripheral/ADC.h.
+ *
+ * @{
+ */
+
+#ifndef __ADC_AVRU4U6U7_H__
+#define __ADC_AVRU4U6U7_H__
+
+ /* Includes: */
+ #include "../../../Common/Common.h"
+
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_ADC_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Peripheral/ADC.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** \name ADC Reference Configuration Masks */
+ //@{
+ /** Reference mask, for using the voltage present at the AVR's AREF pin for the ADC reference. */
+ #define ADC_REFERENCE_AREF 0
+
+ /** Reference mask, for using the voltage present at the AVR's AVCC pin for the ADC reference. */
+ #define ADC_REFERENCE_AVCC (1 << REFS0)
+
+ /** Reference mask, for using the internally generated 2.56V reference voltage as the ADC reference. */
+ #define ADC_REFERENCE_INT2560MV ((1 << REFS1) | (1 << REFS0))
+ //@}
+
+ /** \name ADC Result Adjustment Configuration Masks */
+ //@{
+ /** Left-adjusts the 10-bit ADC result, so that the upper 8 bits of the value returned by the
+ * ADC_GetResult() macro contain the 8 most significant bits of the result.
+ */
+ #define ADC_LEFT_ADJUSTED (1 << ADLAR)
+
+ /** Right-adjusts the 10-bit ADC result, so that the lower 8 bits of the value returned by the
+ * ADC_GetResult() macro contain the 8 least significant bits of the result.
+ */
+ #define ADC_RIGHT_ADJUSTED (0 << ADLAR)
+ //@}
+
+ /** \name ADC Mode Configuration Masks */
+ //@{
+ /** Sets the ADC mode to free running, so that conversions take place continuously as fast as the ADC
+ * is capable of at the given input clock speed.
+ */
+ #define ADC_FREE_RUNNING (1 << ADATE)
+
+ /** Sets the ADC mode to single conversion, so that only a single conversion will take place before
+ * the ADC returns to idle.
+ */
+ #define ADC_SINGLE_CONVERSION (0 << ADATE)
+ //@}
+
+ /** \name ADC Prescaler Configuration Masks */
+ //@{
+ /** Sets the ADC input clock to prescale by a factor of 2 the AVR's system clock. */
+ #define ADC_PRESCALE_2 (1 << ADPS0)
+
+ /** Sets the ADC input clock to prescale by a factor of 4 the AVR's system clock. */
+ #define ADC_PRESCALE_4 (1 << ADPS1)
+
+ /** Sets the ADC input clock to prescale by a factor of 8 the AVR's system clock. */
+ #define ADC_PRESCALE_8 ((1 << ADPS0) | (1 << ADPS1))
+
+ /** Sets the ADC input clock to prescale by a factor of 16 the AVR's system clock. */
+ #define ADC_PRESCALE_16 (1 << ADPS2)
+
+ /** Sets the ADC input clock to prescale by a factor of 32 the AVR's system clock. */
+ #define ADC_PRESCALE_32 ((1 << ADPS2) | (1 << ADPS0))
+
+ /** Sets the ADC input clock to prescale by a factor of 64 the AVR's system clock. */
+ #define ADC_PRESCALE_64 ((1 << ADPS2) | (1 << ADPS1))
+
+ /** Sets the ADC input clock to prescale by a factor of 128 the AVR's system clock. */
+ #define ADC_PRESCALE_128 ((1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0))
+ //@}
+
+ /** \name ADC MUX Masks */
+ //@{
+ /** MUX mask define for the ADC0 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading. */
+ #define ADC_CHANNEL0 (0x00 << MUX0)
+
+ /** MUX mask define for the ADC1 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading. */
+ #define ADC_CHANNEL1 (0x01 << MUX0)
+
+ #if !(defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || defined(__DOXYGEN__))
+ /** MUX mask define for the ADC2 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading.
+ *
+ * \note Not available on all AVR models.
+ */
+ #define ADC_CHANNEL2 (0x02 << MUX0)
+
+ /** MUX mask define for the ADC3 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading.
+ *
+ * \note Not available on all AVR models.
+ */
+ #define ADC_CHANNEL3 (0x03 << MUX0)
+ #endif
+
+ /** MUX mask define for the ADC4 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading. */
+ #define ADC_CHANNEL4 (0x04 << MUX0)
+
+ /** MUX mask define for the ADC5 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading. */
+ #define ADC_CHANNEL5 (0x05 << MUX0)
+
+ /** MUX mask define for the ADC6 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading. */
+ #define ADC_CHANNEL6 (0x06 << MUX0)
+
+ /** MUX mask define for the ADC7 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading. */
+ #define ADC_CHANNEL7 (0x07 << MUX0)
+
+ /** MUX mask define for the internal 1.1V bandgap channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading. */
+ #define ADC_1100MV_BANDGAP (0x1E << MUX0)
+
+ #if (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || defined(__DOXYGEN__))
+ /** MUX mask define for the ADC8 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading.
+ *
+ * \note Not available on all AVR models.
+ */
+ #define ADC_CHANNEL8 ((1 << 8) | (0x00 << MUX0))
+
+ /** MUX mask define for the ADC9 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading.
+ *
+ * \note Not available on all AVR models.
+ */
+ #define ADC_CHANNEL9 ((1 << 8) | (0x01 << MUX0))
+
+ /** MUX mask define for the ADC10 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading.
+ *
+ * \note Not available on all AVR models.
+ */
+ #define ADC_CHANNEL10 ((1 << 8) | (0x02 << MUX0))
+
+ /** MUX mask define for the ADC11 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading.
+ *
+ * \note Not available on all AVR models.
+ */
+ #define ADC_CHANNEL11 ((1 << 8) | (0x03 << MUX0))
+
+ /** MUX mask define for the ADC12 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading.
+ *
+ * \note Not available on all AVR models.
+ */
+ #define ADC_CHANNEL12 ((1 << 8) | (0x04 << MUX0))
+
+ /** MUX mask define for the ADC13 channel of the ADC. See \ref ADC_StartReading and \ref ADC_GetChannelReading.
+ *
+ * \note Not available on all AVR models.
+ */
+ #define ADC_CHANNEL13 ((1 << 8) | (0x05 << MUX0))
+
+ /** MUX mask define for the internal temperature sensor channel of the ADC. See \ref ADC_StartReading and
+ * \ref ADC_GetChannelReading.
+ *
+ * \note Not available on all AVR models.
+ */
+ #define ADC_INT_TEMP_SENS ((1 << 8) | (0x07 << MUX0))
+ #endif
+ //@}
+
+ /* Inline Functions: */
+ /** Configures the given ADC channel, ready for ADC conversions. This function sets the
+ * associated port pin as an input and disables the digital portion of the I/O to reduce
+ * power consumption.
+ *
+ * \note This must only be called for ADC channels with are connected to a physical port
+ * pin of the AVR, denoted by its special alternative function ADCx.
+ * \n\n
+ *
+ * \note The channel number must be specified as an integer, and NOT a ADC_CHANNELx mask.
+ *
+ * \param[in] ChannelIndex ADC channel number to set up for conversions.
+ */
+ static inline void ADC_SetupChannel(const uint8_t ChannelIndex)
+ {
+ #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || \
+ defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) || \
+ defined(__AVR_ATmega32U6__))
+ DDRF &= ~(1 << ChannelIndex);
+ DIDR0 |= (1 << ChannelIndex);
+ #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))
+ if (ChannelIndex < 8)
+ {
+ DDRF &= ~(1 << ChannelIndex);
+ DIDR0 |= (1 << ChannelIndex);
+ }
+ else if (ChannelIndex == 8)
+ {
+ DDRD &= ~(1 << 4);
+ DIDR2 |= (1 << 0);
+ }
+ else if (ChannelIndex < 11)
+ {
+ DDRD &= ~(1 << (ChannelIndex - 3));
+ DIDR2 |= (1 << (ChannelIndex - 8));
+ }
+ else
+ {
+ DDRB &= ~(1 << (ChannelIndex - 7));
+ DIDR2 |= (1 << (ChannelIndex - 8));
+ }
+ #endif
+ }
+
+ /** De-configures the given ADC channel, re-enabling digital I/O mode instead of analog. This
+ * function sets the associated port pin as an input and re-enabled the digital portion of
+ * the I/O.
+ *
+ * \note This must only be called for ADC channels with are connected to a physical port
+ * pin of the AVR, denoted by its special alternative function ADCx.
+ * \n\n
+ *
+ * \note The channel number must be specified as an integer, and NOT a ADC_CHANNELx mask.
+ *
+ * \param[in] ChannelIndex ADC channel number to set up for conversions.
+ */
+ static inline void ADC_DisableChannel(const uint8_t ChannelIndex)
+ {
+ #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || \
+ defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) || \
+ defined(__AVR_ATmega32U6__))
+ DDRF &= ~(1 << ChannelIndex);
+ DIDR0 &= ~(1 << ChannelIndex);
+ #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))
+ if (ChannelIndex < 8)
+ {
+ DDRF &= ~(1 << ChannelIndex);
+ DIDR0 &= ~(1 << ChannelIndex);
+ }
+ else if (ChannelIndex == 8)
+ {
+ DDRD &= ~(1 << 4);
+ DIDR2 &= ~(1 << 0);
+ }
+ else if (ChannelIndex < 11)
+ {
+ DDRD &= ~(1 << (ChannelIndex - 3));
+ DIDR2 &= ~(1 << (ChannelIndex - 8));
+ }
+ else
+ {
+ DDRB &= ~(1 << (ChannelIndex - 7));
+ DIDR2 &= ~(1 << (ChannelIndex - 8));
+ }
+ #endif
+ }
+
+ /** Starts the reading of the given channel, but does not wait until the conversion has completed.
+ * Once executed, the conversion status can be determined via the \ref ADC_IsReadingComplete() macro and
+ * the result read via the \ref ADC_GetResult() macro.
+ *
+ * If the ADC has been initialized in free running mode, calling this function once will begin the repeated
+ * conversions. If the ADC is in single conversion mode (or the channel to convert from is to be changed),
+ * this function must be called each time a conversion is to take place.
+ *
+ * \param[in] MUXMask ADC channel mask, reference mask and adjustment mask.
+ */
+ static inline void ADC_StartReading(const uint16_t MUXMask)
+ {
+ ADMUX = MUXMask;
+
+ #if (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || defined(__DOXYGEN__))
+ if (MUXMask & (1 << 8))
+ ADCSRB |= (1 << MUX5);
+ else
+ ADCSRB &= ~(1 << MUX5);
+ #endif
+
+ ADCSRA |= (1 << ADSC);
+ }
+
+ /** Indicates if the current ADC conversion is completed, or still in progress.
+ *
+ * \return Boolean false if the reading is still taking place, or true if the conversion is
+ * complete and ready to be read out with \ref ADC_GetResult().
+ */
+ static inline bool ADC_IsReadingComplete(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool ADC_IsReadingComplete(void)
+ {
+ return ((ADCSRA & (1 << ADIF)) ? true : false);
+ }
+
+ /** Retrieves the conversion value of the last completed ADC conversion and clears the reading
+ * completion flag.
+ *
+ * \return The result of the last ADC conversion as an unsigned value.
+ */
+ static inline uint16_t ADC_GetResult(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint16_t ADC_GetResult(void)
+ {
+ ADCSRA |= (1 << ADIF);
+ return ADC;
+ }
+
+ /** Performs a complete single reading from channel, including a polling spin-loop to wait for the
+ * conversion to complete, and the returning of the converted value.
+ *
+ * \note For free running mode, the automated conversions should be initialized with a single call
+ * to \ref ADC_StartReading() to select the channel and begin the automated conversions, and
+ * the results read directly from the \ref ADC_GetResult() instead to reduce overhead.
+ *
+ * \param[in] MUXMask Mask comprising of an ADC channel mask, reference mask and adjustment mask.
+ */
+ static inline uint16_t ADC_GetChannelReading(const uint16_t MUXMask) ATTR_WARN_UNUSED_RESULT;
+ static inline uint16_t ADC_GetChannelReading(const uint16_t MUXMask)
+ {
+ ADC_StartReading(MUXMask);
+
+ while (!(ADC_IsReadingComplete()));
+
+ return ADC_GetResult();
+ }
+
+ /** Initialises the ADC, ready for conversions. This must be called before any other ADC operations.
+ * The "mode" parameter should be a mask comprised of a conversion mode (free running or single) and
+ * prescaler masks.
+ *
+ * \param[in] Mode Mask of ADC prescale and mode settings.
+ */
+ static inline void ADC_Init(uint8_t Mode) ATTR_ALWAYS_INLINE;
+ static inline void ADC_Init(uint8_t Mode)
+ {
+ ADCSRA = ((1 << ADEN) | Mode);
+ }
+
+ /** Turns off the ADC. If this is called, any further ADC operations will require a call to
+ * \ref ADC_Init() before the ADC can be used again.
+ */
+ static inline void ADC_ShutDown(void) ATTR_ALWAYS_INLINE;
+ static inline void ADC_ShutDown(void)
+ {
+ ADCSRA = 0;
+ }
+
+ /** Indicates if the ADC is currently enabled.
+ *
+ * \return Boolean true if the ADC subsystem is currently enabled, false otherwise.
+ */
+ static inline bool ADC_GetStatus(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool ADC_GetStatus(void)
+ {
+ return ((ADCSRA & (1 << ADEN)) ? true : false);
+ }
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Peripheral/AVRU4U6U7/TWI.h b/firmware/LUFA/Drivers/Peripheral/AVRU4U6U7/TWI.h
new file mode 100644
index 0000000..a797990
--- /dev/null
+++ b/firmware/LUFA/Drivers/Peripheral/AVRU4U6U7/TWI.h
@@ -0,0 +1,155 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief TWI peripheral driver for the U7, U6 and U4 USB AVRs.
+ *
+ * Master mode TWI driver for the AT90USB1287, AT90USB1286, AT90USB647, AT90USB646, ATMEGA16U4 and ATMEGA32U4 AVRs.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the TWI driver
+ * dispatch header located in LUFA/Drivers/Peripheral/TWI.h.
+ */
+
+/** \ingroup Group_TWI
+ * @defgroup Group_TWI_AVRU4U6U7 Series U4, U6 and U7 Model TWI Driver
+ *
+ * Master mode TWI driver for the AT90USB1287, AT90USB1286, AT90USB647, AT90USB646, ATMEGA16U4 and ATMEGA32U4 AVRs.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the TWI driver
+ * dispatch header located in LUFA/Drivers/Peripheral/TWI.h.
+ *
+ * @{
+ */
+
+#ifndef __TWI_AVRU4U6U7_H__
+#define __TWI_AVRU4U6U7_H__
+
+ /* Includes: */
+ #include "../../../Common/Common.h"
+
+ #include <avr/io.h>
+ #include <stdbool.h>
+ #include <util/twi.h>
+ #include <util/delay.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_TWI_H)
+ #error Do not include this file directly. Include LUFA/Drivers/Peripheral/TWI.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Inline Functions: */
+ /** Initialises the TWI hardware into master mode, ready for data transmission and reception. This must be
+ * before any other TWI operations.
+ */
+ static inline void TWI_Init(void) ATTR_ALWAYS_INLINE;
+ static inline void TWI_Init(void)
+ {
+ TWCR |= (1 << TWEN);
+ }
+
+ /** Turns off the TWI driver hardware. If this is called, any further TWI operations will require a call to
+ * \ref TWI_Init() before the TWI can be used again.
+ */
+ static inline void TWI_ShutDown(void) ATTR_ALWAYS_INLINE;
+ static inline void TWI_ShutDown(void)
+ {
+ TWCR &= ~(1 << TWEN);
+ }
+
+ /** Sends a TWI STOP onto the TWI bus, terminating communication with the currently addressed device. */
+ static inline void TWI_StopTransmission(void) ATTR_ALWAYS_INLINE;
+ static inline void TWI_StopTransmission(void)
+ {
+ TWCR = ((1 << TWINT) | (1 << TWSTO) | (1 << TWEN));
+ }
+
+ /** Sends a byte to the currently addressed device on the TWI bus.
+ *
+ * \param[in] Byte Byte to send to the currently addressed device
+ *
+ * \return Boolean true if the recipient ACKed the byte, false otherwise
+ */
+ static inline bool TWI_SendByte(const uint8_t Byte)
+ {
+ TWDR = Byte;
+ TWCR = ((1 << TWINT) | (1 << TWEN));
+ while (!(TWCR & (1 << TWINT)));
+
+ return ((TWSR & TW_STATUS_MASK) == TW_MT_DATA_ACK);
+ }
+
+ /** Receives a byte from the currently addressed device on the TWI bus.
+ *
+ * \param[in] Byte Location where the read byte is to be stored
+ * \param[in] LastByte Indicates if the byte should be ACKed if false, NAKed if true
+ *
+ * \return Boolean true if the byte reception successfully completed, false otherwise
+ */
+ static inline bool TWI_ReceiveByte(uint8_t* const Byte,
+ const bool LastByte)
+ {
+ uint8_t TWCRMask = ((1 << TWINT) | (1 << TWEN));
+
+ if (!(LastByte))
+ TWCRMask |= (1 << TWEA);
+
+ TWCR = TWCRMask;
+ while (!(TWCR & (1 << TWINT)));
+ *Byte = TWDR;
+
+ return ((TWSR & TW_STATUS_MASK) == TW_MR_DATA_ACK);
+ }
+
+ /* Function Prototypes: */
+ /** Begins a master mode TWI bus communication with the given slave device address.
+ *
+ * \param[in] SlaveAddress Address of the slave TWI device to communicate with
+ * \param[in] TimeoutMS Timeout period within which the slave must respond, in milliseconds
+ *
+ * \return Boolean true if the device is ready for data, false otherwise
+ */
+ bool TWI_StartTransmission(const uint8_t SlaveAddress,
+ const uint8_t TimeoutMS);
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Peripheral/SPI.h b/firmware/LUFA/Drivers/Peripheral/SPI.h
new file mode 100644
index 0000000..957325e
--- /dev/null
+++ b/firmware/LUFA/Drivers/Peripheral/SPI.h
@@ -0,0 +1,208 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the SPI peripheral driver.
+ *
+ * Hardware SPI subsystem driver for the supported USB AVRs models.
+ */
+
+/** \ingroup Group_PeripheralDrivers
+ * @defgroup Group_SPI SPI Driver - LUFA/Drivers/Peripheral/SPI.h
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - None
+ *
+ * \section Module Description
+ * Driver for the hardware SPI port available on most AVR models. This module provides
+ * an easy to use driver for the setup of and transfer of data over the AVR's SPI port.
+ *
+ * @{
+ */
+
+#ifndef __SPI_H__
+#define __SPI_H__
+
+ /* Includes: */
+ #include <stdbool.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define SPI_USE_DOUBLESPEED (1 << SPE)
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** \name SPI Prescaler Configuration Masks */
+ //@{
+ /** SPI prescaler mask for SPI_Init(). Divides the system clock by a factor of 2. */
+ #define SPI_SPEED_FCPU_DIV_2 SPI_USE_DOUBLESPEED
+
+ /** SPI prescaler mask for SPI_Init(). Divides the system clock by a factor of 4. */
+ #define SPI_SPEED_FCPU_DIV_4 0
+
+ /** SPI prescaler mask for SPI_Init(). Divides the system clock by a factor of 8. */
+ #define SPI_SPEED_FCPU_DIV_8 (SPI_USE_DOUBLESPEED | (1 << SPR0))
+
+ /** SPI prescaler mask for SPI_Init(). Divides the system clock by a factor of 16. */
+ #define SPI_SPEED_FCPU_DIV_16 (1 << SPR0)
+
+ /** SPI prescaler mask for SPI_Init(). Divides the system clock by a factor of 32. */
+ #define SPI_SPEED_FCPU_DIV_32 (SPI_USE_DOUBLESPEED | (1 << SPR1))
+
+ /** SPI prescaler mask for SPI_Init(). Divides the system clock by a factor of 64. */
+ #define SPI_SPEED_FCPU_DIV_64 (SPI_USE_DOUBLESPEED | (1 << SPR1) | (1 << SPR0))
+
+ /** SPI prescaler mask for SPI_Init(). Divides the system clock by a factor of 128. */
+ #define SPI_SPEED_FCPU_DIV_128 ((1 << SPR1) | (1 << SPR0))
+ //@}
+
+ /** \name SPI SCK Polarity Configuration Masks */
+ //@{
+ /** SPI clock polarity mask for SPI_Init(). Indicates that the SCK should lead on the rising edge. */
+ #define SPI_SCK_LEAD_RISING (0 << CPOL)
+
+ /** SPI clock polarity mask for SPI_Init(). Indicates that the SCK should lead on the falling edge. */
+ #define SPI_SCK_LEAD_FALLING (1 << CPOL)
+ //@}
+
+ /** \name SPI Sample Edge Configuration Masks */
+ //@{
+ /** SPI data sample mode mask for SPI_Init(). Indicates that the data should sampled on the leading edge. */
+ #define SPI_SAMPLE_LEADING (0 << CPHA)
+
+ /** SPI data sample mode mask for SPI_Init(). Indicates that the data should be sampled on the trailing edge. */
+ #define SPI_SAMPLE_TRAILING (1 << CPHA)
+ //@}
+
+ /** \name SPI Data Ordering Configuration Masks */
+ //@{
+ /** SPI data order mask for SPI_Init(). Indicates that data should be shifted out MSB first. */
+ #define SPI_ORDER_MSB_FIRST (0 << DORD)
+
+ /** SPI data order mask for SPI_Init(). Indicates that data should be shifted out MSB first. */
+ #define SPI_ORDER_LSB_FIRST (1 << DORD)
+ //@}
+
+ /** \name SPI Mode Configuration Masks */
+ //@{
+ /** SPI mode mask for SPI_Init(). Indicates that the SPI interface should be initialized into slave mode. */
+ #define SPI_MODE_SLAVE (0 << MSTR)
+
+ /** SPI mode mask for SPI_Init(). Indicates that the SPI interface should be initialized into master mode. */
+ #define SPI_MODE_MASTER (1 << MSTR)
+ //@}
+
+ /* Inline Functions: */
+ /** Initialises the SPI subsystem, ready for transfers. Must be called before calling any other
+ * SPI routines.
+ *
+ * \param[in] SPIOptions SPI Options, a mask consisting of one of each of the SPI_SPEED_*,
+ * SPI_SCK_*, SPI_SAMPLE_*, SPI_ORDER_* and SPI_MODE_* masks.
+ */
+ static inline void SPI_Init(const uint8_t SPIOptions)
+ {
+ DDRB |= ((1 << 1) | (1 << 2));
+ DDRB &= ~((1 << 0) | (1 << 3));
+ PORTB |= ((1 << 0) | (1 << 3));
+
+ SPCR = ((1 << SPE) | SPIOptions);
+
+ if (SPIOptions & SPI_USE_DOUBLESPEED)
+ SPSR |= (1 << SPI2X);
+ else
+ SPSR &= ~(1 << SPI2X);
+ }
+
+ /** Turns off the SPI driver, disabling and returning used hardware to their default configuration. */
+ static inline void SPI_ShutDown(void)
+ {
+ DDRB &= ~((1 << 1) | (1 << 2));
+ PORTB &= ~((1 << 0) | (1 << 3));
+
+ SPCR = 0;
+ SPSR = 0;
+ }
+
+ /** Sends and receives a byte through the SPI interface, blocking until the transfer is complete.
+ *
+ * \param[in] Byte Byte to send through the SPI interface.
+ *
+ * \return Response byte from the attached SPI device.
+ */
+ static inline uint8_t SPI_TransferByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
+ static inline uint8_t SPI_TransferByte(const uint8_t Byte)
+ {
+ SPDR = Byte;
+ while (!(SPSR & (1 << SPIF)));
+ return SPDR;
+ }
+
+ /** Sends a byte through the SPI interface, blocking until the transfer is complete. The response
+ * byte sent to from the attached SPI device is ignored.
+ *
+ * \param[in] Byte Byte to send through the SPI interface.
+ */
+ static inline void SPI_SendByte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
+ static inline void SPI_SendByte(const uint8_t Byte)
+ {
+ SPDR = Byte;
+ while (!(SPSR & (1 << SPIF)));
+ }
+
+ /** Sends a dummy byte through the SPI interface, blocking until the transfer is complete. The response
+ * byte from the attached SPI device is returned.
+ *
+ * \return The response byte from the attached SPI device.
+ */
+ static inline uint8_t SPI_ReceiveByte(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
+ static inline uint8_t SPI_ReceiveByte(void)
+ {
+ SPDR = 0x00;
+ while (!(SPSR & (1 << SPIF)));
+ return SPDR;
+ }
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Peripheral/Serial.c b/firmware/LUFA/Drivers/Peripheral/Serial.c
new file mode 100644
index 0000000..fe41b20
--- /dev/null
+++ b/firmware/LUFA/Drivers/Peripheral/Serial.c
@@ -0,0 +1,54 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#include "Serial.h"
+
+void Serial_TxString_P(const char* FlashStringPtr)
+{
+ uint8_t CurrByte;
+
+ while ((CurrByte = pgm_read_byte(FlashStringPtr)) != 0x00)
+ {
+ Serial_TxByte(CurrByte);
+ FlashStringPtr++;
+ }
+}
+
+void Serial_TxString(const char* StringPtr)
+{
+ uint8_t CurrByte;
+
+ while ((CurrByte = *StringPtr) != 0x00)
+ {
+ Serial_TxByte(CurrByte);
+ StringPtr++;
+ }
+}
+
diff --git a/firmware/LUFA/Drivers/Peripheral/Serial.h b/firmware/LUFA/Drivers/Peripheral/Serial.h
new file mode 100644
index 0000000..9f42df6
--- /dev/null
+++ b/firmware/LUFA/Drivers/Peripheral/Serial.h
@@ -0,0 +1,167 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the USART peripheral driver.
+ *
+ * Driver for the USART subsystem on supported USB AVRs.
+ */
+
+/** \ingroup Group_PeripheralDrivers
+ * @defgroup Group_Serial Serial USART Driver - LUFA/Drivers/Peripheral/Serial.h
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/Peripheral/Serial.c <i>(Makefile source module name: LUFA_SRC_SERIAL)</i>
+ *
+ * \section Module Description
+ * Hardware serial USART driver. This module provides an easy to use driver for
+ * the setup of and transfer of data over the AVR's USART port.
+ *
+ * @{
+ */
+
+#ifndef __SERIAL_H__
+#define __SERIAL_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <avr/pgmspace.h>
+ #include <stdbool.h>
+
+ #include "../../Common/Common.h"
+ #include "../Misc/TerminalCodes.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Macro for calculating the baud value from a given baud rate when the U2X (double speed) bit is
+ * not set.
+ */
+ #define SERIAL_UBBRVAL(baud) ((((F_CPU / 16) + (baud / 2)) / (baud)) - 1)
+
+ /** Macro for calculating the baud value from a given baud rate when the U2X (double speed) bit is
+ * set.
+ */
+ #define SERIAL_2X_UBBRVAL(baud) ((((F_CPU / 8) + (baud / 2)) / (baud)) - 1)
+
+ /* Function Prototypes: */
+ /** Transmits a given string located in program space (FLASH) through the USART.
+ *
+ * \param[in] FlashStringPtr Pointer to a string located in program space.
+ */
+ void Serial_TxString_P(const char* FlashStringPtr) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Transmits a given string located in SRAM memory through the USART.
+ *
+ * \param[in] StringPtr Pointer to a string located in SRAM space.
+ */
+ void Serial_TxString(const char* StringPtr) ATTR_NON_NULL_PTR_ARG(1);
+
+ /* Inline Functions: */
+ /** Initializes the USART, ready for serial data transmission and reception. This initializes the interface to
+ * standard 8-bit, no parity, 1 stop bit settings suitable for most applications.
+ *
+ * \param[in] BaudRate Serial baud rate, in bits per second.
+ * \param[in] DoubleSpeed Enables double speed mode when set, halving the sample time to double the baud rate.
+ */
+ static inline void Serial_Init(const uint32_t BaudRate,
+ const bool DoubleSpeed)
+ {
+ UBRR1 = (DoubleSpeed ? SERIAL_2X_UBBRVAL(BaudRate) : SERIAL_UBBRVAL(BaudRate));
+
+ UCSR1C = ((1 << UCSZ11) | (1 << UCSZ10));
+ UCSR1A = (DoubleSpeed ? (1 << U2X1) : 0);
+ UCSR1B = ((1 << TXEN1) | (1 << RXEN1));
+
+ DDRD |= (1 << 3);
+ PORTD |= (1 << 2);
+ }
+
+ /** Turns off the USART driver, disabling and returning used hardware to their default configuration. */
+ static inline void Serial_ShutDown(void)
+ {
+ UCSR1B = 0;
+ UCSR1A = 0;
+ UCSR1C = 0;
+
+ UBRR1 = 0;
+
+ DDRD &= ~(1 << 3);
+ PORTD &= ~(1 << 2);
+ }
+
+ /** Indicates whether a character has been received through the USART.
+ *
+ * \return Boolean true if a character has been received, false otherwise.
+ */
+ static inline bool Serial_IsCharReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Serial_IsCharReceived(void)
+ {
+ return ((UCSR1A & (1 << RXC1)) ? true : false);
+ }
+
+ /** Transmits a given byte through the USART.
+ *
+ * \param[in] DataByte Byte to transmit through the USART.
+ */
+ static inline void Serial_TxByte(const char DataByte) ATTR_ALWAYS_INLINE;
+ static inline void Serial_TxByte(const char DataByte)
+ {
+ while (!(UCSR1A & (1 << UDRE1)));
+ UDR1 = DataByte;
+ }
+
+ /** Receives a byte from the USART. This function blocks until a byte has been
+ * received; if non-blocking behaviour is required, test for a received character
+ * beforehand with \ref Serial_IsCharReceived().
+ *
+ * \return Byte received from the USART.
+ */
+ static inline char Serial_RxByte(void) ATTR_ALWAYS_INLINE;
+ static inline char Serial_RxByte(void)
+ {
+ while (!(UCSR1A & (1 << RXC1)));
+ return UDR1;
+ }
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Peripheral/SerialStream.c b/firmware/LUFA/Drivers/Peripheral/SerialStream.c
new file mode 100644
index 0000000..30aa5a4
--- /dev/null
+++ b/firmware/LUFA/Drivers/Peripheral/SerialStream.c
@@ -0,0 +1,54 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_SERIALSTREAM_C
+#include "SerialStream.h"
+
+FILE USARTStream = FDEV_SETUP_STREAM(SerialStream_TxByte, SerialStream_RxByte, _FDEV_SETUP_RW);
+
+static int SerialStream_TxByte(char DataByte,
+ FILE *Stream)
+{
+ (void)Stream;
+
+ Serial_TxByte(DataByte);
+ return 0;
+}
+
+static int SerialStream_RxByte(FILE *Stream)
+{
+ (void)Stream;
+
+ if (!(Serial_IsCharReceived()))
+ return _FDEV_EOF;
+
+ return Serial_RxByte();
+}
+
diff --git a/firmware/LUFA/Drivers/Peripheral/SerialStream.h b/firmware/LUFA/Drivers/Peripheral/SerialStream.h
new file mode 100644
index 0000000..3e37667
--- /dev/null
+++ b/firmware/LUFA/Drivers/Peripheral/SerialStream.h
@@ -0,0 +1,116 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Standard avr-libc character stream driver for the USART.
+ *
+ * Serial stream driver for the USART subsystem on supported USB AVRs. This makes use of the functions in the
+ * regular USART driver (see \ref Group_Serial), but allows the avr-libc standard stream functions (printf,
+ * puts, etc.) to work with the
+ * USART.
+ */
+
+/** \ingroup Group_PeripheralDrivers
+ * @defgroup Group_SerialStream Serial Stream Driver - LUFA/Drivers/Peripheral/SerialStream.h
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/Peripheral/SerialStream.c <i>(Makefile source module name: LUFA_SRC_SERIALSTREAM)</i>
+ *
+ * \section Module Description
+ * Serial stream driver for the USART subsystem on supported USB AVRs. This makes use of the functions in the
+ * regular USART driver (see \ref Group_Serial), but allows the avr-libc standard stream functions (printf,
+ * puts, etc.) to work with the
+ * USART.
+ *
+ * @{
+ */
+
+#ifndef __SERIAL_STREAM_H__
+#define __SERIAL_STREAM_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdio.h>
+
+ #include "Serial.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* External Variables: */
+ extern FILE USARTStream;
+
+ /* Function Prototypes: */
+ #if defined(__INCLUDE_FROM_SERIALSTREAM_C)
+ static int SerialStream_TxByte(char DataByte,
+ FILE *Stream) ATTR_NON_NULL_PTR_ARG(2);
+ static int SerialStream_RxByte(FILE *Stream) ATTR_NON_NULL_PTR_ARG(1);
+ #endif
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Inline Functions: */
+ /** Initialises the serial stream (and regular USART driver) so that both the stream and regular
+ * USART driver functions can be used. Must be called before any stream or regular USART functions.
+ *
+ * \param[in] BaudRate Baud rate to configure the USART to.
+ * \param[in] DoubleSpeed Enables double speed mode when set, halving the sample time to double the baud rate.
+ */
+ static inline void SerialStream_Init(const uint32_t BaudRate,
+ const bool DoubleSpeed)
+ {
+ Serial_Init(BaudRate, DoubleSpeed);
+
+ stdout = &USARTStream;
+ stdin = &USARTStream;
+ }
+
+ /** Turns off the serial stream (and regular USART driver), disabling and returning used hardware to
+ * their default configuration.
+ */
+ static inline void SerialStream_ShutDown(void)
+ {
+ Serial_ShutDown();
+ }
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/Peripheral/TWI.c b/firmware/LUFA/Drivers/Peripheral/TWI.c
new file mode 100644
index 0000000..4694b0b
--- /dev/null
+++ b/firmware/LUFA/Drivers/Peripheral/TWI.c
@@ -0,0 +1,75 @@
+/*
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+#include "TWI.h"
+
+bool TWI_StartTransmission(const uint8_t SlaveAddress,
+ const uint8_t TimeoutMS)
+{
+ for (;;)
+ {
+ bool BusCaptured = false;
+ uint16_t TimeoutRemaining;
+
+ TWCR = ((1 << TWINT) | (1 << TWSTA) | (1 << TWEN));
+
+ TimeoutRemaining = (TimeoutMS * 100);
+ while (TimeoutRemaining-- && !(BusCaptured))
+ {
+ if (TWCR & (1 << TWINT))
+ {
+ switch (TWSR & TW_STATUS_MASK)
+ {
+ case TW_START:
+ case TW_REP_START:
+ BusCaptured = true;
+ break;
+ case TW_MT_ARB_LOST:
+ TWCR = ((1 << TWINT) | (1 << TWSTA) | (1 << TWEN));
+ continue;
+ default:
+ TWCR = (1 << TWEN);
+ return false;
+ }
+ }
+
+ _delay_us(10);
+ }
+
+ if (!(BusCaptured))
+ {
+ TWCR = (1 << TWEN);
+ return false;
+ }
+
+ TWDR = SlaveAddress;
+ TWCR = ((1 << TWINT) | (1 << TWEN));
+
+ TimeoutRemaining = (TimeoutMS * 100);
+ while (TimeoutRemaining--)
+ {
+ if (TWCR & (1 << TWINT))
+ break;
+
+ _delay_us(10);
+ }
+
+ if (!(TimeoutRemaining))
+ return false;
+
+ switch (TWSR & TW_STATUS_MASK)
+ {
+ case TW_MT_SLA_ACK:
+ case TW_MR_SLA_ACK:
+ return true;
+ default:
+ TWCR = ((1 << TWINT) | (1 << TWSTO) | (1 << TWEN));
+ return false;
+ }
+ }
+}
+
diff --git a/firmware/LUFA/Drivers/Peripheral/TWI.h b/firmware/LUFA/Drivers/Peripheral/TWI.h
new file mode 100644
index 0000000..ae918c3
--- /dev/null
+++ b/firmware/LUFA/Drivers/Peripheral/TWI.h
@@ -0,0 +1,72 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the TWI peripheral driver.
+ *
+ * This file is the master dispatch header file for the device-specific ADC driver, for AVRs containing an ADC.
+ *
+ * User code should include this file, which will in turn include the correct ADC driver header file for the
+ * currently selected AVR model.
+ */
+
+/** \ingroup Group_PeripheralDrivers
+ * @defgroup Group_TWI TWI Driver - LUFA/Drivers/Peripheral/TWI.h
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/Peripheral/TWI.c <i>(Makefile source module name: LUFA_SRC_TWI)</i>
+ *
+ *
+ * \section Module Description
+ * Master Mode Hardware TWI driver. This module provides an easy to use driver for the hardware
+ * TWI present on many AVR models, for the transmission and reception of data on a TWI bus.
+ */
+
+#ifndef __TWI_H__
+#define __TWI_H__
+
+ /* Macros: */
+ #if !defined(__DOXYGEN__)
+ #define __INCLUDE_FROM_TWI_H
+ #endif
+
+ /* Includes: */
+ #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) || \
+ defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) || \
+ defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || \
+ defined(__AVR_ATmega32U6__))
+ #include "AVRU4U6U7/TWI.h"
+ #else
+ #error "TWI is not available for the currently selected AVR model."
+ #endif
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Audio.h b/firmware/LUFA/Drivers/USB/Class/Audio.h
new file mode 100644
index 0000000..70ababe
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Audio.h
@@ -0,0 +1,75 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the library USB Audio Class driver.
+ *
+ * Master include file for the library USB Audio Class driver, for both host and device modes, where available.
+ *
+ * This file should be included in all user projects making use of this optional class driver, instead of
+ * including any headers in the USB/ClassDriver/Device, USB/ClassDriver/Host or USB/ClassDriver/Common subdirectories.
+ */
+
+/** \ingroup Group_USBClassDrivers
+ * @defgroup Group_USBClassAudio Audio Class Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Device/Audio.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Audio Class Driver module. This module contains an internal implementation of the USB Audio 1.0 Class, for Device
+ * USB mode only. User applications can use this class driver instead of implementing the Audio class manually via
+ * the low-level LUFA APIs.
+ *
+ * This module is designed to simplify the user code by exposing only the required interface needed to interface with
+ * Hosts or Devices using the USB Audio Class.
+ *
+ * @{
+ */
+
+#ifndef _AUDIO_CLASS_H_
+#define _AUDIO_CLASS_H_
+
+ /* Macros: */
+ #define __INCLUDE_FROM_USB_DRIVER
+ #define __INCLUDE_FROM_AUDIO_DRIVER
+
+ /* Includes: */
+ #include "../HighLevel/USBMode.h"
+
+ #if defined(USB_CAN_BE_DEVICE)
+ #include "Device/Audio.h"
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/CDC.h b/firmware/LUFA/Drivers/USB/Class/CDC.h
new file mode 100644
index 0000000..d8b7b58
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/CDC.h
@@ -0,0 +1,80 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the library USB CDC-ACM Class driver.
+ *
+ * Master include file for the library USB CDC Class driver, for both host and device modes, where available.
+ *
+ * This file should be included in all user projects making use of this optional class driver, instead of
+ * including any headers in the USB/ClassDriver/Device, USB/ClassDriver/Host or USB/ClassDriver/Common subdirectories.
+ */
+
+/** \ingroup Group_USBClassDrivers
+ * @defgroup Group_USBClassCDC CDC-ACM (Virtual Serial) Class Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Device/CDC.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ * - LUFA/Drivers/USB/Class/Host/CDC.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * CDC Class Driver module. This module contains an internal implementation of the USB CDC-ACM class Virtual Serial
+ * Ports, for both Device and Host USB modes. User applications can use this class driver instead of implementing the
+ * CDC class manually via the low-level LUFA APIs.
+ *
+ * This module is designed to simplify the user code by exposing only the required interface needed to interface with
+ * Hosts or Devices using the USB CDC Class.
+ *
+ * @{
+ */
+
+#ifndef _CDC_CLASS_H_
+#define _CDC_CLASS_H_
+
+ /* Macros: */
+ #define __INCLUDE_FROM_USB_DRIVER
+ #define __INCLUDE_FROM_CDC_DRIVER
+
+ /* Includes: */
+ #include "../HighLevel/USBMode.h"
+
+ #if defined(USB_CAN_BE_DEVICE)
+ #include "Device/CDC.h"
+ #endif
+
+ #if defined(USB_CAN_BE_HOST)
+ #include "Host/CDC.h"
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Common/Audio.h b/firmware/LUFA/Drivers/USB/Class/Common/Audio.h
new file mode 100644
index 0000000..a635947
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Common/Audio.h
@@ -0,0 +1,701 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Common definitions and declarations for the library USB Audio 1.0 Class driver.
+ *
+ * Common definitions and declarations for the library USB Audio 1.0 Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassAudio
+ * @defgroup Group_USBClassAudioCommon Common Class Definitions
+ *
+ * \section Module Description
+ * Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
+ * Audio 1.0 Class.
+ *
+ * @{
+ */
+
+#ifndef _AUDIO_CLASS_COMMON_H_
+#define _AUDIO_CLASS_COMMON_H_
+
+ /* Includes: */
+ #include "../../HighLevel/StdDescriptors.h"
+
+ #include <string.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_AUDIO_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ /* Macros: */
+ #if !defined(AUDIO_TOTAL_SAMPLE_RATES) || defined(__DOXYGEN__)
+ /** Total number of discrete audio sample rates supported by the device. This value can be overridden by defining this
+ * token in the project makefile to the desired value, and passing it to the compiler via the -D switch.
+ */
+ #define AUDIO_TOTAL_SAMPLE_RATES 1
+ #endif
+
+ /** \name Audio Channel Masks */
+ //@{
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_CHANNEL_LEFT_FRONT (1 << 0)
+
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_CHANNEL_RIGHT_FRONT (1 << 1)
+
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_CHANNEL_CENTER_FRONT (1 << 2)
+
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_CHANNEL_LOW_FREQ_ENHANCE (1 << 3)
+
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_CHANNEL_LEFT_SURROUND (1 << 4)
+
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_CHANNEL_RIGHT_SURROUND (1 << 5)
+
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_CHANNEL_LEFT_OF_CENTER (1 << 6)
+
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_CHANNEL_RIGHT_OF_CENTER (1 << 7)
+
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_CHANNEL_SURROUND (1 << 8)
+
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_CHANNEL_SIDE_LEFT (1 << 9)
+
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_CHANNEL_SIDE_RIGHT (1 << 10)
+
+ /** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_CHANNEL_TOP (1 << 11)
+ //@}
+
+ /** \name Audio Feature Masks */
+ //@{
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
+ #define AUDIO_FEATURE_MUTE (1 << 0)
+
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
+ #define AUDIO_FEATURE_VOLUME (1 << 1)
+
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
+ #define AUDIO_FEATURE_BASS (1 << 2)
+
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
+ #define AUDIO_FEATURE_MID (1 << 3)
+
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
+ #define AUDIO_FEATURE_TREBLE (1 << 4)
+
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
+ #define AUDIO_FEATURE_GRAPHIC_EQUALIZER (1 << 5)
+
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
+ #define AUDIO_FEATURE_AUTOMATIC_GAIN (1 << 6)
+
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
+ #define AUDIO_FEATURE_DELAY (1 << 7)
+
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
+ #define AUDIO_FEATURE_BASS_BOOST (1 << 8)
+
+ /** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
+ #define AUDIO_FEATURE_BASS_LOUDNESS (1 << 9)
+ //@}
+
+ /** \name Audio Terminal Types */
+ //@{
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_UNDEFINED 0x0100
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_STREAMING 0x0101
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_VENDOR 0x01FF
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_IN_UNDEFINED 0x0200
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_IN_MIC 0x0201
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_IN_DESKTOP_MIC 0x0202
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_IN_PERSONAL_MIC 0x0203
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_IN_OMNIDIR_MIC 0x0204
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_IN_MIC_ARRAY 0x0205
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_IN_PROCESSING_MIC 0x0206
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_IN_OUT_UNDEFINED 0x0300
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_OUT_SPEAKER 0x0301
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_OUT_HEADPHONES 0x0302
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_OUT_HEAD_MOUNTED 0x0303
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_OUT_DESKTOP 0x0304
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_OUT_ROOM 0x0305
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_OUT_COMMUNICATION 0x0306
+
+ /** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
+ #define AUDIO_TERMINAL_OUT_LOWFREQ 0x0307
+ //@}
+
+ /** Convenience macro to fill a 24-bit \ref USB_Audio_SampleFreq_t structure with the given sample rate as a 24-bit number.
+ *
+ * \param[in] freq Required audio sampling frequency in HZ
+ */
+ #define AUDIO_SAMPLE_FREQ(freq) {((uint32_t)freq & 0x00FFFF), (((uint32_t)freq >> 16) & 0x0000FF)}
+
+ /** Mask for the attributes parameter of an Audio class-specific Endpoint descriptor, indicating that the endpoint
+ * accepts only filled endpoint packets of audio samples.
+ */
+ #define AUDIO_EP_FULL_PACKETS_ONLY (1 << 7)
+
+ /** Mask for the attributes parameter of an Audio class-specific Endpoint descriptor, indicating that the endpoint
+ * will accept partially filled endpoint packets of audio samples.
+ */
+ #define AUDIO_EP_ACCEPTS_SMALL_PACKETS (0 << 7)
+
+ /* Enums: */
+ /** Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the Audio
+ * device class.
+ */
+ enum Audio_Descriptor_ClassSubclassProtocol_t
+ {
+ AUDIO_CSCP_AudioClass = 0x01, /**< Descriptor Class value indicating that the device or
+ * interface belongs to the USB Audio 1.0 class.
+ */
+ AUDIO_CSCP_ControlSubclass = 0x01, /**< Descriptor Subclass value indicating that the device or
+ * interface belongs to the Audio Control subclass.
+ */
+ AUDIO_CSCP_ControlProtocol = 0x00, /**< Descriptor Protocol value indicating that the device or
+ * interface belongs to the Audio Control protocol.
+ */
+ AUDIO_CSCP_AudioStreamingSubclass = 0x02, /**< Descriptor Subclass value indicating that the device or
+ * interface belongs to the MIDI Streaming subclass.
+ */
+ AUDIO_CSCP_MIDIStreamingSubclass = 0x03, /**< Descriptor Subclass value indicating that the device or
+ * interface belongs to the Audio streaming subclass.
+ */
+ AUDIO_CSCP_StreamingProtocol = 0x00, /**< Descriptor Protocol value indicating that the device or
+ * interface belongs to the Streaming Audio protocol.
+ */
+ };
+
+ /** Audio class specific interface description subtypes, for the Audio Control interface. */
+ enum Audio_CSInterface_AC_SubTypes_t
+ {
+ AUDIO_DSUBTYPE_CSInterface_Header = 0x01, /**< Audio class specific control interface header. */
+ AUDIO_DSUBTYPE_CSInterface_InputTerminal = 0x02, /**< Audio class specific control interface Input Terminal. */
+ AUDIO_DSUBTYPE_CSInterface_OutputTerminal = 0x03, /**< Audio class specific control interface Output Terminal. */
+ AUDIO_DSUBTYPE_CSInterface_Mixer = 0x04, /**< Audio class specific control interface Mixer Unit. */
+ AUDIO_DSUBTYPE_CSInterface_Selector = 0x05, /**< Audio class specific control interface Selector Unit. */
+ AUDIO_DSUBTYPE_CSInterface_Feature = 0x06, /**< Audio class specific control interface Feature Unit. */
+ AUDIO_DSUBTYPE_CSInterface_Processing = 0x07, /**< Audio class specific control interface Processing Unit. */
+ AUDIO_DSUBTYPE_CSInterface_Extension = 0x08, /**< Audio class specific control interface Extension Unit. */
+ };
+
+ /** Audio class specific interface description subtypes, for the Audio Streaming interface. */
+ enum Audio_CSInterface_AS_SubTypes_t
+ {
+ AUDIO_DSUBTYPE_CSInterface_General = 0x01, /**< Audio class specific streaming interface general descriptor. */
+ AUDIO_DSUBTYPE_CSInterface_FormatType = 0x02, /**< Audio class specific streaming interface format type descriptor. */
+ AUDIO_DSUBTYPE_CSInterface_FormatSpecific = 0x03, /**< Audio class specific streaming interface format information descriptor. */
+ };
+
+ /** Audio class specific endpoint description subtypes, for the Audio Streaming interface. */
+ enum Audio_CSEndpoint_SubTypes_t
+ {
+ AUDIO_DSUBTYPE_CSEndpoint_General = 0x01, /**< Audio class specific endpoint general descriptor. */
+ };
+
+ /* Type Defines: */
+ /** \brief Audio class-specific Input Terminal Descriptor (LUFA naming conventions).
+ *
+ * Type define for an Audio class-specific input terminal descriptor. This indicates to the host that the device
+ * contains an input audio source, either from a physical terminal on the device, or a logical terminal (for example,
+ * a USB endpoint). See the USB Audio specification for more details.
+ *
+ * \see \ref USB_Audio_StdDescriptor_InputTerminal_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
+ uint8_t Subtype; /**< Sub type value used to distinguish between audio class-specific descriptors,
+ * must be \ref AUDIO_DSUBTYPE_CSInterface_InputTerminal.
+ */
+
+ uint8_t TerminalID; /**< ID value of this terminal unit - must be a unique value within the device. */
+ uint16_t TerminalType; /**< Type of terminal, a TERMINAL_* mask. */
+ uint8_t AssociatedOutputTerminal; /**< ID of associated output terminal, for physically grouped terminals
+ * such as the speaker and microphone of a phone handset.
+ */
+ uint8_t TotalChannels; /**< Total number of separate audio channels within this interface (right, left, etc.) */
+ uint16_t ChannelConfig; /**< CHANNEL_* masks indicating what channel layout is supported by this terminal. */
+
+ uint8_t ChannelStrIndex; /**< Index of a string descriptor describing this channel within the device. */
+ uint8_t TerminalStrIndex; /**< Index of a string descriptor describing this descriptor within the device. */
+ } USB_Audio_Descriptor_InputTerminal_t;
+
+ /** \brief Audio class-specific Input Terminal Descriptor (USB-IF naming conventions).
+ *
+ * Type define for an Audio class-specific input terminal descriptor. This indicates to the host that the device
+ * contains an input audio source, either from a physical terminal on the device, or a logical terminal (for example,
+ * a USB endpoint). See the USB Audio specification for more details.
+ *
+ * \see \ref USB_Audio_Descriptor_InputTerminal_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+
+ uint8_t bDescriptorSubtype; /**< Sub type value used to distinguish between audio class-specific descriptors,
+ * must be \ref AUDIO_DSUBTYPE_CSInterface_InputTerminal.
+ */
+ uint8_t bTerminalID; /**< ID value of this terminal unit - must be a unique value within the device. */
+ uint16_t wTerminalType; /**< Type of terminal, a TERMINAL_* mask. */
+ uint8_t bAssocTerminal; /**< ID of associated output terminal, for physically grouped terminals
+ * such as the speaker and microphone of a phone handset.
+ */
+ uint8_t bNrChannels; /**< Total number of separate audio channels within this interface (right, left, etc.) */
+ uint16_t wChannelConfig; /**< CHANNEL_* masks indicating what channel layout is supported by this terminal. */
+
+ uint8_t iChannelNames; /**< Index of a string descriptor describing this channel within the device. */
+ uint8_t iTerminal; /**< Index of a string descriptor describing this descriptor within the device. */
+ } USB_Audio_StdDescriptor_InputTerminal_t;
+
+ /** \brief Audio class-specific Output Terminal Descriptor (LUFA naming conventions).
+ *
+ * Type define for an Audio class-specific output terminal descriptor. This indicates to the host that the device
+ * contains an output audio sink, either to a physical terminal on the device, or a logical terminal (for example,
+ * a USB endpoint). See the USB Audio specification for more details.
+ *
+ * \see \ref USB_Audio_StdDescriptor_OutputTerminal_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
+ uint8_t Subtype; /**< Sub type value used to distinguish between audio class-specific descriptors,
+ * must be \ref AUDIO_DSUBTYPE_CSInterface_OutputTerminal.
+ */
+
+ uint8_t TerminalID; /**< ID value of this terminal unit - must be a unique value within the device. */
+ uint16_t TerminalType; /**< Type of terminal, a TERMINAL_* mask. */
+ uint8_t AssociatedInputTerminal; /**< ID of associated input terminal, for physically grouped terminals
+ * such as the speaker and microphone of a phone handset.
+ */
+ uint8_t SourceID; /**< ID value of the unit this terminal's audio is sourced from. */
+
+ uint8_t TerminalStrIndex; /**< Index of a string descriptor describing this descriptor within the device. */
+ } USB_Audio_Descriptor_OutputTerminal_t;
+
+ /** \brief Audio class-specific Output Terminal Descriptor (USB-IF naming conventions).
+ *
+ * Type define for an Audio class-specific output terminal descriptor. This indicates to the host that the device
+ * contains an output audio sink, either to a physical terminal on the device, or a logical terminal (for example,
+ * a USB endpoint). See the USB Audio specification for more details.
+ *
+ * \see \ref USB_Audio_Descriptor_OutputTerminal_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Sub type value used to distinguish between audio class-specific descriptors,
+ * must be \ref AUDIO_DSUBTYPE_CSInterface_OutputTerminal.
+ */
+
+ uint8_t bDescriptorSubtype; /**< Sub type value used to distinguish between audio class-specific descriptors,
+ * a value from the \ref Audio_CSInterface_AC_SubTypes_t enum.
+ */
+ uint8_t bTerminalID; /**< ID value of this terminal unit - must be a unique value within the device. */
+ uint16_t wTerminalType; /**< Type of terminal, a TERMINAL_* mask. */
+ uint8_t bAssocTerminal; /**< ID of associated input terminal, for physically grouped terminals
+ * such as the speaker and microphone of a phone handset.
+ */
+ uint8_t bSourceID; /**< ID value of the unit this terminal's audio is sourced from. */
+
+ uint8_t iTerminal; /**< Index of a string descriptor describing this descriptor within the device. */
+ } USB_Audio_StdDescriptor_OutputTerminal_t;
+
+ /** \brief Audio class-specific Interface Descriptor (LUFA naming conventions).
+ *
+ * Type define for an Audio class-specific interface descriptor. This follows a regular interface descriptor to
+ * supply extra information about the audio device's layout to the host. See the USB Audio specification for more
+ * details.
+ *
+ * \see \ref USB_Audio_StdDescriptor_Interface_AC_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
+ uint8_t Subtype; /**< Sub type value used to distinguish between audio class-specific descriptors,
+ * a value from the \ref Audio_CSInterface_AS_SubTypes_t enum.
+ */
+
+ uint16_t ACSpecification; /**< Binary coded decimal value, indicating the supported Audio Class specification version. */
+ uint16_t TotalLength; /**< Total length of the Audio class-specific descriptors, including this descriptor. */
+
+ uint8_t InCollection; /**< Total number of Audio Streaming interfaces linked to this Audio Control interface (must be 1). */
+ uint8_t InterfaceNumber; /**< Interface number of the associated Audio Streaming interface. */
+ } USB_Audio_Descriptor_Interface_AC_t;
+
+ /** \brief Audio class-specific Interface Descriptor (USB-IF naming conventions).
+ *
+ * Type define for an Audio class-specific interface descriptor. This follows a regular interface descriptor to
+ * supply extra information about the audio device's layout to the host. See the USB Audio specification for more
+ * details.
+ *
+ * \see \ref USB_Audio_Descriptor_Interface_AC_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+
+ uint8_t bDescriptorSubtype;/**< Sub type value used to distinguish between audio class-specific descriptors,
+ * a value from the \ref Audio_CSInterface_AS_SubTypes_t enum.
+ */
+
+ uint16_t bcdADC; /**< Binary coded decimal value, indicating the supported Audio Class specification version. */
+ uint16_t wTotalLength; /**< Total length of the Audio class-specific descriptors, including this descriptor. */
+
+ uint8_t bInCollection; /**< Total number of Audio Streaming interfaces linked to this Audio Control interface (must be 1). */
+ uint8_t bInterfaceNumbers; /**< Interface number of the associated Audio Streaming interface. */
+ } USB_Audio_StdDescriptor_Interface_AC_t;
+
+ /** \brief Audio class-specific Feature Unit Descriptor (LUFA naming conventions).
+ *
+ * Type define for an Audio class-specific Feature Unit descriptor. This indicates to the host what features
+ * are present in the device's audio stream for basic control, such as per-channel volume. See the USB Audio
+ * specification for more details.
+ *
+ * \see \ref USB_Audio_StdDescriptor_FeatureUnit_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
+ uint8_t Subtype; /**< Sub type value used to distinguish between audio class-specific descriptors,
+ * must be \ref AUDIO_DSUBTYPE_CSInterface_Feature.
+ */
+
+ uint8_t UnitID; /**< ID value of this feature unit - must be a unique value within the device. */
+ uint8_t SourceID; /**< Source ID value of the audio source input into this feature unit. */
+
+ uint8_t ControlSize; /**< Size of each element in the ChanelControlls array. */
+ uint8_t ChannelControls[3]; /**< Feature masks for the control channel, and each separate audio channel. */
+
+ uint8_t FeatureUnitStrIndex; /**< Index of a string descriptor describing this descriptor within the device. */
+ } USB_Audio_Descriptor_FeatureUnit_t;
+
+ /** \brief Audio class-specific Feature Unit Descriptor (USB-IF naming conventions).
+ *
+ * Type define for an Audio class-specific Feature Unit descriptor. This indicates to the host what features
+ * are present in the device's audio stream for basic control, such as per-channel volume. See the USB Audio
+ * specification for more details.
+ *
+ * \see \ref USB_Audio_Descriptor_FeatureUnit_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+
+ uint8_t bDescriptorSubtype; /**< Sub type value used to distinguish between audio class-specific descriptors,
+ * must be \ref AUDIO_DSUBTYPE_CSInterface_Feature.
+ */
+
+ uint8_t bUnitID; /**< ID value of this feature unit - must be a unique value within the device. */
+ uint8_t bSourceID; /**< Source ID value of the audio source input into this feature unit. */
+
+ uint8_t bControlSize; /**< Size of each element in the ChanelControlls array. */
+ uint8_t bmaControls[3]; /**< Feature masks for the control channel, and each separate audio channel. */
+
+ uint8_t iFeature; /**< Index of a string descriptor describing this descriptor within the device. */
+ } USB_Audio_StdDescriptor_FeatureUnit_t;
+
+ /** \brief Audio class-specific Streaming Audio Interface Descriptor (LUFA naming conventions).
+ *
+ * Type define for an Audio class-specific streaming interface descriptor. This indicates to the host
+ * how audio streams within the device are formatted. See the USB Audio specification for more details.
+ *
+ * \see \ref USB_Audio_StdDescriptor_Interface_AS_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
+ uint8_t Subtype; /**< Sub type value used to distinguish between audio class-specific descriptors,
+ * a value from the \ref Audio_CSInterface_AS_SubTypes_t enum.
+ */
+
+ uint8_t TerminalLink; /**< ID value of the output terminal this descriptor is describing. */
+
+ uint8_t FrameDelay; /**< Delay in frames resulting from the complete sample processing from input to output. */
+ uint16_t AudioFormat; /**< Format of the audio stream, see Audio Device Formats specification. */
+ } USB_Audio_Descriptor_Interface_AS_t;
+
+ /** \brief Audio class-specific Streaming Audio Interface Descriptor (USB-IF naming conventions).
+ *
+ * Type define for an Audio class-specific streaming interface descriptor. This indicates to the host
+ * how audio streams within the device are formatted. See the USB Audio specification for more details.
+ *
+ * \see \ref USB_Audio_Descriptor_Interface_AS_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+
+ uint8_t bDescriptorSubtype; /**< Sub type value used to distinguish between audio class-specific descriptors,
+ * a value from the \ref Audio_CSInterface_AS_SubTypes_t enum.
+ */
+
+ uint8_t bTerminalLink; /**< ID value of the output terminal this descriptor is describing. */
+
+ uint8_t bDelay; /**< Delay in frames resulting from the complete sample processing from input to output. */
+ uint16_t wFormatTag; /**< Format of the audio stream, see Audio Device Formats specification. */
+ } USB_Audio_StdDescriptor_Interface_AS_t;
+
+ /** \brief 24-Bit Audio Frequency Structure.
+ *
+ * Type define for a 24bit audio sample frequency structure. GCC does not contain a built in 24bit datatype,
+ * this this structure is used to build up the value instead. Fill this structure with the \ref AUDIO_SAMPLE_FREQ() macro.
+ */
+ typedef struct
+ {
+ uint16_t LowWord; /**< Low 16 bits of the 24-bit value. */
+ uint8_t HighByte; /**< Upper 8 bits of the 24-bit value. */
+ } USB_Audio_SampleFreq_t;
+
+ /** \brief Audio class-specific Format Descriptor (LUFA naming conventions).
+ *
+ * Type define for an Audio class-specific audio format descriptor. This is used to give the host full details
+ * about the number of channels, the sample resolution, acceptable sample frequencies and encoding method used
+ * in the device's audio streams. See the USB Audio specification for more details.
+ *
+ * \see \ref USB_Audio_StdDescriptor_Format_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
+ uint8_t Subtype; /**< Sub type value used to distinguish between audio class-specific descriptors,
+ * must be \ref AUDIO_DSUBTYPE_CSInterface_FormatType.
+ */
+
+ uint8_t FormatType; /**< Format of the audio stream, see Audio Device Formats specification. */
+ uint8_t Channels; /**< Total number of discrete channels in the stream. */
+
+ uint8_t SubFrameSize; /**< Size in bytes of each channel's sample data in the stream. */
+ uint8_t BitResolution; /**< Bits of resolution of each channel's samples in the stream. */
+
+ uint8_t SampleFrequencyType; /**< Total number of sample frequencies supported by the device. */
+ USB_Audio_SampleFreq_t SampleFrequencies[AUDIO_TOTAL_SAMPLE_RATES]; /**< Sample frequencies supported by the device (must be 24-bit). */
+ } USB_Audio_Descriptor_Format_t;
+
+ /** \brief Audio class-specific Format Descriptor (USB-IF naming conventions).
+ *
+ * Type define for an Audio class-specific audio format descriptor. This is used to give the host full details
+ * about the number of channels, the sample resolution, acceptable sample frequencies and encoding method used
+ * in the device's audio streams. See the USB Audio specification for more details.
+ *
+ * \see \ref USB_Audio_Descriptor_Format_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Sub type value used to distinguish between audio class-specific descriptors,
+ * must be \ref AUDIO_DSUBTYPE_CSInterface_FormatType.
+ */
+
+ uint8_t bDescriptorSubtype;/**< Sub type value used to distinguish between audio class-specific descriptors,
+ * a value from the \ref Audio_CSInterface_AS_SubTypes_t enum.
+ */
+
+ uint8_t bFormatType; /**< Format of the audio stream, see Audio Device Formats specification. */
+ uint8_t bNrChannels; /**< Total number of discrete channels in the stream. */
+
+ uint8_t bSubFrameSize; /**< Size in bytes of each channel's sample data in the stream. */
+ uint8_t bBitResolution; /**< Bits of resolution of each channel's samples in the stream. */
+
+ uint8_t bSampleFrequencyType; /**< Total number of sample frequencies supported by the device. */
+ uint8_t SampleFrequencies[AUDIO_TOTAL_SAMPLE_RATES * 3]; /**< Sample frequencies supported by the device (must be 24-bit). */
+ } USB_Audio_StdDescriptor_Format_t;
+
+ /** \brief Audio class-specific Streaming Endpoint Descriptor (LUFA naming conventions).
+ *
+ * Type define for an Audio class-specific endpoint descriptor. This contains a regular endpoint
+ * descriptor with a few Audio-class-specific extensions. See the USB Audio specification for more details.
+ *
+ * \see \ref USB_Audio_StdDescriptor_StreamEndpoint_Std_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Endpoint_t Endpoint; /**< Standard endpoint descriptor describing the audio endpoint. */
+
+ uint8_t Refresh; /**< Always set to zero for Audio class devices. */
+ uint8_t SyncEndpointNumber; /**< Endpoint address to send synchronization information to, if needed (zero otherwise). */
+ } USB_Audio_Descriptor_StreamEndpoint_Std_t;
+
+ /** \brief Audio class-specific Streaming Endpoint Descriptor (USB-IF naming conventions).
+ *
+ * Type define for an Audio class-specific endpoint descriptor. This contains a regular endpoint
+ * descriptor with a few Audio-class-specific extensions. See the USB Audio specification for more details.
+ *
+ * \see \ref USB_Audio_Descriptor_StreamEndpoint_Std_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a
+ * value given by the specific class.
+ */
+ uint8_t bEndpointAddress; /**< Logical address of the endpoint within the device for the current
+ * configuration, including direction mask.
+ */
+ uint8_t bmAttributes; /**< Endpoint attributes, comprised of a mask of the endpoint type (EP_TYPE_*)
+ * and attributes (ENDPOINT_ATTR_*) masks.
+ */
+ uint16_t wMaxPacketSize; /**< Size of the endpoint bank, in bytes. This indicates the maximum packet size
+ * that the endpoint can receive at a time.
+ */
+ uint8_t bInterval; /**< Polling interval in milliseconds for the endpoint if it is an INTERRUPT or
+ * ISOCHRONOUS type.
+ */
+
+ uint8_t bRefresh; /**< Always set to zero for Audio class devices. */
+ uint8_t bSynchAddress; /**< Endpoint address to send synchronization information to, if needed (zero otherwise). */
+ } USB_Audio_StdDescriptor_StreamEndpoint_Std_t;
+
+ /** \brief Audio class-specific Extended Endpoint Descriptor (LUFA naming conventions).
+ *
+ * Type define for an Audio class-specific extended endpoint descriptor. This contains extra information
+ * on the usage of endpoints used to stream audio in and out of the USB Audio device, and follows an Audio
+ * class-specific extended endpoint descriptor. See the USB Audio specification for more details.
+ *
+ * \see \ref USB_Audio_StdDescriptor_StreamEndpoint_Spc_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
+ uint8_t Subtype; /**< Sub type value used to distinguish between audio class-specific descriptors,
+ * a value from the \ref Audio_CSEndpoint_SubTypes_t enum.
+ */
+
+ uint8_t Attributes; /**< Audio class-specific endpoint attributes, such as ACCEPTS_SMALL_PACKETS. */
+
+ uint8_t LockDelayUnits; /**< Units used for the LockDelay field, see Audio class specification. */
+ uint16_t LockDelay; /**< Time required to internally lock endpoint's internal clock recovery circuitry. */
+ } USB_Audio_Descriptor_StreamEndpoint_Spc_t;
+
+ /** \brief Audio class-specific Extended Endpoint Descriptor (USB-IF naming conventions).
+ *
+ * Type define for an Audio class-specific extended endpoint descriptor. This contains extra information
+ * on the usage of endpoints used to stream audio in and out of the USB Audio device, and follows an Audio
+ * class-specific extended endpoint descriptor. See the USB Audio specification for more details.
+ *
+ * \see \ref USB_Audio_Descriptor_StreamEndpoint_Spc_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+
+ uint8_t bDescriptorSubtype; /**< Sub type value used to distinguish between audio class-specific descriptors,
+ * a value from the \ref Audio_CSEndpoint_SubTypes_t enum.
+ */
+
+ uint8_t bmAttributes; /**< Audio class-specific endpoint attributes, such as ACCEPTS_SMALL_PACKETS. */
+
+ uint8_t bLockDelayUnits; /**< Units used for the LockDelay field, see Audio class specification. */
+ uint16_t wLockDelay; /**< Time required to internally lock endpoint's internal clock recovery circuitry. */
+ } USB_Audio_StdDescriptor_StreamEndpoint_Spc_t;
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Common/CDC.h b/firmware/LUFA/Drivers/USB/Class/Common/CDC.h
new file mode 100644
index 0000000..dabe438
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Common/CDC.h
@@ -0,0 +1,372 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Common definitions and declarations for the library USB CDC Class driver.
+ *
+ * Common definitions and declarations for the library USB CDC Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassCDC
+ * @defgroup Group_USBClassCDCCommon Common Class Definitions
+ *
+ * \section Module Description
+ * Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
+ * CDC Class.
+ *
+ * @{
+ */
+
+#ifndef _CDC_CLASS_COMMON_H_
+#define _CDC_CLASS_COMMON_H_
+
+ /* Includes: */
+ #include "../../HighLevel/StdDescriptors.h"
+
+ #include <string.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_CDC_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ /* Macros: */
+ /** \name Virtual Control Line Masks */
+ //@{
+ /** Mask for the DTR handshake line for use with the \ref CDC_REQ_SetControlLineState class-specific request
+ * from the host, to indicate that the DTR line state should be high.
+ */
+ #define CDC_CONTROL_LINE_OUT_DTR (1 << 0)
+
+ /** Mask for the RTS handshake line for use with the \ref CDC_REQ_SetControlLineState class-specific request
+ * from the host, to indicate that the RTS line state should be high.
+ */
+ #define CDC_CONTROL_LINE_OUT_RTS (1 << 1)
+
+ /** Mask for the DCD handshake line for use with the \ref CDC_NOTIF_SerialState class-specific notification
+ * from the device to the host, to indicate that the DCD line state is currently high.
+ */
+ #define CDC_CONTROL_LINE_IN_DCD (1 << 0)
+
+ /** Mask for the DSR handshake line for use with the \ref CDC_NOTIF_SerialState class-specific notification
+ * from the device to the host, to indicate that the DSR line state is currently high.
+ */
+ #define CDC_CONTROL_LINE_IN_DSR (1 << 1)
+
+ /** Mask for the BREAK handshake line for use with the \ref CDC_NOTIF_SerialState class-specific notification
+ * from the device to the host, to indicate that the BREAK line state is currently high.
+ */
+ #define CDC_CONTROL_LINE_IN_BREAK (1 << 2)
+
+ /** Mask for the RING handshake line for use with the \ref CDC_NOTIF_SerialState class-specific notification
+ * from the device to the host, to indicate that the RING line state is currently high.
+ */
+ #define CDC_CONTROL_LINE_IN_RING (1 << 3)
+
+ /** Mask for use with the \ref CDC_NOTIF_SerialState class-specific notification from the device to the host,
+ * to indicate that a framing error has occurred on the virtual serial port.
+ */
+ #define CDC_CONTROL_LINE_IN_FRAMEERROR (1 << 4)
+
+ /** Mask for use with the \ref CDC_NOTIF_SerialState class-specific notification from the device to the host,
+ * to indicate that a parity error has occurred on the virtual serial port.
+ */
+ #define CDC_CONTROL_LINE_IN_PARITYERROR (1 << 5)
+
+ /** Mask for use with the \ref CDC_NOTIF_SerialState class-specific notification from the device to the host,
+ * to indicate that a data overrun error has occurred on the virtual serial port.
+ */
+ #define CDC_CONTROL_LINE_IN_OVERRUNERROR (1 << 6)
+ //@}
+
+ /** Macro to define a CDC class-specific functional descriptor. CDC functional descriptors have a
+ * uniform structure but variable sized data payloads, thus cannot be represented accurately by
+ * a single typedef struct. A macro is used instead so that functional descriptors can be created
+ * easily by specifying the size of the payload. This allows sizeof() to work correctly.
+ *
+ * \param[in] DataSize Size in bytes of the CDC functional descriptor's data payload.
+ */
+ #define CDC_FUNCTIONAL_DESCRIPTOR(DataSize) \
+ struct \
+ { \
+ USB_Descriptor_Header_t Header; \
+ uint8_t SubType; \
+ uint8_t Data[DataSize]; \
+ }
+
+ /* Enums: */
+ /** Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the CDC
+ * device class.
+ */
+ enum CDC_Descriptor_ClassSubclassProtocol_t
+ {
+ CDC_CSCP_CDCClass = 0x02, /**< Descriptor Class value indicating that the device or interface
+ * belongs to the CDC class.
+ */
+ CDC_CSCP_NoSpecificSubclass = 0x00, /**< Descriptor Subclass value indicating that the device or interface
+ * belongs to no specific subclass of the CDC class.
+ */
+ CDC_CSCP_ACMSubclass = 0x02, /**< Descriptor Subclass value indicating that the device or interface
+ * belongs to the Abstract Control Model CDC subclass.
+ */
+ CDC_CSCP_ATCommandProtocol = 0x01, /**< Descriptor Protocol value indicating that the device or interface
+ * belongs to the AT Command protocol of the CDC class.
+ */
+ CDC_CSCP_NoSpecificProtocol = 0x00, /**< Descriptor Class value indicating that the device or interface
+ * belongs to no specific protocol of the CDC class.
+ */
+ CDC_CSCP_VendorSpecificProtocol = 0xFF, /**< Descriptor Class value indicating that the device or interface
+ * belongs to a vendor-specific protocol of the CDC class.
+ */
+ CDC_CSCP_CDCDataClass = 0x0A, /**< Descriptor Class value indicating that the device or interface
+ * belongs to the CDC Data class.
+ */
+ CDC_CSCP_NoDataSubclass = 0x00, /**< Descriptor Subclass value indicating that the device or interface
+ * belongs to no specific subclass of the CDC data class.
+ */
+ CDC_CSCP_NoDataProtocol = 0x00, /**< Descriptor Protocol value indicating that the device or interface
+ * belongs to no specific protocol of the CDC data class.
+ */
+ };
+
+ /** Enum for the CDC class specific control requests that can be issued by the USB bus host. */
+ enum CDC_ClassRequests_t
+ {
+ CDC_REQ_SendEncapsulatedCommand = 0x00, /**< CDC class-specific request to send an encapsulated command to the device. */
+ CDC_REQ_GetEncapsulatedResponse = 0x01, /**< CDC class-specific request to retrieve an encapsulated command response from the device. */
+ CDC_REQ_SetLineEncoding = 0x20, /**< CDC class-specific request to set the current virtual serial port configuration settings. */
+ CDC_REQ_GetLineEncoding = 0x21, /**< CDC class-specific request to get the current virtual serial port configuration settings. */
+ CDC_REQ_SetControlLineState = 0x22, /**< CDC class-specific request to set the current virtual serial port handshake line states. */
+ CDC_REQ_SendBreak = 0x23, /**< CDC class-specific request to send a break to the receiver via the carrier channel. */
+ };
+
+ /** Enum for the CDC class specific notification requests that can be issued by a CDC device to a host. */
+ enum CDC_ClassNotifications_t
+ {
+ CDC_NOTIF_SerialState = 0x20, /**< Notification type constant for a change in the virtual serial port
+ * handshake line states, for use with a \ref USB_Request_Header_t
+ * notification structure when sent to the host via the CDC notification
+ * endpoint.
+ */
+ };
+
+ /** Enum for the CDC class specific interface descriptor subtypes. */
+ enum CDC_DescriptorSubtypes_t
+ {
+ CDC_DSUBTYPE_CSInterface_Header = 0x00, /**< CDC class-specific Header functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_CallManagement = 0x01, /**< CDC class-specific Call Managment functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_ACM = 0x02, /**< CDC class-specific Abstract Control Model functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_DirectLine = 0x03, /**< CDC class-specific Direct Line functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_TelephoneRinger = 0x04, /**< CDC class-specific Telephone Ringer functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_TelephoneCall = 0x05, /**< CDC class-specific Telephone Call functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_Union = 0x06, /**< CDC class-specific Union functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_CountrySelection = 0x07, /**< CDC class-specific Country Selection functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_TelephoneOpModes = 0x08, /**< CDC class-specific Telephone Operation Modes functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_USBTerminal = 0x09, /**< CDC class-specific USB Terminal functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_NetworkChannel = 0x0A, /**< CDC class-specific Network Channel functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_ProtocolUnit = 0x0B, /**< CDC class-specific Protocol Unit functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_ExtensionUnit = 0x0C, /**< CDC class-specific Extension Unit functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_MultiChannel = 0x0D, /**< CDC class-specific Multi-Channel Management functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_CAPI = 0x0E, /**< CDC class-specific Common ISDN API functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_Ethernet = 0x0F, /**< CDC class-specific Ethernet functional descriptor. */
+ CDC_DSUBTYPE_CSInterface_ATM = 0x10, /**< CDC class-specific Asynchronous Transfer Mode functional descriptor. */
+ };
+
+ /** Enum for the possible line encoding formats of a virtual serial port. */
+ enum CDC_LineEncodingFormats_t
+ {
+ CDC_LINEENCODING_OneStopBit = 0, /**< Each frame contains one stop bit. */
+ CDC_LINEENCODING_OneAndAHalfStopBits = 1, /**< Each frame contains one and a half stop bits. */
+ CDC_LINEENCODING_TwoStopBits = 2, /**< Each frame contains two stop bits. */
+ };
+
+ /** Enum for the possible line encoding parity settings of a virtual serial port. */
+ enum CDC_LineEncodingParity_t
+ {
+ CDC_PARITY_None = 0, /**< No parity bit mode on each frame. */
+ CDC_PARITY_Odd = 1, /**< Odd parity bit mode on each frame. */
+ CDC_PARITY_Even = 2, /**< Even parity bit mode on each frame. */
+ CDC_PARITY_Mark = 3, /**< Mark parity bit mode on each frame. */
+ CDC_PARITY_Space = 4, /**< Space parity bit mode on each frame. */
+ };
+
+ /* Type Defines: */
+ /** \brief CDC class-specific Functional Header Descriptor (LUFA naming conventions).
+ *
+ * Type define for a CDC class-specific functional header descriptor. This indicates to the host that the device
+ * contains one or more CDC functional data descriptors, which give the CDC interface's capabilities and configuration.
+ * See the CDC class specification for more details.
+ *
+ * \see \ref USB_CDC_StdDescriptor_FunctionalHeader_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
+ uint8_t Subtype; /**< Sub type value used to distinguish between CDC class-specific descriptors,
+ * must be \ref CDC_DSUBTYPE_CSInterface_Header.
+ */
+ uint16_t CDCSpecification; /**< Version number of the CDC specification implemented by the device,
+ * encoded in BCD format.
+ */
+ } USB_CDC_Descriptor_FunctionalHeader_t;
+
+ /** \brief CDC class-specific Functional Header Descriptor (USB-IF naming conventions).
+ *
+ * Type define for a CDC class-specific functional header descriptor. This indicates to the host that the device
+ * contains one or more CDC functional data descriptors, which give the CDC interface's capabilities and configuration.
+ * See the CDC class specification for more details.
+ *
+ * \see \ref USB_CDC_Descriptor_FunctionalHeader_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bFunctionLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+ uint8_t bDescriptorSubType; /**< Sub type value used to distinguish between CDC class-specific descriptors,
+ * must be \ref CDC_DSUBTYPE_CSInterface_Header.
+ */
+ uint16_t bcdCDC; /**< Version number of the CDC specification implemented by the device, encoded in BCD format. */
+ } USB_CDC_StdDescriptor_FunctionalHeader_t;
+
+ /** \brief CDC class-specific Functional ACM Descriptor (LUFA naming conventions).
+ *
+ * Type define for a CDC class-specific functional ACM descriptor. This indicates to the host that the CDC interface
+ * supports the CDC ACM subclass of the CDC specification. See the CDC class specification for more details.
+ *
+ * \see \ref USB_CDC_StdDescriptor_FunctionalACM_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
+ uint8_t Subtype; /**< Sub type value used to distinguish between CDC class-specific descriptors,
+ * must be \ref CDC_DSUBTYPE_CSInterface_ACM.
+ */
+ uint8_t Capabilities; /**< Capabilities of the ACM interface, given as a bit mask. For most devices,
+ * this should be set to a fixed value of 0x06 - for other capabiltiies, refer
+ * to the CDC ACM specification.
+ */
+ } USB_CDC_Descriptor_FunctionalACM_t;
+
+ /** \brief CDC class-specific Functional ACM Descriptor (USB-IF naming conventions).
+ *
+ * Type define for a CDC class-specific functional ACM descriptor. This indicates to the host that the CDC interface
+ * supports the CDC ACM subclass of the CDC specification. See the CDC class specification for more details.
+ *
+ * \see \ref USB_CDC_Descriptor_FunctionalACM_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bFunctionLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+ uint8_t bDescriptorSubType; /**< Sub type value used to distinguish between CDC class-specific descriptors,
+ * must be \ref CDC_DSUBTYPE_CSInterface_ACM.
+ */
+ uint8_t bmCapabilities; /**< Capabilities of the ACM interface, given as a bit mask. For most devices,
+ * this should be set to a fixed value of 0x06 - for other capabiltiies, refer
+ * to the CDC ACM specification.
+ */
+ } USB_CDC_StdDescriptor_FunctionalACM_t;
+
+ /** \brief CDC class-specific Functional Union Descriptor (LUFA naming conventions).
+ *
+ * Type define for a CDC class-specific functional Union descriptor. This indicates to the host that specific
+ * CDC control and data interfaces are related. See the CDC class specification for more details.
+ *
+ * \see \ref USB_CDC_StdDescriptor_FunctionalUnion_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
+ uint8_t Subtype; /**< Sub type value used to distinguish between CDC class-specific descriptors,
+ * must be \ref CDC_DSUBTYPE_CSInterface_Union.
+ */
+ uint8_t MasterInterfaceNumber; /**< Interface number of the CDC Control interface. */
+ uint8_t SlaveInterfaceNumber; /**< Interface number of the CDC Data interface. */
+ } USB_CDC_Descriptor_FunctionalUnion_t;
+
+ /** \brief CDC class-specific Functional Union Descriptor (USB-IF naming conventions).
+ *
+ * Type define for a CDC class-specific functional Union descriptor. This indicates to the host that specific
+ * CDC control and data interfaces are related. See the CDC class specification for more details.
+ *
+ * \see \ref USB_CDC_Descriptor_FunctionalUnion_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bFunctionLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+ uint8_t bDescriptorSubType; /**< Sub type value used to distinguish between CDC class-specific descriptors,
+ * must be \ref CDC_DSUBTYPE_CSInterface_Union.
+ */
+ uint8_t bMasterInterface; /**< Interface number of the CDC Control interface. */
+ uint8_t bSlaveInterface0; /**< Interface number of the CDC Data interface. */
+ } USB_CDC_StdDescriptor_FunctionalUnion_t;
+
+ /** Type define for a CDC Line Encoding structure, used to hold the various encoding parameters for a virtual
+ * serial port.
+ */
+ typedef struct
+ {
+ uint32_t BaudRateBPS; /**< Baud rate of the virtual serial port, in bits per second. */
+ uint8_t CharFormat; /**< Character format of the virtual serial port, a value from the
+ * \ref CDC_LineEncodingFormats_t enum.
+ */
+ uint8_t ParityType; /**< Parity setting of the virtual serial port, a value from the
+ * \ref CDC_LineEncodingParity_t enum.
+ */
+ uint8_t DataBits; /**< Bits of data per character of the virtual serial port. */
+ } CDC_LineEncoding_t;
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Common/HID.h b/firmware/LUFA/Drivers/USB/Class/Common/HID.h
new file mode 100644
index 0000000..ca2212e
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Common/HID.h
@@ -0,0 +1,451 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Common definitions and declarations for the library USB HID Class driver.
+ *
+ * Common definitions and declarations for the library USB HID Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassHID
+ * @defgroup Group_USBClassHIDCommon Common Class Definitions
+ *
+ * \section Module Description
+ * Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
+ * HID Class.
+ *
+ * @{
+ */
+
+#ifndef _HID_CLASS_COMMON_H_
+#define _HID_CLASS_COMMON_H_
+
+ /* Includes: */
+ #include "../../HighLevel/StdDescriptors.h"
+
+ #include <string.h>
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_HID_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ /* Macros: */
+ /** \name Keyboard Standard Report Modifier Masks */
+ //@{
+ /** Constant for a keyboard report modifier byte, indicating that the keyboard's left control key is currently pressed. */
+ #define HID_KEYBOARD_MODIFER_LEFTCTRL (1 << 0)
+
+ /** Constant for a keyboard report modifier byte, indicating that the keyboard's left shift key is currently pressed. */
+ #define HID_KEYBOARD_MODIFER_LEFTSHIFT (1 << 1)
+
+ /** Constant for a keyboard report modifier byte, indicating that the keyboard's left alt key is currently pressed. */
+ #define HID_KEYBOARD_MODIFER_LEFTALT (1 << 2)
+
+ /** Constant for a keyboard report modifier byte, indicating that the keyboard's left GUI key is currently pressed. */
+ #define HID_KEYBOARD_MODIFER_LEFTGUI (1 << 3)
+
+ /** Constant for a keyboard report modifier byte, indicating that the keyboard's right control key is currently pressed. */
+ #define HID_KEYBOARD_MODIFER_RIGHTCTRL (1 << 4)
+
+ /** Constant for a keyboard report modifier byte, indicating that the keyboard's right shift key is currently pressed. */
+ #define HID_KEYBOARD_MODIFER_RIGHTSHIFT (1 << 5)
+
+ /** Constant for a keyboard report modifier byte, indicating that the keyboard's right alt key is currently pressed. */
+ #define HID_KEYBOARD_MODIFER_RIGHTALT (1 << 6)
+
+ /** Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed. */
+ #define HID_KEYBOARD_MODIFER_RIGHTGUI (1 << 7)
+ //@}
+
+ /** \name Keyboard Standard Report LED Masks */
+ //@{
+ /** Constant for a keyboard output report LED byte, indicating that the host's NUM LOCK mode is currently set. */
+ #define HID_KEYBOARD_LED_NUMLOCK (1 << 0)
+
+ /** Constant for a keyboard output report LED byte, indicating that the host's CAPS LOCK mode is currently set. */
+ #define HID_KEYBOARD_LED_CAPSLOCK (1 << 1)
+
+ /** Constant for a keyboard output report LED byte, indicating that the host's SCROLL LOCK mode is currently set. */
+ #define HID_KEYBOARD_LED_SCROLLLOCK (1 << 2)
+
+ /** Constant for a keyboard output report LED byte, indicating that the host's KATANA mode is currently set. */
+ #define HID_KEYBOARD_LED_KATANA (1 << 3)
+ //@}
+
+ /** \name Keyboard Standard Report Key Scancodes */
+ //@{
+ #define HID_KEYBOARD_SC_ERROR_ROLLOVER 0x01
+ #define HID_KEYBOARD_SC_POST_FAIL 0x02
+ #define HID_KEYBOARD_SC_ERROR_UNDEFINED 0x03
+ #define HID_KEYBOARD_SC_A 0x04
+ #define HID_KEYBOARD_SC_B 0x05
+ #define HID_KEYBOARD_SC_C 0x06
+ #define HID_KEYBOARD_SC_D 0x04
+ #define HID_KEYBOARD_SC_E 0x08
+ #define HID_KEYBOARD_SC_F 0x09
+ #define HID_KEYBOARD_SC_G 0x0A
+ #define HID_KEYBOARD_SC_H 0x0B
+ #define HID_KEYBOARD_SC_I 0x0C
+ #define HID_KEYBOARD_SC_J 0x0D
+ #define HID_KEYBOARD_SC_K 0x0E
+ #define HID_KEYBOARD_SC_L 0x0F
+ #define HID_KEYBOARD_SC_M 0x10
+ #define HID_KEYBOARD_SC_N 0x11
+ #define HID_KEYBOARD_SC_O 0x12
+ #define HID_KEYBOARD_SC_P 0x13
+ #define HID_KEYBOARD_SC_Q 0x14
+ #define HID_KEYBOARD_SC_R 0x15
+ #define HID_KEYBOARD_SC_S 0x16
+ #define HID_KEYBOARD_SC_T 0x17
+ #define HID_KEYBOARD_SC_U 0x18
+ #define HID_KEYBOARD_SC_V 0x19
+ #define HID_KEYBOARD_SC_W 0x1A
+ #define HID_KEYBOARD_SC_X 0x1B
+ #define HID_KEYBOARD_SC_Y 0x1C
+ #define HID_KEYBOARD_SC_Z 0x1D
+ #define HID_KEYBOARD_SC_1_AND_EXCLAMATION 0x1E
+ #define HID_KEYBOARD_SC_2_AND_AT 0x1F
+ #define HID_KEYBOARD_SC_3_AND_HASHMARK 0x20
+ #define HID_KEYBOARD_SC_4_AND_DOLLAR 0x21
+ #define HID_KEYBOARD_SC_5_AND_PERCENTAGE 0x22
+ #define HID_KEYBOARD_SC_6_AND_CARET 0x23
+ #define HID_KEYBOARD_SC_7_AND_AND_AMPERSAND 0x24
+ #define HID_KEYBOARD_SC_8_AND_ASTERISK 0x25
+ #define HID_KEYBOARD_SC_9_AND_OPENING_PARENTHESIS 0x26
+ #define HID_KEYBOARD_SC_0_AND_CLOSING_PARENTHESIS 0x27
+ #define HID_KEYBOARD_SC_ENTER 0x28
+ #define HID_KEYBOARD_SC_ESCAPE 0x29
+ #define HID_KEYBOARD_SC_BACKSPACE 0x2A
+ #define HID_KEYBOARD_SC_TAB 0x2B
+ #define HID_KEYBOARD_SC_SPACE 0x2C
+ #define HID_KEYBOARD_SC_MINUS_AND_UNDERSCORE 0x2D
+ #define HID_KEYBOARD_SC_EQUAL_AND_PLUS 0x2E
+ #define HID_KEYBOARD_SC_OPENING_BRACKET_AND_OPENING_BRACE 0x2F
+ #define HID_KEYBOARD_SC_CLOSING_BRACKET_AND_CLOSING_BRACE 0x30
+ #define HID_KEYBOARD_SC_BACKSLASH_AND_PIPE 0x31
+ #define HID_KEYBOARD_SC_NON_US_HASHMARK_AND_TILDE 0x32
+ #define HID_KEYBOARD_SC_SEMICOLON_AND_COLON 0x33
+ #define HID_KEYBOARD_SC_APOSTROPHE_AND_QUOTE 0x34
+ #define HID_KEYBOARD_SC_GRAVE_ACCENT_AND_TILDE 0x35
+ #define HID_KEYBOARD_SC_COMMA_AND_LESS_THAN_SIGN 0x36
+ #define HID_KEYBOARD_SC_DOT_AND_GREATER_THAN_SIGN 0x37
+ #define HID_KEYBOARD_SC_SLASH_AND_QUESTION_MARK 0x38
+ #define HID_KEYBOARD_SC_CAPS_LOCK 0x39
+ #define HID_KEYBOARD_SC_F1 0x3A
+ #define HID_KEYBOARD_SC_F2 0x3B
+ #define HID_KEYBOARD_SC_F3 0x3C
+ #define HID_KEYBOARD_SC_F4 0x3D
+ #define HID_KEYBOARD_SC_F5 0x3E
+ #define HID_KEYBOARD_SC_F6 0x3F
+ #define HID_KEYBOARD_SC_F7 0x40
+ #define HID_KEYBOARD_SC_F8 0x41
+ #define HID_KEYBOARD_SC_F9 0x42
+ #define HID_KEYBOARD_SC_F10 0x43
+ #define HID_KEYBOARD_SC_F11 0x44
+ #define HID_KEYBOARD_SC_F12 0x45
+ #define HID_KEYBOARD_SC_PRINT_SCREEN 0x46
+ #define HID_KEYBOARD_SC_SCROLL_LOCK 0x47
+ #define HID_KEYBOARD_SC_PAUSE 0x48
+ #define HID_KEYBOARD_SC_INSERT 0x49
+ #define HID_KEYBOARD_SC_HOME 0x4A
+ #define HID_KEYBOARD_SC_PAGE_UP 0x4B
+ #define HID_KEYBOARD_SC_DELETE 0x4C
+ #define HID_KEYBOARD_SC_END 0x4D
+ #define HID_KEYBOARD_SC_PAGE_DOWN 0x4E
+ #define HID_KEYBOARD_SC_RIGHT_ARROW 0xEF
+ #define HID_KEYBOARD_SC_LEFT_ARROW 0x50
+ #define HID_KEYBOARD_SC_DOWN_ARROW 0x51
+ #define HID_KEYBOARD_SC_UP_ARROW 0x52
+ #define HID_KEYBOARD_SC_NUM_LOCK 0x53
+ #define HID_KEYBOARD_SC_KEYPAD_SLASH 0x54
+ #define HID_KEYBOARD_SC_KEYPAD_ASTERISK 0x55
+ #define HID_KEYBOARD_SC_KEYPAD_MINUS 0x56
+ #define HID_KEYBOARD_SC_KEYPAD_PLUS 0x57
+ #define HID_KEYBOARD_SC_KEYPAD_ENTER 0x58
+ #define HID_KEYBOARD_SC_KEYPAD_1_AND_END 0x59
+ #define HID_KEYBOARD_SC_KEYPAD_2_AND_DOWN_ARROW 0x5A
+ #define HID_KEYBOARD_SC_KEYPAD_3_AND_PAGE_DOWN 0x5B
+ #define HID_KEYBOARD_SC_KEYPAD_4_AND_LEFT_ARROW 0x5C
+ #define HID_KEYBOARD_SC_KEYPAD_5 0x5D
+ #define HID_KEYBOARD_SC_KEYPAD_6_AND_RIGHT_ARROW 0x5E
+ #define HID_KEYBOARD_SC_KEYPAD_7_AND_HOME 0x5F
+ #define HID_KEYBOARD_SC_KEYPAD_8_AND_UP_ARROW 0x60
+ #define HID_KEYBOARD_SC_KEYPAD_9_AND_PAGE_UP 0x61
+ #define HID_KEYBOARD_SC_KEYPAD_0_AND_INSERT 0x62
+ #define HID_KEYBOARD_SC_KEYPAD_DOT_AND_DELETE 0x63
+ #define HID_KEYBOARD_SC_NON_US_BACKSLASH_AND_PIPE 0x64
+ #define HID_KEYBOARD_SC_EQUAL_SIGN 0x67
+ #define HID_KEYBOARD_SC_F13 0x68
+ #define HID_KEYBOARD_SC_F14 0x69
+ #define HID_KEYBOARD_SC_F15 0x6A
+ #define HID_KEYBOARD_SC_F16 0x6B
+ #define HID_KEYBOARD_SC_F17 0x6C
+ #define HID_KEYBOARD_SC_F18 0x6D
+ #define HID_KEYBOARD_SC_F19 0x6E
+ #define HID_KEYBOARD_SC_F20 0x6F
+ #define HID_KEYBOARD_SC_F21 0x70
+ #define HID_KEYBOARD_SC_F22 0x71
+ #define HID_KEYBOARD_SC_F23 0x72
+ #define HID_KEYBOARD_SC_F24 0x73
+ #define HID_KEYBOARD_SC_EXECUTE 0x74
+ #define HID_KEYBOARD_SC_HELP 0x75
+ #define HID_KEYBOARD_SC_MANU 0x76
+ #define HID_KEYBOARD_SC_SELECT 0x77
+ #define HID_KEYBOARD_SC_STOP 0x78
+ #define HID_KEYBOARD_SC_AGAIN 0x79
+ #define HID_KEYBOARD_SC_UNDO 0x7A
+ #define HID_KEYBOARD_SC_CUT 0x7B
+ #define HID_KEYBOARD_SC_COPY 0x7C
+ #define HID_KEYBOARD_SC_PASTE 0x7D
+ #define HID_KEYBOARD_SC_FIND 0x7E
+ #define HID_KEYBOARD_SC_MUTE 0x7F
+ #define HID_KEYBOARD_SC_VOLUME_UP 0x80
+ #define HID_KEYBOARD_SC_VOLUME_DOWN 0x81
+ #define HID_KEYBOARD_SC_LOCKING_CAPS_LOCK 0x82
+ #define HID_KEYBOARD_SC_LOCKING_NUM_LOCK 0x83
+ #define HID_KEYBOARD_SC_LOCKING_SCROLL_LOCK 0x84
+ #define HID_KEYBOARD_SC_KEYPAD_COMMA 0x85
+ #define HID_KEYBOARD_SC_KEYPAD_EQUAL_SIGN 0x86
+ #define HID_KEYBOARD_SC_INTERNATIONAL1 0x87
+ #define HID_KEYBOARD_SC_INTERNATIONAL2 0x88
+ #define HID_KEYBOARD_SC_INTERNATIONAL3 0x8A
+ #define HID_KEYBOARD_SC_INTERNATIONAL5 0x8B
+ #define HID_KEYBOARD_SC_INTERNATIONAL6 0x8C
+ #define HID_KEYBOARD_SC_INTERNATIONAL7 0x8D
+ #define HID_KEYBOARD_SC_INTERNATIONAL8 0x8E
+ #define HID_KEYBOARD_SC_INTERNATIONAL9 0x8F
+ #define HID_KEYBOARD_SC_LANG1 0x90
+ #define HID_KEYBOARD_SC_LANG2 0x91
+ #define HID_KEYBOARD_SC_LANG3 0x92
+ #define HID_KEYBOARD_SC_LANG4 0x93
+ #define HID_KEYBOARD_SC_LANG5 0x94
+ #define HID_KEYBOARD_SC_LANG6 0x95
+ #define HID_KEYBOARD_SC_LANG7 0x96
+ #define HID_KEYBOARD_SC_LANG8 0x97
+ #define HID_KEYBOARD_SC_LANG9 0x98
+ #define HID_KEYBOARD_SC_ALTERNATE_ERASE 0x99
+ #define HID_KEYBOARD_SC_SISREQ 0x9A
+ #define HID_KEYBOARD_SC_CANCEL 0x9B
+ #define HID_KEYBOARD_SC_CLEAR 0x9C
+ #define HID_KEYBOARD_SC_PRIOR 0x9D
+ #define HID_KEYBOARD_SC_RETURN 0x9E
+ #define HID_KEYBOARD_SC_SEPARATOR 0x9F
+ #define HID_KEYBOARD_SC_OUT 0xA0
+ #define HID_KEYBOARD_SC_OPER 0xA1
+ #define HID_KEYBOARD_SC_CLEAR_AND_AGAIN 0xA2
+ #define HID_KEYBOARD_SC_CRSEL_ANDPROPS 0xA3
+ #define HID_KEYBOARD_SC_EXSEL 0xA4
+ #define HID_KEYBOARD_SC_KEYPAD_00 0xB0
+ #define HID_KEYBOARD_SC_KEYPAD_000 0xB1
+ #define HID_KEYBOARD_SC_THOUSANDS_SEPARATOR 0xB2
+ #define HID_KEYBOARD_SC_DECIMAL_SEPARATOR 0xB3
+ #define HID_KEYBOARD_SC_CURRENCY_UNIT 0xB4
+ #define HID_KEYBOARD_SC_CURRENCY_SUB_UNIT 0xB5
+ #define HID_KEYBOARD_SC_KEYPAD_OPENING_PARENTHESIS 0xB6
+ #define HID_KEYBOARD_SC_KEYPAD_CLOSING_PARENTHESIS 0xB7
+ #define HID_KEYBOARD_SC_KEYPAD_OPENING_BRACE 0xB8
+ #define HID_KEYBOARD_SC_KEYPAD_CLOSING_BRACE 0xB9
+ #define HID_KEYBOARD_SC_KEYPAD_TAB 0xBA
+ #define HID_KEYBOARD_SC_KEYPAD_BACKSPACE 0xBB
+ #define HID_KEYBOARD_SC_KEYPAD_A 0xBC
+ #define HID_KEYBOARD_SC_KEYPAD_B 0xBD
+ #define HID_KEYBOARD_SC_KEYPAD_C 0xBE
+ #define HID_KEYBOARD_SC_KEYPAD_D 0xBF
+ #define HID_KEYBOARD_SC_KEYPAD_E 0xC0
+ #define HID_KEYBOARD_SC_KEYPAD_F 0xC1
+ #define HID_KEYBOARD_SC_KEYPAD_XOR 0xC2
+ #define HID_KEYBOARD_SC_KEYPAD_CARET 0xC3
+ #define HID_KEYBOARD_SC_KEYPAD_PERCENTAGE 0xC4
+ #define HID_KEYBOARD_SC_KEYPAD_LESS_THAN_SIGN 0xC5
+ #define HID_KEYBOARD_SC_KEYPAD_GREATER_THAN_SIGN 0xC6
+ #define HID_KEYBOARD_SC_KEYPAD_AMP 0xC7
+ #define HID_KEYBOARD_SC_KEYPAD_AMP_AMP 0xC8
+ #define HID_KEYBOARD_SC_KEYPAD_PIPE 0xC9
+ #define HID_KEYBOARD_SC_KEYPAD_PIPE_PIPE 0xCA
+ #define HID_KEYBOARD_SC_KEYPAD_COLON 0xCB
+ #define HID_KEYBOARD_SC_KEYPAD_HASHMARK 0xCC
+ #define HID_KEYBOARD_SC_KEYPAD_SPACE 0xCD
+ #define HID_KEYBOARD_SC_KEYPAD_AT 0xCE
+ #define HID_KEYBOARD_SC_KEYPAD_EXCLAMATION_SIGN 0xCF
+ #define HID_KEYBOARD_SC_KEYPAD_MEMORY_STORE 0xD0
+ #define HID_KEYBOARD_SC_KEYPAD_MEMORY_RECALL 0xD1
+ #define HID_KEYBOARD_SC_KEYPAD_MEMORY_CLEAR 0xD2
+ #define HID_KEYBOARD_SC_KEYPAD_MEMORY_ADD 0xD3
+ #define HID_KEYBOARD_SC_KEYPAD_MEMORY_SUBTRACT 0xD4
+ #define HID_KEYBOARD_SC_KEYPAD_MEMORY_MULTIPLY 0xD5
+ #define HID_KEYBOARD_SC_KEYPAD_MEMORY_DIVIDE 0xD6
+ #define HID_KEYBOARD_SC_KEYPAD_PLUS_AND_MINUS 0xD7
+ #define HID_KEYBOARD_SC_KEYPAD_CLEAR 0xD8
+ #define HID_KEYBOARD_SC_KEYPAD_CLEAR_ENTRY 0xD9
+ #define HID_KEYBOARD_SC_KEYPAD_BINARY 0xDA
+ #define HID_KEYBOARD_SC_KEYPAD_OCTAL 0xDB
+ #define HID_KEYBOARD_SC_KEYPAD_DECIMAL 0xDC
+ #define HID_KEYBOARD_SC_KEYPAD_HEXADECIMAL 0xDD
+ #define HID_KEYBOARD_SC_LEFT_CONTROL 0xE0
+ #define HID_KEYBOARD_SC_LEFT_SHIFT 0xE1
+ #define HID_KEYBOARD_SC_LEFT_ALT 0xE2
+ #define HID_KEYBOARD_SC_LEFT_GUI 0xE3
+ #define HID_KEYBOARD_SC_RIGHT_CONTROL 0xE4
+ #define HID_KEYBOARD_SC_RIGHT_SHIFT 0xE5
+ #define HID_KEYBOARD_SC_RIGHT_ALT 0xE6
+ #define HID_KEYBOARD_SC_RIGHT_GUI 0xE7
+ //@}
+
+ /* Type Defines: */
+ /** Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the HID
+ * device class.
+ */
+ enum HID_Descriptor_ClassSubclassProtocol_t
+ {
+ HID_CSCP_HIDClass = 0x03, /**< Descriptor Class value indicating that the device or interface
+ * belongs to the HID class.
+ */
+ HID_CSCP_NonBootSubclass = 0x00, /**< Descriptor Subclass value indicating that the device or interface
+ * does not implement a HID boot protocol.
+ */
+ HID_CSCP_BootSubclass = 0x01, /**< Descriptor Subclass value indicating that the device or interface
+ * implements a HID boot protocol.
+ */
+ HID_CSCP_NonBootProtocol = 0x00, /**< Descriptor Protocol value indicating that the device or interface
+ * does not belong to a HID boot protocol.
+ */
+ HID_CSCP_KeyboardBootProtocol = 0x01, /**< Descriptor Protocol value indicating that the device or interface
+ * belongs to the Keyboard HID boot protocol.
+ */
+ HID_CSCP_MouseBootProtocol = 0x02, /**< Descriptor Protocol value indicating that the device or interface
+ * belongs to the Mouse HID boot protocol.
+ */
+ };
+
+ /** Enum for the HID class specific control requests that can be issued by the USB bus host. */
+ enum HID_ClassRequests_t
+ {
+ HID_REQ_GetReport = 0x01, /**< HID class-specific Request to get the current HID report from the device. */
+ HID_REQ_GetIdle = 0x02, /**< HID class-specific Request to get the current device idle count. */
+ HID_REQ_GetProtocol = 0x03, /**< HID class-specific Request to get the current HID report protocol mode. */
+ HID_REQ_SetReport = 0x09, /**< HID class-specific Request to set the current HID report to the device. */
+ HID_REQ_SetIdle = 0x0A, /**< HID class-specific Request to set the device's idle count. */
+ HID_REQ_SetProtocol = 0x0B, /**< HID class-specific Request to set the current HID report protocol mode. */
+ };
+
+ /** Enum for the HID class specific descriptor types. */
+ enum HID_DescriptorTypes_t
+ {
+ HID_DTYPE_HID = 0x21, /**< Descriptor header type value, to indicate a HID class HID descriptor. */
+ HID_DTYPE_Report = 0x22, /**< Descriptor header type value, to indicate a HID class HID report descriptor. */
+ };
+
+ /** Enum for the different types of HID reports. */
+ enum HID_ReportItemTypes_t
+ {
+ HID_REPORT_ITEM_In = 0, /**< Indicates that the item is an IN report type. */
+ HID_REPORT_ITEM_Out = 1, /**< Indicates that the item is an OUT report type. */
+ HID_REPORT_ITEM_Feature = 2, /**< Indicates that the item is a FEATURE report type. */
+ };
+
+ /** \brief HID class-specific HID Descriptor (LUFA naming conventions).
+ *
+ * Type define for the HID class-specific HID descriptor, to describe the HID device's specifications. Refer to the HID
+ * specification for details on the structure elements.
+ *
+ * \see \ref USB_HID_StdDescriptor_HID_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
+
+ uint16_t HIDSpec; /**< BCD encoded version that the HID descriptor and device complies to. */
+ uint8_t CountryCode; /**< Country code of the localized device, or zero if universal. */
+
+ uint8_t TotalReportDescriptors; /**< Total number of HID report descriptors for the interface. */
+
+ uint8_t HIDReportType; /**< Type of HID report, set to \ref HID_DTYPE_Report. */
+ uint16_t HIDReportLength; /**< Length of the associated HID report descriptor, in bytes. */
+ } USB_HID_Descriptor_HID_t;
+
+ /** \brief HID class-specific HID Descriptor (USB-IF naming conventions).
+ *
+ * Type define for the HID class-specific HID descriptor, to describe the HID device's specifications. Refer to the HID
+ * specification for details on the structure elements.
+ *
+ * \see \ref USB_HID_Descriptor_HID_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+
+ uint16_t bcdHID; /**< BCD encoded version that the HID descriptor and device complies to. */
+ uint8_t bCountryCode; /**< Country code of the localized device, or zero if universal. */
+
+ uint8_t bNumDescriptors; /**< Total number of HID report descriptors for the interface. */
+
+ uint8_t bDescriptorType2; /**< Type of HID report, set to \ref HID_DTYPE_Report. */
+ uint16_t wDescriptorLength; /**< Length of the associated HID report descriptor, in bytes. */
+ } USB_HID_StdDescriptor_HID_t;
+
+ /** \brief Standard HID Boot Protocol Mouse Report.
+ *
+ * Type define for a standard Boot Protocol Mouse report
+ */
+ typedef struct
+ {
+ uint8_t Button; /**< Button mask for currently pressed buttons in the mouse. */
+ int8_t X; /**< Current delta X movement of the mouse. */
+ int8_t Y; /**< Current delta Y movement on the mouse. */
+ } USB_MouseReport_Data_t;
+
+ /** \brief Standard HID Boot Protocol Keyboard Report.
+ *
+ * Type define for a standard Boot Protocol Keyboard report
+ */
+ typedef struct
+ {
+ uint8_t Modifier; /**< Keyboard modifier byte, indicating pressed modifier keys (a combination of
+ * HID_KEYBOARD_MODIFER_* masks).
+ */
+ uint8_t Reserved; /**< Reserved for OEM use, always set to 0. */
+ uint8_t KeyCode[6]; /**< Key codes of the currently pressed keys. */
+ } USB_KeyboardReport_Data_t;
+
+ /** Type define for the data type used to store HID report descriptor elements. */
+ typedef uint8_t USB_Descriptor_HIDReport_Datatype_t;
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Common/MIDI.h b/firmware/LUFA/Drivers/USB/Class/Common/MIDI.h
new file mode 100644
index 0000000..4a3be81
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Common/MIDI.h
@@ -0,0 +1,293 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Common definitions and declarations for the library USB MIDI Class driver.
+ *
+ * Common definitions and declarations for the library USB MIDI Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassMIDI
+ * @defgroup Group_USBClassMIDICommon Common Class Definitions
+ *
+ * \section Module Description
+ * Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
+ * MIDI Class.
+ *
+ * @{
+ */
+
+#ifndef _MIDI_CLASS_COMMON_H_
+#define _MIDI_CLASS_COMMON_H_
+
+ /* Macros: */
+ #define __INCLUDE_FROM_AUDIO_DRIVER
+
+ /* Includes: */
+ #include "../../HighLevel/StdDescriptors.h"
+ #include "Audio.h"
+
+ #include <string.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_MIDI_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ /* Macros: */
+ /** \name MIDI Command Values */
+ //@{
+ /** MIDI command for a note on (activation) event. */
+ #define MIDI_COMMAND_NOTE_ON 0x90
+
+ /** MIDI command for a note off (deactivation) event. */
+ #define MIDI_COMMAND_NOTE_OFF 0x80
+ //@}
+
+ /** Standard key press velocity value used for all note events. */
+ #define MIDI_STANDARD_VELOCITY 64
+
+ /** Convenience macro. MIDI channels are numbered from 1-10 (natural numbers) however the logical channel
+ * addresses are zero-indexed. This converts a natural MIDI channel number into the logical channel address.
+ *
+ * \param[in] channel MIDI channel number to address.
+ */
+ #define MIDI_CHANNEL(channel) ((channel) - 1)
+
+ /* Enums: */
+ /** Enum for the possible MIDI jack types in a MIDI device jack descriptor. */
+ enum MIDI_JackTypes_t
+ {
+ MIDI_JACKTYPE_Embedded = 0x01, /**< MIDI class descriptor jack type value for an embedded (logical) MIDI input or output jack. */
+ MIDI_JACKTYPE_External = 0x02, /**< MIDI class descriptor jack type value for an external (physical) MIDI input or output jack. */
+ };
+
+ /* Type Defines: */
+ /** \brief MIDI class-specific Streaming Interface Descriptor (LUFA naming conventions).
+ *
+ * Type define for an Audio class-specific MIDI streaming interface descriptor. This indicates to the host
+ * how MIDI the specification compliance of the device and the total length of the Audio class-specific descriptors.
+ * See the USB Audio specification for more details.
+ *
+ * \see \ref USB_MIDI_StdDescriptor_AudioInterface_AS_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
+ uint8_t Subtype; /**< Sub type value used to distinguish between audio class-specific descriptors. */
+
+ uint16_t AudioSpecification; /**< Binary coded decimal value, indicating the supported Audio Class
+ * specification version.
+ */
+ uint16_t TotalLength; /**< Total length of the Audio class-specific descriptors, including this descriptor. */
+ } USB_MIDI_Descriptor_AudioInterface_AS_t;
+
+ /** \brief MIDI class-specific Streaming Interface Descriptor (USB-IF naming conventions).
+ *
+ * Type define for an Audio class-specific MIDI streaming interface descriptor. This indicates to the host
+ * how MIDI the specification compliance of the device and the total length of the Audio class-specific descriptors.
+ * See the USB Audio specification for more details.
+ *
+ * \see \ref USB_MIDI_Descriptor_AudioInterface_AS_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+
+ uint8_t bDescriptorSubtype; /**< Sub type value used to distinguish between audio class-specific descriptors. */
+
+ uint16_t bcdMSC; /**< Binary coded decimal value, indicating the supported MIDI Class specification version. */
+ uint16_t wTotalLength; /**< Total length of the Audio class-specific descriptors, including this descriptor. */
+ } USB_MIDI_StdDescriptor_AudioInterface_AS_t;
+
+ /** \brief MIDI class-specific Input Jack Descriptor (LUFA naming conventions).
+ *
+ * Type define for an Audio class-specific MIDI IN jack. This gives information to the host on a MIDI input, either
+ * a physical input jack, or a logical jack (receiving input data internally, or from the host via an endpoint).
+ *
+ * \see \ref USB_MIDI_StdDescriptor_InputJack_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
+ uint8_t Subtype; /**< Sub type value used to distinguish between audio class-specific descriptors. */
+
+ uint8_t JackType; /**< Type of jack, one of the JACKTYPE_* mask values. */
+ uint8_t JackID; /**< ID value of this jack - must be a unique value within the device. */
+
+ uint8_t JackStrIndex; /**< Index of a string descriptor describing this descriptor within the device. */
+ } USB_MIDI_Descriptor_InputJack_t;
+
+ /** \brief MIDI class-specific Input Jack Descriptor (USB-IF naming conventions).
+ *
+ * Type define for an Audio class-specific MIDI IN jack. This gives information to the host on a MIDI input, either
+ * a physical input jack, or a logical jack (receiving input data internally, or from the host via an endpoint).
+ *
+ * \see \ref USB_MIDI_Descriptor_InputJack_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+
+ uint8_t bDescriptorSubtype; /**< Sub type value used to distinguish between audio class-specific descriptors. */
+
+ uint8_t bJackType; /**< Type of jack, one of the JACKTYPE_* mask values. */
+ uint8_t bJackID; /**< ID value of this jack - must be a unique value within the device. */
+
+ uint8_t iJack; /**< Index of a string descriptor describing this descriptor within the device. */
+ } USB_MIDI_StdDescriptor_InputJack_t;
+
+ /** \brief MIDI class-specific Output Jack Descriptor (LUFA naming conventions).
+ *
+ * Type define for an Audio class-specific MIDI OUT jack. This gives information to the host on a MIDI output, either
+ * a physical output jack, or a logical jack (sending output data internally, or to the host via an endpoint).
+ *
+ * \see \ref USB_MIDI_StdDescriptor_OutputJack_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
+ uint8_t Subtype; /**< Sub type value used to distinguish between audio class-specific descriptors. */
+
+ uint8_t JackType; /**< Type of jack, one of the JACKTYPE_* mask values. */
+ uint8_t JackID; /**< ID value of this jack - must be a unique value within the device. */
+
+ uint8_t NumberOfPins; /**< Number of output channels within the jack, either physical or logical. */
+ uint8_t SourceJackID[1]; /**< ID of each output pin's source data jack. */
+ uint8_t SourcePinID[1]; /**< Pin number in the input jack of each output pin's source data. */
+
+ uint8_t JackStrIndex; /**< Index of a string descriptor describing this descriptor within the device. */
+ } USB_MIDI_Descriptor_OutputJack_t;
+
+ /** \brief MIDI class-specific Output Jack Descriptor (USB-IF naming conventions).
+ *
+ * Type define for an Audio class-specific MIDI OUT jack. This gives information to the host on a MIDI output, either
+ * a physical output jack, or a logical jack (sending output data internally, or to the host via an endpoint).
+ *
+ * \see \ref USB_MIDI_Descriptor_OutputJack_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+
+ uint8_t bDescriptorSubtype; /**< Sub type value used to distinguish between audio class-specific descriptors. */
+
+ uint8_t bJackType; /**< Type of jack, one of the JACKTYPE_* mask values. */
+ uint8_t bJackID; /**< ID value of this jack - must be a unique value within the device. */
+
+ uint8_t bNrInputPins; /**< Number of output channels within the jack, either physical or logical. */
+ uint8_t baSourceID[1]; /**< ID of each output pin's source data jack. */
+ uint8_t baSourcePin[1]; /**< Pin number in the input jack of each output pin's source data. */
+
+ uint8_t iJack; /**< Index of a string descriptor describing this descriptor within the device. */
+ } USB_MIDI_StdDescriptor_OutputJack_t;
+
+ /** \brief Audio class-specific Jack Endpoint Descriptor (LUFA naming conventions).
+ *
+ * Type define for an Audio class-specific extended MIDI jack endpoint descriptor. This contains extra information
+ * on the usage of MIDI endpoints used to stream MIDI events in and out of the USB Audio device, and follows an Audio
+ * class-specific extended MIDI endpoint descriptor. See the USB Audio specification for more details.
+ *
+ * \see \ref USB_MIDI_StdDescriptor_Jack_Endpoint_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
+ uint8_t Subtype; /**< Sub type value used to distinguish between audio class-specific descriptors. */
+
+ uint8_t TotalEmbeddedJacks; /**< Total number of jacks inside this endpoint. */
+ uint8_t AssociatedJackID[1]; /**< IDs of each jack inside the endpoint. */
+ } USB_MIDI_Descriptor_Jack_Endpoint_t;
+
+ /** \brief Audio class-specific Jack Endpoint Descriptor (USB-IF naming conventions).
+ *
+ * Type define for an Audio class-specific extended MIDI jack endpoint descriptor. This contains extra information
+ * on the usage of MIDI endpoints used to stream MIDI events in and out of the USB Audio device, and follows an Audio
+ * class-specific extended MIDI endpoint descriptor. See the USB Audio specification for more details.
+ *
+ * \see \ref USB_MIDI_Descriptor_Jack_Endpoint_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+
+ uint8_t bDescriptorSubtype; /**< Sub type value used to distinguish between audio class-specific descriptors. */
+
+ uint8_t bNumEmbMIDIJack; /**< Total number of jacks inside this endpoint. */
+ uint8_t bAssocJackID[1]; /**< IDs of each jack inside the endpoint. */
+ } USB_MIDI_StdDescriptor_Jack_Endpoint_t;
+
+ /** \brief MIDI Class Driver Event Packet.
+ *
+ * Type define for a USB MIDI event packet, used to encapsulate sent and received MIDI messages from a USB MIDI interface.
+ */
+ typedef struct
+ {
+ unsigned char Command : 4; /**< Upper nibble of the MIDI command being sent or received in the event packet. */
+ unsigned char CableNumber : 4; /**< Virtual cable number of the event being sent or received in the given MIDI interface. */
+
+ uint8_t Data1; /**< First byte of data in the MIDI event. */
+ uint8_t Data2; /**< Second byte of data in the MIDI event. */
+ uint8_t Data3; /**< Third byte of data in the MIDI event. */
+ } MIDI_EventPacket_t;
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Common/MassStorage.h b/firmware/LUFA/Drivers/USB/Class/Common/MassStorage.h
new file mode 100644
index 0000000..fd24056
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Common/MassStorage.h
@@ -0,0 +1,362 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Common definitions and declarations for the library USB Mass Storage Class driver.
+ *
+ * Common definitions and declarations for the library USB Mass Storage Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassMS
+ * @defgroup Group_USBClassMSCommon Common Class Definitions
+ *
+ * \section Module Description
+ * Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
+ * Mass Storage Class.
+ *
+ * @{
+ */
+
+#ifndef _MS_CLASS_COMMON_H_
+#define _MS_CLASS_COMMON_H_
+
+ /* Includes: */
+ #include "../../HighLevel/StdDescriptors.h"
+
+ #include <string.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_MS_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ /* Macros: */
+ /** Magic signature for a Command Block Wrapper used in the Mass Storage Bulk-Only transport protocol. */
+ #define MS_CBW_SIGNATURE 0x43425355UL
+
+ /** Magic signature for a Command Status Wrapper used in the Mass Storage Bulk-Only transport protocol. */
+ #define MS_CSW_SIGNATURE 0x53425355UL
+
+ /** Mask for a Command Block Wrapper's flags attribute to specify a command with data sent from host-to-device. */
+ #define MS_COMMAND_DIR_DATA_OUT (0 << 7)
+
+ /** Mask for a Command Block Wrapper's flags attribute to specify a command with data sent from device-to-host. */
+ #define MS_COMMAND_DIR_DATA_IN (1 << 7)
+
+ /** \name SCSI Commands*/
+ //@{
+ /** SCSI Command Code for an INQUIRY command. */
+ #define SCSI_CMD_INQUIRY 0x12
+
+ /** SCSI Command Code for a REQUEST SENSE command. */
+ #define SCSI_CMD_REQUEST_SENSE 0x03
+
+ /** SCSI Command Code for a TEST UNIT READY command. */
+ #define SCSI_CMD_TEST_UNIT_READY 0x00
+
+ /** SCSI Command Code for a READ CAPACITY (10) command. */
+ #define SCSI_CMD_READ_CAPACITY_10 0x25
+
+ /** SCSI Command Code for a SEND DIAGNOSTIC command. */
+ #define SCSI_CMD_SEND_DIAGNOSTIC 0x1D
+
+ /** SCSI Command Code for a PREVENT ALLOW MEDIUM REMOVAL command. */
+ #define SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL 0x1E
+
+ /** SCSI Command Code for a WRITE (10) command. */
+ #define SCSI_CMD_WRITE_10 0x2A
+
+ /** SCSI Command Code for a READ (10) command. */
+ #define SCSI_CMD_READ_10 0x28
+
+ /** SCSI Command Code for a WRITE (6) command. */
+ #define SCSI_CMD_WRITE_6 0x0A
+
+ /** SCSI Command Code for a READ (6) command. */
+ #define SCSI_CMD_READ_6 0x08
+
+ /** SCSI Command Code for a VERIFY (10) command. */
+ #define SCSI_CMD_VERIFY_10 0x2F
+
+ /** SCSI Command Code for a MODE SENSE (6) command. */
+ #define SCSI_CMD_MODE_SENSE_6 0x1A
+
+ /** SCSI Command Code for a MODE SENSE (10) command. */
+ #define SCSI_CMD_MODE_SENSE_10 0x5A
+ //@}
+
+ /** \name SCSI Sense Key Values */
+ //@{
+ /** SCSI Sense Code to indicate no error has occurred. */
+ #define SCSI_SENSE_KEY_GOOD 0x00
+
+ /** SCSI Sense Code to indicate that the device has recovered from an error. */
+ #define SCSI_SENSE_KEY_RECOVERED_ERROR 0x01
+
+ /** SCSI Sense Code to indicate that the device is not ready for a new command. */
+ #define SCSI_SENSE_KEY_NOT_READY 0x02
+
+ /** SCSI Sense Code to indicate an error whilst accessing the medium. */
+ #define SCSI_SENSE_KEY_MEDIUM_ERROR 0x03
+
+ /** SCSI Sense Code to indicate a hardware has occurred. */
+ #define SCSI_SENSE_KEY_HARDWARE_ERROR 0x04
+
+ /** SCSI Sense Code to indicate that an illegal request has been issued. */
+ #define SCSI_SENSE_KEY_ILLEGAL_REQUEST 0x05
+
+ /** SCSI Sense Code to indicate that the unit requires attention from the host to indicate
+ * a reset event, medium removal or other condition.
+ */
+ #define SCSI_SENSE_KEY_UNIT_ATTENTION 0x06
+
+ /** SCSI Sense Code to indicate that a write attempt on a protected block has been made. */
+ #define SCSI_SENSE_KEY_DATA_PROTECT 0x07
+
+ /** SCSI Sense Code to indicate an error while trying to write to a write-once medium. */
+ #define SCSI_SENSE_KEY_BLANK_CHECK 0x08
+
+ /** SCSI Sense Code to indicate a vendor specific error has occurred. */
+ #define SCSI_SENSE_KEY_VENDOR_SPECIFIC 0x09
+
+ /** SCSI Sense Code to indicate that an EXTENDED COPY command has aborted due to an error. */
+ #define SCSI_SENSE_KEY_COPY_ABORTED 0x0A
+
+ /** SCSI Sense Code to indicate that the device has aborted the issued command. */
+ #define SCSI_SENSE_KEY_ABORTED_COMMAND 0x0B
+
+ /** SCSI Sense Code to indicate an attempt to write past the end of a partition has been made. */
+ #define SCSI_SENSE_KEY_VOLUME_OVERFLOW 0x0D
+
+ /** SCSI Sense Code to indicate that the source data did not match the data read from the medium. */
+ #define SCSI_SENSE_KEY_MISCOMPARE 0x0E
+ //@}
+
+ /** \name SCSI Additional Sense Codes */
+ //@{
+ /** SCSI Additional Sense Code to indicate no additional sense information is available. */
+ #define SCSI_ASENSE_NO_ADDITIONAL_INFORMATION 0x00
+
+ /** SCSI Additional Sense Code to indicate that the logical unit (LUN) addressed is not ready. */
+ #define SCSI_ASENSE_LOGICAL_UNIT_NOT_READY 0x04
+
+ /** SCSI Additional Sense Code to indicate an invalid field was encountered while processing the issued command. */
+ #define SCSI_ASENSE_INVALID_FIELD_IN_CDB 0x24
+
+ /** SCSI Additional Sense Code to indicate that a medium that was previously indicated as not ready has now
+ * become ready for use.
+ */
+ #define SCSI_ASENSE_NOT_READY_TO_READY_CHANGE 0x28
+
+ /** SCSI Additional Sense Code to indicate that an attempt to write to a protected area was made. */
+ #define SCSI_ASENSE_WRITE_PROTECTED 0x27
+
+ /** SCSI Additional Sense Code to indicate an error whilst formatting the device medium. */
+ #define SCSI_ASENSE_FORMAT_ERROR 0x31
+
+ /** SCSI Additional Sense Code to indicate an invalid command was issued. */
+ #define SCSI_ASENSE_INVALID_COMMAND 0x20
+
+ /** SCSI Additional Sense Code to indicate a write to a block out outside of the medium's range was issued. */
+ #define SCSI_ASENSE_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE 0x21
+
+ /** SCSI Additional Sense Code to indicate that no removable medium is inserted into the device. */
+ #define SCSI_ASENSE_MEDIUM_NOT_PRESENT 0x3A
+ //@}
+
+ /** \name SCSI Additional Sense Key Code Qualifiers */
+ //@{
+ /** SCSI Additional Sense Qualifier Code to indicate no additional sense qualifier information is available. */
+ #define SCSI_ASENSEQ_NO_QUALIFIER 0x00
+
+ /** SCSI Additional Sense Qualifier Code to indicate that a medium format command failed to complete. */
+ #define SCSI_ASENSEQ_FORMAT_COMMAND_FAILED 0x01
+
+ /** SCSI Additional Sense Qualifier Code to indicate that an initializing command must be issued before the issued
+ * command can be executed.
+ */
+ #define SCSI_ASENSEQ_INITIALIZING_COMMAND_REQUIRED 0x02
+
+ /** SCSI Additional Sense Qualifier Code to indicate that an operation is currently in progress. */
+ #define SCSI_ASENSEQ_OPERATION_IN_PROGRESS 0x07
+ //@}
+
+ /* Enums: */
+ /** Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the Mass
+ * Storage device class.
+ */
+ enum MS_Descriptor_ClassSubclassProtocol_t
+ {
+ MS_CSCP_MassStorageClass = 0x08, /**< Descriptor Class value indicating that the device or interface
+ * belongs to the Mass Storage class.
+ */
+ MS_CSCP_SCSITransparentSubclass = 0x06, /**< Descriptor Subclass value indicating that the device or interface
+ * belongs to the SCSI Transparent Command Set subclass of the Mass
+ * storage class.
+ */
+ MS_CSCP_BulkOnlyTransportProtocol = 0x50, /**< Descriptor Protocol value indicating that the device or interface
+ * belongs to the Bulk Only Transport protocol of the Mass Storage class.
+ */
+ };
+
+ /** Enum for the Mass Storage class specific control requests that can be issued by the USB bus host. */
+ enum MS_ClassRequests_t
+ {
+ MS_REQ_GetMaxLUN = 0xFE, /**< Mass Storage class-specific request to retrieve the total number of Logical
+ * Units (drives) in the SCSI device.
+ */
+ MS_REQ_MassStorageReset = 0xFF, /**< Mass Storage class-specific request to reset the Mass Storage interface,
+ * ready for the next command.
+ */
+ };
+
+ /** Enum for the possible command status wrapper return status codes. */
+ enum MS_CommandStatusCodes_t
+ {
+ MS_SCSI_COMMAND_Pass = 0, /**< Command completed with no error */
+ MS_SCSI_COMMAND_Fail = 1, /**< Command failed to complete - host may check the exact error via a
+ * SCSI REQUEST SENSE command.
+ */
+ MS_SCSI_COMMAND_PhaseError = 2, /**< Command failed due to being invalid in the current phase. */
+ };
+
+ /* Type Defines: */
+ /** \brief Mass Storage Class Command Block Wrapper.
+ *
+ * Type define for a Command Block Wrapper, used in the Mass Storage Bulk-Only Transport protocol. */
+ typedef struct
+ {
+ uint32_t Signature; /**< Command block signature, must be CBW_SIGNATURE to indicate a valid Command Block. */
+ uint32_t Tag; /**< Unique command ID value, to associate a command block wrapper with its command status wrapper. */
+ uint32_t DataTransferLength; /**< Length of the optional data portion of the issued command, in bytes. */
+ uint8_t Flags; /**< Command block flags, indicating command data direction. */
+ uint8_t LUN; /**< Logical Unit number this command is issued to. */
+ uint8_t SCSICommandLength; /**< Length of the issued SCSI command within the SCSI command data array. */
+ uint8_t SCSICommandData[16]; /**< Issued SCSI command in the Command Block. */
+ } MS_CommandBlockWrapper_t;
+
+ /** \brief Mass Storage Class Command Status Wrapper.
+ *
+ * Type define for a Command Status Wrapper, used in the Mass Storage Bulk-Only Transport protocol.
+ */
+ typedef struct
+ {
+ uint32_t Signature; /**< Status block signature, must be CSW_SIGNATURE to indicate a valid Command Status. */
+ uint32_t Tag; /**< Unique command ID value, to associate a command block wrapper with its command status wrapper. */
+ uint32_t DataTransferResidue; /**< Number of bytes of data not processed in the SCSI command. */
+ uint8_t Status; /**< Status code of the issued command - a value from the \ref MS_CommandStatusCodes_t enum. */
+ } MS_CommandStatusWrapper_t;
+
+ /** \brief Mass Storage Class SCSI Sense Structure
+ *
+ * Type define for a SCSI Sense structure. Structures of this type are filled out by the
+ * device via the \ref MS_Host_RequestSense() function, indicating the current sense data of the
+ * device (giving explicit error codes for the last issued command). For details of the
+ * structure contents, refer to the SCSI specifications.
+ */
+ typedef struct
+ {
+ uint8_t ResponseCode;
+
+ uint8_t SegmentNumber;
+
+ unsigned char SenseKey : 4;
+ unsigned char Reserved : 1;
+ unsigned char ILI : 1;
+ unsigned char EOM : 1;
+ unsigned char FileMark : 1;
+
+ uint8_t Information[4];
+ uint8_t AdditionalLength;
+ uint8_t CmdSpecificInformation[4];
+ uint8_t AdditionalSenseCode;
+ uint8_t AdditionalSenseQualifier;
+ uint8_t FieldReplaceableUnitCode;
+ uint8_t SenseKeySpecific[3];
+ } SCSI_Request_Sense_Response_t;
+
+ /** \brief Mass Storage Class SCSI Inquiry Structure.
+ *
+ * Type define for a SCSI Inquiry structure. Structures of this type are filled out by the
+ * device via the \ref MS_Host_GetInquiryData() function, retrieving the attached device's
+ * information.
+ *
+ * For details of the structure contents, refer to the SCSI specifications.
+ */
+ typedef struct
+ {
+ unsigned char DeviceType : 5;
+ unsigned char PeripheralQualifier : 3;
+
+ unsigned char Reserved : 7;
+ unsigned char Removable : 1;
+
+ uint8_t Version;
+
+ unsigned char ResponseDataFormat : 4;
+ unsigned char Reserved2 : 1;
+ unsigned char NormACA : 1;
+ unsigned char TrmTsk : 1;
+ unsigned char AERC : 1;
+
+ uint8_t AdditionalLength;
+ uint8_t Reserved3[2];
+
+ unsigned char SoftReset : 1;
+ unsigned char CmdQue : 1;
+ unsigned char Reserved4 : 1;
+ unsigned char Linked : 1;
+ unsigned char Sync : 1;
+ unsigned char WideBus16Bit : 1;
+ unsigned char WideBus32Bit : 1;
+ unsigned char RelAddr : 1;
+
+ uint8_t VendorID[8];
+ uint8_t ProductID[16];
+ uint8_t RevisionID[4];
+ } SCSI_Inquiry_Response_t;
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Common/Printer.h b/firmware/LUFA/Drivers/USB/Class/Common/Printer.h
new file mode 100644
index 0000000..47a7909
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Common/Printer.h
@@ -0,0 +1,121 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Common definitions and declarations for the library USB Printer Class driver.
+ *
+ * Common definitions and declarations for the library USB Printer Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassPrinter
+ * @defgroup Group_USBClassPrinterCommon Common Class Definitions
+ *
+ * \section Module Description
+ * Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
+ * Printer Class.
+ *
+ * @{
+ */
+
+#ifndef _PRINTER_CLASS_COMMON_H_
+#define _PRINTER_CLASS_COMMON_H_
+
+ /* Includes: */
+ #include "../../HighLevel/StdDescriptors.h"
+
+ #include <string.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_PRINTER_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ /* Macros: */
+ /** \name Virtual Printer Status Line Masks */
+ //@{
+ /** Port status mask for a printer device, indicating that an error has *not* occurred. */
+ #define PRNT_PORTSTATUS_NOTERROR (1 << 3)
+
+ /** Port status mask for a printer device, indicating that the device is currently selected. */
+ #define PRNT_PORTSTATUS_SELECT (1 << 4)
+
+ /** Port status mask for a printer device, indicating that the device is currently out of paper. */
+ #define PRNT_PORTSTATUS_PAPEREMPTY (1 << 5)
+ //@}
+
+ /* Enums: */
+ /** Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the Printer
+ * device class.
+ */
+ enum PRNT_Descriptor_ClassSubclassProtocol_t
+ {
+ PRNT_CSCP_PrinterClass = 0x07, /**< Descriptor Class value indicating that the device or interface
+ * belongs to the Printer class.
+ */
+ PRNT_CSCP_PrinterSubclass = 0x01, /**< Descriptor Subclass value indicating that the device or interface
+ * belongs to the Printer subclass.
+ */
+ PRNT_CSCP_BidirectionalProtocol = 0x02, /**< Descriptor Protocol value indicating that the device or interface
+ * belongs to the Bidirectional protocol of the Printer class.
+ */
+ };
+
+ /** Enum for the Printer class specific control requests that can be issued by the USB bus host. */
+ enum PRNT_ClassRequests_t
+ {
+ PRNT_REQ_GetDeviceID = 0x00, /**< Printer class-specific request to retrieve the Unicode ID
+ * string of the device, containing the device's name, manufacturer
+ * and supported printer languages.
+ */
+ PRNT_REQ_GetPortStatus = 0x01, /**< Printer class-specific request to get the current status of the
+ * virtual printer port, for device selection and ready states.
+ */
+ PRNT_REQ_SoftReset = 0x02, /**< Printer class-specific request to reset the device, ready for new
+ * printer commands.
+ */
+ };
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Common/RNDIS.h b/firmware/LUFA/Drivers/USB/Class/Common/RNDIS.h
new file mode 100644
index 0000000..b4fb114
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Common/RNDIS.h
@@ -0,0 +1,399 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Common definitions and declarations for the library USB RNDIS Class driver.
+ *
+ * Common definitions and declarations for the library USB RNDIS Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassRNDIS
+ * @defgroup Group_USBClassRNDISCommon Common Class Definitions
+ *
+ * \section Module Description
+ * Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
+ * RNDIS Class.
+ *
+ * @{
+ */
+
+#ifndef _RNDIS_CLASS_COMMON_H_
+#define _RNDIS_CLASS_COMMON_H_
+
+ /* Macros: */
+ #define __INCLUDE_FROM_CDC_DRIVER
+
+ /* Includes: */
+ #include "../../HighLevel/StdDescriptors.h"
+ #include "CDC.h"
+
+ #include <string.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_RNDIS_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ /* Macros: */
+ /** Implemented RNDIS Version Major. */
+ #define REMOTE_NDIS_VERSION_MAJOR 0x01
+
+ /** Implemented RNDIS Version Minor. */
+ #define REMOTE_NDIS_VERSION_MINOR 0x00
+
+ /** \name RNDIS Message Values */
+ //@{
+ #define REMOTE_NDIS_PACKET_MSG 0x00000001UL
+ #define REMOTE_NDIS_INITIALIZE_MSG 0x00000002UL
+ #define REMOTE_NDIS_HALT_MSG 0x00000003UL
+ #define REMOTE_NDIS_QUERY_MSG 0x00000004UL
+ #define REMOTE_NDIS_SET_MSG 0x00000005UL
+ #define REMOTE_NDIS_RESET_MSG 0x00000006UL
+ #define REMOTE_NDIS_INDICATE_STATUS_MSG 0x00000007UL
+ #define REMOTE_NDIS_KEEPALIVE_MSG 0x00000008UL
+ //@}
+
+ /** \name RNDIS Response Values */
+ //@{
+ #define REMOTE_NDIS_INITIALIZE_CMPLT 0x80000002UL
+ #define REMOTE_NDIS_QUERY_CMPLT 0x80000004UL
+ #define REMOTE_NDIS_SET_CMPLT 0x80000005UL
+ #define REMOTE_NDIS_RESET_CMPLT 0x80000006UL
+ #define REMOTE_NDIS_KEEPALIVE_CMPLT 0x80000008UL
+ //@}
+
+ /** \name RNDIS Status Values */
+ //@{
+ #define REMOTE_NDIS_STATUS_SUCCESS 0x00000000UL
+ #define REMOTE_NDIS_STATUS_FAILURE 0xC0000001UL
+ #define REMOTE_NDIS_STATUS_INVALID_DATA 0xC0010015UL
+ #define REMOTE_NDIS_STATUS_NOT_SUPPORTED 0xC00000BBUL
+ #define REMOTE_NDIS_STATUS_MEDIA_CONNECT 0x4001000BUL
+ #define REMOTE_NDIS_STATUS_MEDIA_DISCONNECT 0x4001000CUL
+ //@}
+
+ /** \name RNDIS Media States */
+ //@{
+ #define REMOTE_NDIS_MEDIA_STATE_CONNECTED 0x00000000UL
+ #define REMOTE_NDIS_MEDIA_STATE_DISCONNECTED 0x00000001UL
+ //@}
+
+ #define REMOTE_NDIS_MEDIUM_802_3 0x00000000UL
+
+ /** \name RNDIS Connection Types */
+ //@{
+ #define REMOTE_NDIS_DF_CONNECTIONLESS 0x00000001UL
+ #define REMOTE_NDIS_DF_CONNECTION_ORIENTED 0x00000002UL
+ //@}
+
+ /** \name RNDIS Packet Types */
+ //@{
+ #define REMOTE_NDIS_PACKET_DIRECTED 0x00000001UL
+ #define REMOTE_NDIS_PACKET_MULTICAST 0x00000002UL
+ #define REMOTE_NDIS_PACKET_ALL_MULTICAST 0x00000004UL
+ #define REMOTE_NDIS_PACKET_BROADCAST 0x00000008UL
+ #define REMOTE_NDIS_PACKET_SOURCE_ROUTING 0x00000010UL
+ #define REMOTE_NDIS_PACKET_PROMISCUOUS 0x00000020UL
+ #define REMOTE_NDIS_PACKET_SMT 0x00000040UL
+ #define REMOTE_NDIS_PACKET_ALL_LOCAL 0x00000080UL
+ #define REMOTE_NDIS_PACKET_GROUP 0x00001000UL
+ #define REMOTE_NDIS_PACKET_ALL_FUNCTIONAL 0x00002000UL
+ #define REMOTE_NDIS_PACKET_FUNCTIONAL 0x00004000UL
+ #define REMOTE_NDIS_PACKET_MAC_FRAME 0x00008000UL
+ //@}
+
+ /** \name RNDIS OID Values */
+ //@{
+ #define OID_GEN_SUPPORTED_LIST 0x00010101UL
+ #define OID_GEN_HARDWARE_STATUS 0x00010102UL
+ #define OID_GEN_MEDIA_SUPPORTED 0x00010103UL
+ #define OID_GEN_MEDIA_IN_USE 0x00010104UL
+ #define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106UL
+ #define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111UL
+ #define OID_GEN_LINK_SPEED 0x00010107UL
+ #define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010AUL
+ #define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010BUL
+ #define OID_GEN_VENDOR_ID 0x0001010CUL
+ #define OID_GEN_VENDOR_DESCRIPTION 0x0001010DUL
+ #define OID_GEN_CURRENT_PACKET_FILTER 0x0001010EUL
+ #define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111UL
+ #define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114UL
+ #define OID_GEN_PHYSICAL_MEDIUM 0x00010202UL
+ #define OID_GEN_XMIT_OK 0x00020101UL
+ #define OID_GEN_RCV_OK 0x00020102UL
+ #define OID_GEN_XMIT_ERROR 0x00020103UL
+ #define OID_GEN_RCV_ERROR 0x00020104UL
+ #define OID_GEN_RCV_NO_BUFFER 0x00020105UL
+ #define OID_802_3_PERMANENT_ADDRESS 0x01010101UL
+ #define OID_802_3_CURRENT_ADDRESS 0x01010102UL
+ #define OID_802_3_MULTICAST_LIST 0x01010103UL
+ #define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104UL
+ #define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101UL
+ #define OID_802_3_XMIT_ONE_COLLISION 0x01020102UL
+ #define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103UL
+ //@}
+
+ /** Maximum size in bytes of a RNDIS control message which can be sent or received. */
+ #define RNDIS_MESSAGE_BUFFER_SIZE 128
+
+ /** Maximum size in bytes of an Ethernet frame according to the Ethernet standard. */
+ #define ETHERNET_FRAME_SIZE_MAX 1500
+
+ /* Enums: */
+ /** Enum for the RNDIS class specific control requests that can be issued by the USB bus host. */
+ enum RNDIS_ClassRequests_t
+ {
+ RNDIS_REQ_SendEncapsulatedCommand = 0x00, /**< RNDIS request to issue a host-to-device NDIS command. */
+ RNDIS_REQ_GetEncapsulatedResponse = 0x01, /**< RNDIS request to issue a device-to-host NDIS response. */
+ };
+
+ /** Enum for the possible NDIS adapter states. */
+ enum RNDIS_States_t
+ {
+ RNDIS_Uninitialized = 0, /**< Adapter currently uninitialized. */
+ RNDIS_Initialized = 1, /**< Adapter currently initialized but not ready for data transfers. */
+ RNDIS_Data_Initialized = 2, /**< Adapter currently initialized and ready for data transfers. */
+ };
+
+ /** Enum for the RNDIS class specific notification requests that can be issued by a RNDIS device to a host. */
+ enum RNDIS_ClassNotifications_t
+ {
+ RNDIS_NOTIF_ResponseAvailable = 0x01, /**< Notification request value for a RNDIS Response Available notification. */
+ };
+
+ /** Enum for the NDIS hardware states. */
+ enum NDIS_Hardware_Status_t
+ {
+ NDIS_HardwareStatus_Ready, /**< Hardware Ready to accept commands from the host. */
+ NDIS_HardwareStatus_Initializing, /**< Hardware busy initializing. */
+ NDIS_HardwareStatus_Reset, /**< Hardware reset. */
+ NDIS_HardwareStatus_Closing, /**< Hardware currently closing. */
+ NDIS_HardwareStatus_NotReady /**< Hardware not ready to accept commands from the host. */
+ };
+
+ /* Type Defines: */
+ /** \brief MAC Address Structure.
+ *
+ * Type define for a physical MAC address of a device on a network.
+ */
+ typedef struct
+ {
+ uint8_t Octets[6]; /**< Individual bytes of a MAC address */
+ } MAC_Address_t;
+
+ /** \brief RNDIS Ethernet Frame Packet Information Structure.
+ *
+ * Type define for an Ethernet frame buffer data and information structure.
+ */
+ typedef struct
+ {
+ uint8_t FrameData[ETHERNET_FRAME_SIZE_MAX]; /**< Ethernet frame contents. */
+ uint16_t FrameLength; /**< Length in bytes of the Ethernet frame stored in the buffer. */
+ bool FrameInBuffer; /**< Indicates if a frame is currently stored in the buffer. */
+ } Ethernet_Frame_Info_t;
+
+ /** \brief RNDIS Common Message Header Structure.
+ *
+ * Type define for a RNDIS message header, sent before RNDIS messages.
+ */
+ typedef struct
+ {
+ uint32_t MessageType; /**< RNDIS message type, a REMOTE_NDIS_*_MSG constant */
+ uint32_t MessageLength; /**< Total length of the RNDIS message, in bytes */
+ } RNDIS_Message_Header_t;
+
+ /** \brief RNDIS Message Structure.
+ *
+ * Type define for a RNDIS packet message, used to encapsulate Ethernet packets sent to and from the adapter.
+ */
+ typedef struct
+ {
+ uint32_t MessageType;
+ uint32_t MessageLength;
+ uint32_t DataOffset;
+ uint32_t DataLength;
+ uint32_t OOBDataOffset;
+ uint32_t OOBDataLength;
+ uint32_t NumOOBDataElements;
+ uint32_t PerPacketInfoOffset;
+ uint32_t PerPacketInfoLength;
+ uint32_t VcHandle;
+ uint32_t Reserved;
+ } RNDIS_Packet_Message_t;
+
+ /** \brief RNDIS Initialization Message Structure.
+ *
+ * Type define for a RNDIS Initialize command message.
+ */
+ typedef struct
+ {
+ uint32_t MessageType;
+ uint32_t MessageLength;
+ uint32_t RequestId;
+
+ uint32_t MajorVersion;
+ uint32_t MinorVersion;
+ uint32_t MaxTransferSize;
+ } RNDIS_Initialize_Message_t;
+
+ /** \brief RNDIS Initialize Complete Message Structure.
+ *
+ * Type define for a RNDIS Initialize Complete response message.
+ */
+ typedef struct
+ {
+ uint32_t MessageType;
+ uint32_t MessageLength;
+ uint32_t RequestId;
+ uint32_t Status;
+
+ uint32_t MajorVersion;
+ uint32_t MinorVersion;
+ uint32_t DeviceFlags;
+ uint32_t Medium;
+ uint32_t MaxPacketsPerTransfer;
+ uint32_t MaxTransferSize;
+ uint32_t PacketAlignmentFactor;
+ uint32_t AFListOffset;
+ uint32_t AFListSize;
+ } RNDIS_Initialize_Complete_t;
+
+ /** \brief RNDIS Keep Alive Message Structure.
+ *
+ * Type define for a RNDIS Keep Alive command message.
+ */
+ typedef struct
+ {
+ uint32_t MessageType;
+ uint32_t MessageLength;
+ uint32_t RequestId;
+ } RNDIS_KeepAlive_Message_t;
+
+ /** \brief RNDIS Keep Alive Complete Message Structure.
+ *
+ * Type define for a RNDIS Keep Alive Complete response message.
+ */
+ typedef struct
+ {
+ uint32_t MessageType;
+ uint32_t MessageLength;
+ uint32_t RequestId;
+ uint32_t Status;
+ } RNDIS_KeepAlive_Complete_t;
+
+ /** \brief RNDIS Reset Complete Message Structure.
+ *
+ * Type define for a RNDIS Reset Complete response message.
+ */
+ typedef struct
+ {
+ uint32_t MessageType;
+ uint32_t MessageLength;
+ uint32_t Status;
+
+ uint32_t AddressingReset;
+ } RNDIS_Reset_Complete_t;
+
+ /** \brief RNDIS OID Property Set Message Structure.
+ *
+ * Type define for a RNDIS OID Property Set command message.
+ */
+ typedef struct
+ {
+ uint32_t MessageType;
+ uint32_t MessageLength;
+ uint32_t RequestId;
+
+ uint32_t Oid;
+ uint32_t InformationBufferLength;
+ uint32_t InformationBufferOffset;
+ uint32_t DeviceVcHandle;
+ } RNDIS_Set_Message_t;
+
+ /** \brief RNDIS OID Property Set Complete Message Structure.
+ *
+ * Type define for a RNDIS OID Property Set Complete response message.
+ */
+ typedef struct
+ {
+ uint32_t MessageType;
+ uint32_t MessageLength;
+ uint32_t RequestId;
+ uint32_t Status;
+ } RNDIS_Set_Complete_t;
+
+ /** \brief RNDIS OID Property Query Message Structure.
+ *
+ * Type define for a RNDIS OID Property Query command message.
+ */
+ typedef struct
+ {
+ uint32_t MessageType;
+ uint32_t MessageLength;
+ uint32_t RequestId;
+
+ uint32_t Oid;
+ uint32_t InformationBufferLength;
+ uint32_t InformationBufferOffset;
+ uint32_t DeviceVcHandle;
+ } RNDIS_Query_Message_t;
+
+ /** \brief RNDIS OID Property Query Complete Message Structure.
+ *
+ * Type define for a RNDIS OID Property Query Complete response message.
+ */
+ typedef struct
+ {
+ uint32_t MessageType;
+ uint32_t MessageLength;
+ uint32_t RequestId;
+ uint32_t Status;
+
+ uint32_t InformationBufferLength;
+ uint32_t InformationBufferOffset;
+ } RNDIS_Query_Complete_t;
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Common/StillImage.h b/firmware/LUFA/Drivers/USB/Class/Common/StillImage.h
new file mode 100644
index 0000000..6347d59
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Common/StillImage.h
@@ -0,0 +1,161 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Common definitions and declarations for the library USB Still Image Class driver.
+ *
+ * Common definitions and declarations for the library USB Still Image Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassSI
+ * @defgroup Group_USBClassSICommon Common Class Definitions
+ *
+ * \section Module Description
+ * Constants, Types and Enum definitions that are common to both Device and Host modes for the USB
+ * Still Image Class.
+ *
+ * @{
+ */
+
+#ifndef _SI_CLASS_COMMON_H_
+#define _SI_CLASS_COMMON_H_
+
+ /* Includes: */
+ #include "../../HighLevel/StdDescriptors.h"
+
+ #include <string.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_SI_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ /* Macros: */
+ /** Length in bytes of a given Unicode string's character length.
+ *
+ * \param[in] Chars Total number of Unicode characters in the string.
+ *
+ * \return Number of bytes of the given unicode string.
+ */
+ #define UNICODE_STRING_LENGTH(Chars) ((Chars) << 1)
+
+ /** Used in the DataLength field of a PIMA container, to give the total container size in bytes for
+ * a command container.
+ *
+ * \param[in] Params Number of parameters which are to be sent in the Param field of the container.
+ */
+ #define PIMA_COMMAND_SIZE(Params) ((sizeof(PIMA_Container_t) - 12) + ((Params) * sizeof(uint32_t)))
+
+ /** Used in the DataLength field of a PIMA container, to give the total container size in bytes for
+ * a data container.
+ *
+ * \param[in] DataLen Length in bytes of the data in the container.
+ */
+ #define PIMA_DATA_SIZE(DataLen) ((sizeof(PIMA_Container_t) - 12) + (DataLen))
+
+ /* Enums: */
+ /** Enum for the possible PIMA contains types. */
+ enum PIMA_Container_Types_t
+ {
+ PIMA_CONTAINER_Undefined = 0, /**< Undefined container type. */
+ PIMA_CONTAINER_CommandBlock = 1, /**< Command Block container type. */
+ PIMA_CONTAINER_DataBlock = 2, /**< Data Block container type. */
+ PIMA_CONTAINER_ResponseBlock = 3, /**< Response container type. */
+ PIMA_CONTAINER_EventBlock = 4, /**< Event Block container type. */
+ };
+
+ /* Enums: */
+ /** Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the
+ * Still Image device class.
+ */
+ enum SI_Descriptor_ClassSubclassProtocol_t
+ {
+ SI_CSCP_StillImageClass = 0x06, /**< Descriptor Class value indicating that the device or interface
+ * belongs to the Still Image class.
+ */
+ SI_CSCP_StillImageSubclass = 0x01, /**< Descriptor Subclass value indicating that the device or interface
+ * belongs to the Still Image subclass.
+ */
+ SI_CSCP_BulkOnlyProtocol = 0x01, /**< Descriptor Protocol value indicating that the device or interface
+ * belongs to the Bulk Only Transport protocol of the Still Image class.
+ */
+ };
+
+ /** Enums for the possible status codes of a returned Response Block from an attached PIMA compliant Still Image device. */
+ enum PIMA_ResponseCodes_t
+ {
+ PIMA_RESPONSE_OK = 1, /**< Response code indicating no error in the issued command. */
+ PIMA_RESPONSE_GeneralError = 2, /**< Response code indicating a general error while processing the
+ * issued command.
+ */
+ PIMA_RESPONSE_SessionNotOpen = 3, /**< Response code indicating that the sent command requires an open
+ * session before being issued.
+ */
+ PIMA_RESPONSE_InvalidTransaction = 4, /**< Response code indicating an invalid transaction occurred. */
+ PIMA_RESPONSE_OperationNotSupported = 5, /**< Response code indicating that the issued command is not supported
+ * by the attached device.
+ */
+ PIMA_RESPONSE_ParameterNotSupported = 6, /**< Response code indicating that one or more of the issued command's
+ * parameters are not supported by the device.
+ */
+ };
+
+ /* Type Defines: */
+ /** \brief PIMA Still Image Device Command/Response Container.
+ *
+ * Type define for a PIMA container, use to send commands and receive responses to and from an
+ * attached Still Image device.
+ */
+ typedef struct
+ {
+ uint32_t DataLength; /**< Length of the container and data, in bytes. */
+ uint16_t Type; /**< Container type, a value from the \ref PIMA_Container_Types_t enum. */
+ uint16_t Code; /**< Command, event or response code of the container. */
+ uint32_t TransactionID; /**< Unique container ID to link blocks together. */
+ uint32_t Params[3]; /**< Block parameters to be issued along with the block code (command blocks only). */
+ } PIMA_Container_t;
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/Audio.c b/firmware/LUFA/Drivers/USB/Class/Device/Audio.c
new file mode 100644
index 0000000..cc847e5
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/Audio.c
@@ -0,0 +1,98 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../../HighLevel/USBMode.h"
+#if defined(USB_CAN_BE_DEVICE)
+
+#define __INCLUDE_FROM_AUDIO_DRIVER
+#define __INCLUDE_FROM_AUDIO_DEVICE_C
+#include "Audio.h"
+
+void Audio_Device_ProcessControlRequest(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
+{
+ if (!(Endpoint_IsSETUPReceived()))
+ return;
+
+ if (USB_ControlRequest.wIndex != AudioInterfaceInfo->Config.StreamingInterfaceNumber)
+ return;
+
+ switch (USB_ControlRequest.bRequest)
+ {
+ case REQ_SetInterface:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_INTERFACE))
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_ClearStatusStage();
+
+ AudioInterfaceInfo->State.InterfaceEnabled = ((USB_ControlRequest.wValue & 0xFF) != 0);
+ }
+
+ break;
+ }
+}
+
+bool Audio_Device_ConfigureEndpoints(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
+{
+ memset(&AudioInterfaceInfo->State, 0x00, sizeof(AudioInterfaceInfo->State));
+
+ for (uint8_t EndpointNum = 1; EndpointNum < ENDPOINT_TOTAL_ENDPOINTS; EndpointNum++)
+ {
+ uint16_t Size;
+ uint8_t Type;
+ uint8_t Direction;
+
+ if (EndpointNum == AudioInterfaceInfo->Config.DataINEndpointNumber)
+ {
+ Size = AudioInterfaceInfo->Config.DataINEndpointSize;
+ Direction = ENDPOINT_DIR_IN;
+ Type = EP_TYPE_ISOCHRONOUS;
+ }
+ else if (EndpointNum == AudioInterfaceInfo->Config.DataOUTEndpointNumber)
+ {
+ Size = AudioInterfaceInfo->Config.DataOUTEndpointSize;
+ Direction = ENDPOINT_DIR_OUT;
+ Type = EP_TYPE_ISOCHRONOUS;
+ }
+ else
+ {
+ continue;
+ }
+
+ if (!(Endpoint_ConfigureEndpoint(EndpointNum, Type, Direction, Size, ENDPOINT_BANK_DOUBLE)))
+ {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+#endif
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/Audio.h b/firmware/LUFA/Drivers/USB/Class/Device/Audio.h
new file mode 100644
index 0000000..5ba688a
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/Audio.h
@@ -0,0 +1,336 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Device mode driver for the library USB Audio 1.0 Class driver.
+ *
+ * Device mode driver for the library USB Audio 1.0 Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassAudio
+ * @defgroup Group_USBClassAudioDevice Audio Class Device Mode Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Device/Audio.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Device Mode USB Class driver framework interface, for the Audio 1.0 USB Class driver.
+ *
+ * @{
+ */
+
+#ifndef _AUDIO_CLASS_DEVICE_H_
+#define _AUDIO_CLASS_DEVICE_H_
+
+ /* Includes: */
+ #include "../../USB.h"
+ #include "../Common/Audio.h"
+
+ #include <string.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_AUDIO_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ #if defined(__INCLUDE_FROM_AUDIO_DEVICE_C) && defined(NO_STREAM_CALLBACKS)
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Type Defines: */
+ /** \brief Audio Class Device Mode Configuration and State Structure.
+ *
+ * Class state structure. An instance of this structure should be made for each Audio interface
+ * within the user application, and passed to each of the Audio class driver functions as the
+ * AudioInterfaceInfo parameter. This stores each Audio interface's configuration and state information.
+ */
+ typedef struct
+ {
+ const struct
+ {
+ uint8_t StreamingInterfaceNumber; /**< Index of the Audio Streaming interface within the device this
+ * structure controls.
+ */
+
+ uint8_t DataINEndpointNumber; /**< Endpoint number of the incoming Audio Streaming data, if available
+ * (zero if unused).
+ */
+ uint16_t DataINEndpointSize; /**< Size in bytes of the incoming Audio Streaming data endpoint, if available
+ * (zero if unused).
+ */
+
+ uint8_t DataOUTEndpointNumber; /**< Endpoint number of the outgoing Audio Streaming data, if available
+ * (zero if unused).
+ */
+ uint16_t DataOUTEndpointSize; /**< Size in bytes of the outgoing Audio Streaming data endpoint, if available
+ * (zero if unused).
+ */
+ } Config; /**< Config data for the USB class interface within the device. All elements in this section
+ * <b>must</b> be set or the interface will fail to enumerate and operate correctly.
+ */
+ struct
+ {
+ bool InterfaceEnabled; /**< Set and cleared by the class driver to indicate if the host has enabled the streaming endpoints
+ * of the Audio Streaming interface.
+ */
+ } State; /**< State data for the USB class interface within the device. All elements in this section
+ * are reset to their defaults when the interface is enumerated.
+ */
+ } USB_ClassInfo_Audio_Device_t;
+
+ /* Function Prototypes: */
+ /** Configures the endpoints of a given Audio interface, ready for use. This should be linked to the library
+ * \ref EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration containing the
+ * given Audio interface is selected.
+ *
+ * \note The endpoint index numbers as given in the interface's configuration structure must not overlap with any other
+ * interface, or endpoint bank corruption will occur. Gaps in the allocated endpoint numbers or non-sequential indexes
+ * within a single interface is allowed, but no two interfaces of any type have have interleaved endpoint indexes.
+ *
+ * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
+ *
+ * \return Boolean true if the endpoints were successfully configured, false otherwise.
+ */
+ bool Audio_Device_ConfigureEndpoints(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Processes incoming control requests from the host, that are directed to the given Audio class interface. This should be
+ * linked to the library \ref EVENT_USB_Device_ControlRequest() event.
+ *
+ * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
+ */
+ void Audio_Device_ProcessControlRequest(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /* Inline Functions: */
+ /** General management task for a given Audio class interface, required for the correct operation of the interface. This should
+ * be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().
+ *
+ * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
+ */
+ static inline void Audio_Device_USBTask(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
+ ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE;
+ static inline void Audio_Device_USBTask(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
+ {
+ (void)AudioInterfaceInfo;
+ }
+
+ /** Determines if the given audio interface is ready for a sample to be read from it, and selects the streaming
+ * OUT endpoint ready for reading.
+ *
+ * \pre This function must only be called when the Device state machine is in the \ref DEVICE_STATE_Configured state or
+ * the call will fail.
+ *
+ * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
+ *
+ * \return Boolean true if the given Audio interface has a sample to be read, false otherwise.
+ */
+ static inline bool Audio_Device_IsSampleReceived(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
+ ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE;
+ static inline bool Audio_Device_IsSampleReceived(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
+ {
+ if ((USB_DeviceState != DEVICE_STATE_Configured) || !(AudioInterfaceInfo->State.InterfaceEnabled))
+ return false;
+
+ Endpoint_SelectEndpoint(AudioInterfaceInfo->Config.DataOUTEndpointNumber);
+ return Endpoint_IsOUTReceived();
+ }
+
+ /** Determines if the given audio interface is ready to accept the next sample to be written to it, and selects
+ * the streaming IN endpoint ready for writing.
+ *
+ * \pre This function must only be called when the Device state machine is in the \ref DEVICE_STATE_Configured state or
+ * the call will fail.
+ *
+ * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
+ *
+ * \return Boolean true if the given Audio interface is ready to accept the next sample, false otherwise.
+ */
+ static inline bool Audio_Device_IsReadyForNextSample(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
+ ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE;
+ static inline bool Audio_Device_IsReadyForNextSample(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
+ {
+ if ((USB_DeviceState != DEVICE_STATE_Configured) || !(AudioInterfaceInfo->State.InterfaceEnabled))
+ return false;
+
+ Endpoint_SelectEndpoint(AudioInterfaceInfo->Config.DataINEndpointNumber);
+ return Endpoint_IsINReady();
+ }
+
+ /** Reads the next 8-bit audio sample from the current audio interface.
+ *
+ * \pre This should be preceded immediately by a call to the \ref Audio_Device_IsSampleReceived() function to ensure
+ * ensure the correct endpoint is selected and ready for data.
+ *
+ * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
+ *
+ * \return Signed 8-bit audio sample from the audio interface.
+ */
+ static inline int8_t Audio_Device_ReadSample8(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
+ ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE;
+ static inline int8_t Audio_Device_ReadSample8(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
+ {
+ int8_t Sample;
+
+ (void)AudioInterfaceInfo;
+
+ Sample = Endpoint_Read_Byte();
+
+ if (!(Endpoint_BytesInEndpoint()))
+ Endpoint_ClearOUT();
+
+ return Sample;
+ }
+
+ /** Reads the next 16-bit audio sample from the current audio interface.
+ *
+ * \pre This should be preceded immediately by a call to the \ref Audio_Device_IsSampleReceived() function to ensure
+ * that the correct endpoint is selected and ready for data.
+ *
+ * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
+ *
+ * \return Signed 16-bit audio sample from the audio interface.
+ */
+ static inline int16_t Audio_Device_ReadSample16(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
+ ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE;
+ static inline int16_t Audio_Device_ReadSample16(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
+ {
+ int16_t Sample;
+
+ (void)AudioInterfaceInfo;
+
+ Sample = (int16_t)Endpoint_Read_Word_LE();
+
+ if (!(Endpoint_BytesInEndpoint()))
+ Endpoint_ClearOUT();
+
+ return Sample;
+ }
+
+ /** Reads the next 24-bit audio sample from the current audio interface.
+ *
+ * \pre This should be preceded immediately by a call to the \ref Audio_Device_IsSampleReceived() function to ensure
+ * that the correct endpoint is selected and ready for data.
+ *
+ * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
+ *
+ * \return Signed 24-bit audio sample from the audio interface.
+ */
+ static inline int32_t Audio_Device_ReadSample24(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
+ ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE;
+ static inline int32_t Audio_Device_ReadSample24(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
+ {
+ int32_t Sample;
+
+ (void)AudioInterfaceInfo;
+
+ Sample = (((uint32_t)Endpoint_Read_Byte() << 16) | Endpoint_Read_Word_LE());
+
+ if (!(Endpoint_BytesInEndpoint()))
+ Endpoint_ClearOUT();
+
+ return Sample;
+ }
+
+ /** Writes the next 8-bit audio sample to the current audio interface.
+ *
+ * \pre This should be preceded immediately by a call to the \ref Audio_Device_IsReadyForNextSample() function to
+ * ensure that the correct endpoint is selected and ready for data.
+ *
+ * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
+ * \param[in] Sample Signed 8-bit audio sample.
+ */
+ static inline void Audio_Device_WriteSample8(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
+ const int8_t Sample) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE;
+ static inline void Audio_Device_WriteSample8(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
+ const int8_t Sample)
+ {
+ Endpoint_Write_Byte(Sample);
+
+ if (Endpoint_BytesInEndpoint() == AudioInterfaceInfo->Config.DataINEndpointSize)
+ Endpoint_ClearIN();
+ }
+
+ /** Writes the next 16-bit audio sample to the current audio interface.
+ *
+ * \pre This should be preceded immediately by a call to the \ref Audio_Device_IsReadyForNextSample() function to
+ * ensure that the correct endpoint is selected and ready for data.
+ *
+ * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
+ * \param[in] Sample Signed 16-bit audio sample.
+ */
+ static inline void Audio_Device_WriteSample16(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
+ const int16_t Sample) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE;
+ static inline void Audio_Device_WriteSample16(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
+ const int16_t Sample)
+ {
+ Endpoint_Write_Word_LE(Sample);
+
+ if (Endpoint_BytesInEndpoint() == AudioInterfaceInfo->Config.DataINEndpointSize)
+ Endpoint_ClearIN();
+ }
+
+ /** Writes the next 24-bit audio sample to the current audio interface.
+ *
+ * \pre This should be preceded immediately by a call to the \ref Audio_Device_IsReadyForNextSample() function to
+ * ensure that the correct endpoint is selected and ready for data.
+ *
+ * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state.
+ * \param[in] Sample Signed 24-bit audio sample.
+ */
+ static inline void Audio_Device_WriteSample24(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
+ const int32_t Sample) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE;
+ static inline void Audio_Device_WriteSample24(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
+ const int32_t Sample)
+ {
+ Endpoint_Write_Byte(Sample >> 16);
+ Endpoint_Write_Word_LE(Sample);
+
+ if (Endpoint_BytesInEndpoint() == AudioInterfaceInfo->Config.DataINEndpointSize)
+ Endpoint_ClearIN();
+ }
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/Audio.lst b/firmware/LUFA/Drivers/USB/Class/Device/Audio.lst
new file mode 100644
index 0000000..711e651
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/Audio.lst
@@ -0,0 +1,184 @@
+ 1 .file "Audio.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.Audio_Device_ConfigureEndpoints,"ax",@progbits
+ 17 .global Audio_Device_ConfigureEndpoints
+ 19 Audio_Device_ConfigureEndpoints:
+ 20 .LFB82:
+ 21 .LSM0:
+ 22 .LVL0:
+ 23 0000 1F93 push r17
+ 24 0002 CF93 push r28
+ 25 0004 DF93 push r29
+ 26 /* prologue: function */
+ 27 /* frame size = 0 */
+ 28 0006 EC01 movw r28,r24
+ 29 .LSM1:
+ 30 0008 1F82 std Y+7,__zero_reg__
+ 31 000a 11E0 ldi r17,lo8(1)
+ 32 .LVL1:
+ 33 .L8:
+ 34 .LBB14:
+ 35 .LBB15:
+ 36 .LSM2:
+ 37 000c 8981 ldd r24,Y+1
+ 38 000e 1817 cp r17,r24
+ 39 0010 01F4 brne .L2
+ 40 .LSM3:
+ 41 0012 2A81 ldd r18,Y+2
+ 42 0014 3B81 ldd r19,Y+3
+ 43 .LVL2:
+ 44 0016 61E0 ldi r22,lo8(1)
+ 45 .LVL3:
+ 46 0018 00C0 rjmp .L3
+ 47 .LVL4:
+ 48 .L2:
+ 49 .LSM4:
+ 50 001a 8C81 ldd r24,Y+4
+ 51 001c 1817 cp r17,r24
+ 52 001e 01F4 brne .L4
+ 53 .LSM5:
+ 54 0020 2D81 ldd r18,Y+5
+ 55 0022 3E81 ldd r19,Y+6
+ 56 .LVL5:
+ 57 0024 60E0 ldi r22,lo8(0)
+ 58 .LVL6:
+ 59 .L3:
+ 60 0026 40E0 ldi r20,lo8(0)
+ 61 .LVL7:
+ 62 0028 88E0 ldi r24,lo8(8)
+ 63 002a 90E0 ldi r25,hi8(8)
+ 64 .LVL8:
+ 65 002c 00C0 rjmp .L5
+ 66 .L6:
+ 67 .LBB16:
+ 68 .LBB17:
+ 69 .LBB18:
+ 70 .LBB19:
+ 71 .LSM6:
+ 72 002e 4F5F subi r20,lo8(-(1))
+ 73 .LSM7:
+ 74 0030 880F lsl r24
+ 75 0032 991F rol r25
+ 76 .L5:
+ 77 .LSM8:
+ 78 0034 8217 cp r24,r18
+ 79 0036 9307 cpc r25,r19
+ 80 0038 00F0 brlo .L6
+ 81 .LBE19:
+ 82 .LBE18:
+ 83 .LBE17:
+ 84 .LSM9:
+ 85 003a 6064 ori r22,lo8(64)
+ 86 003c 4295 swap r20
+ 87 003e 407F andi r20,lo8(-16)
+ 88 0040 4660 ori r20,lo8(6)
+ 89 0042 812F mov r24,r17
+ 90 .LVL9:
+ 91 0044 0E94 0000 call Endpoint_ConfigureEndpoint_Prv
+ 92 .LVL10:
+ 93 .LBE16:
+ 94 .LSM10:
+ 95 0048 8823 tst r24
+ 96 004a 01F0 breq .L7
+ 97 .L4:
+ 98 .LBE15:
+ 99 .LSM11:
+ 100 004c 1F5F subi r17,lo8(-(1))
+ 101 004e 1530 cpi r17,lo8(5)
+ 102 0050 01F4 brne .L8
+ 103 0052 81E0 ldi r24,lo8(1)
+ 104 .L7:
+ 105 /* epilogue start */
+ 106 .LBE14:
+ 107 .LSM12:
+ 108 0054 DF91 pop r29
+ 109 0056 CF91 pop r28
+ 110 .LVL11:
+ 111 0058 1F91 pop r17
+ 112 .LVL12:
+ 113 005a 0895 ret
+ 114 .LFE82:
+ 116 .section .text.Audio_Device_ProcessControlRequest,"ax",@progbits
+ 117 .global Audio_Device_ProcessControlRequest
+ 119 Audio_Device_ProcessControlRequest:
+ 120 .LFB81:
+ 121 .LSM13:
+ 122 .LVL13:
+ 123 0000 CF93 push r28
+ 124 0002 DF93 push r29
+ 125 /* prologue: function */
+ 126 /* frame size = 0 */
+ 127 0004 EC01 movw r28,r24
+ 128 .LBB20:
+ 129 .LBB21:
+ 130 .LSM14:
+ 131 0006 8091 E800 lds r24,232
+ 132 .LVL14:
+ 133 .LBE21:
+ 134 .LBE20:
+ 135 .LSM15:
+ 136 000a 83FF sbrs r24,3
+ 137 000c 00C0 rjmp .L15
+ 138 .LSM16:
+ 139 000e 8881 ld r24,Y
+ 140 0010 90E0 ldi r25,lo8(0)
+ 141 0012 2091 0000 lds r18,USB_ControlRequest+4
+ 142 0016 3091 0000 lds r19,(USB_ControlRequest+4)+1
+ 143 001a 2817 cp r18,r24
+ 144 001c 3907 cpc r19,r25
+ 145 001e 01F4 brne .L15
+ 146 .LSM17:
+ 147 0020 8091 0000 lds r24,USB_ControlRequest+1
+ 148 0024 8B30 cpi r24,lo8(11)
+ 149 0026 01F4 brne .L15
+ 150 .LSM18:
+ 151 0028 8091 0000 lds r24,USB_ControlRequest
+ 152 002c 8130 cpi r24,lo8(1)
+ 153 002e 01F4 brne .L15
+ 154 .LBB22:
+ 155 .LBB23:
+ 156 .LSM19:
+ 157 0030 8091 E800 lds r24,232
+ 158 0034 877F andi r24,lo8(-9)
+ 159 0036 8093 E800 sts 232,r24
+ 160 .LBE23:
+ 161 .LBE22:
+ 162 .LSM20:
+ 163 003a 0E94 0000 call Endpoint_ClearStatusStage
+ 164 .LSM21:
+ 165 003e 90E0 ldi r25,lo8(0)
+ 166 0040 8091 0000 lds r24,USB_ControlRequest+2
+ 167 0044 8111 cpse r24,__zero_reg__
+ 168 0046 91E0 ldi r25,lo8(1)
+ 169 .L14:
+ 170 0048 9F83 std Y+7,r25
+ 171 .L15:
+ 172 /* epilogue start */
+ 173 .LSM22:
+ 174 004a DF91 pop r29
+ 175 004c CF91 pop r28
+ 176 .LVL15:
+ 177 004e 0895 ret
+ 178 .LFE81:
+ 212 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 Audio.c
+ /tmp/ccVOq125.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccVOq125.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccVOq125.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccVOq125.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccVOq125.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccVOq125.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/ccVOq125.s:19 .text.Audio_Device_ConfigureEndpoints:0000000000000000 Audio_Device_ConfigureEndpoints
+ /tmp/ccVOq125.s:119 .text.Audio_Device_ProcessControlRequest:0000000000000000 Audio_Device_ProcessControlRequest
+
+UNDEFINED SYMBOLS
+Endpoint_ConfigureEndpoint_Prv
+USB_ControlRequest
+Endpoint_ClearStatusStage
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/Audio.o b/firmware/LUFA/Drivers/USB/Class/Device/Audio.o
new file mode 100644
index 0000000..6658370
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/Audio.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/CDC.c b/firmware/LUFA/Drivers/USB/Class/Device/CDC.c
new file mode 100644
index 0000000..0da5cc6
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/CDC.c
@@ -0,0 +1,332 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../../HighLevel/USBMode.h"
+#if defined(USB_CAN_BE_DEVICE)
+
+#define __INCLUDE_FROM_CDC_DRIVER
+#define __INCLUDE_FROM_CDC_DEVICE_C
+#include "CDC.h"
+
+void CDC_Device_Event_Stub(void)
+{
+
+}
+
+void CDC_Device_ProcessControlRequest(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+{
+ if (!(Endpoint_IsSETUPReceived()))
+ return;
+
+ if (USB_ControlRequest.wIndex != CDCInterfaceInfo->Config.ControlInterfaceNumber)
+ return;
+
+ switch (USB_ControlRequest.bRequest)
+ {
+ case CDC_REQ_GetLineEncoding:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_Write_Control_Stream_LE(&CDCInterfaceInfo->State.LineEncoding, sizeof(CDCInterfaceInfo->State.LineEncoding));
+ Endpoint_ClearOUT();
+ }
+
+ break;
+ case CDC_REQ_SetLineEncoding:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_Read_Control_Stream_LE(&CDCInterfaceInfo->State.LineEncoding, sizeof(CDCInterfaceInfo->State.LineEncoding));
+ Endpoint_ClearIN();
+
+ EVENT_CDC_Device_LineEncodingChanged(CDCInterfaceInfo);
+ }
+
+ break;
+ case CDC_REQ_SetControlLineState:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_ClearStatusStage();
+
+ CDCInterfaceInfo->State.ControlLineStates.HostToDevice = USB_ControlRequest.wValue;
+
+ EVENT_CDC_Device_ControLineStateChanged(CDCInterfaceInfo);
+ }
+
+ break;
+ case CDC_REQ_SendBreak:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_ClearStatusStage();
+
+ EVENT_CDC_Device_BreakSent(CDCInterfaceInfo, (uint8_t)USB_ControlRequest.wValue);
+ }
+
+ break;
+ }
+}
+
+bool CDC_Device_ConfigureEndpoints(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+{
+ memset(&CDCInterfaceInfo->State, 0x00, sizeof(CDCInterfaceInfo->State));
+
+ for (uint8_t EndpointNum = 1; EndpointNum < ENDPOINT_TOTAL_ENDPOINTS; EndpointNum++)
+ {
+ uint16_t Size;
+ uint8_t Type;
+ uint8_t Direction;
+ bool DoubleBanked;
+
+ if (EndpointNum == CDCInterfaceInfo->Config.DataINEndpointNumber)
+ {
+ Size = CDCInterfaceInfo->Config.DataINEndpointSize;
+ Direction = ENDPOINT_DIR_IN;
+ Type = EP_TYPE_BULK;
+ DoubleBanked = CDCInterfaceInfo->Config.DataINEndpointDoubleBank;
+ }
+ else if (EndpointNum == CDCInterfaceInfo->Config.DataOUTEndpointNumber)
+ {
+ Size = CDCInterfaceInfo->Config.DataOUTEndpointSize;
+ Direction = ENDPOINT_DIR_OUT;
+ Type = EP_TYPE_BULK;
+ DoubleBanked = CDCInterfaceInfo->Config.DataOUTEndpointDoubleBank;
+ }
+ else if (EndpointNum == CDCInterfaceInfo->Config.NotificationEndpointNumber)
+ {
+ Size = CDCInterfaceInfo->Config.NotificationEndpointSize;
+ Direction = ENDPOINT_DIR_IN;
+ Type = EP_TYPE_INTERRUPT;
+ DoubleBanked = CDCInterfaceInfo->Config.NotificationEndpointDoubleBank;
+ }
+ else
+ {
+ continue;
+ }
+
+ if (!(Endpoint_ConfigureEndpoint(EndpointNum, Type, Direction, Size,
+ DoubleBanked ? ENDPOINT_BANK_DOUBLE : ENDPOINT_BANK_SINGLE)))
+ {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+void CDC_Device_USBTask(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+{
+ if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
+ return;
+
+ #if !defined(NO_CLASS_DRIVER_AUTOFLUSH)
+ CDC_Device_Flush(CDCInterfaceInfo);
+ #endif
+}
+
+uint8_t CDC_Device_SendString(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
+ const char* const Data,
+ const uint16_t Length)
+{
+ if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
+ return ENDPOINT_RWSTREAM_DeviceDisconnected;
+
+ Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataINEndpointNumber);
+ return Endpoint_Write_Stream_LE(Data, Length, NO_STREAM_CALLBACK);
+}
+
+uint8_t CDC_Device_SendByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
+ const uint8_t Data)
+{
+ if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
+ return ENDPOINT_RWSTREAM_DeviceDisconnected;
+
+ Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataINEndpointNumber);
+
+ if (!(Endpoint_IsReadWriteAllowed()))
+ {
+ Endpoint_ClearIN();
+
+ uint8_t ErrorCode;
+
+ if ((ErrorCode = Endpoint_WaitUntilReady()) != ENDPOINT_READYWAIT_NoError)
+ return ErrorCode;
+ }
+
+ Endpoint_Write_Byte(Data);
+ return ENDPOINT_READYWAIT_NoError;
+}
+
+uint8_t CDC_Device_Flush(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+{
+ if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
+ return ENDPOINT_RWSTREAM_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataINEndpointNumber);
+
+ if (!(Endpoint_BytesInEndpoint()))
+ return ENDPOINT_READYWAIT_NoError;
+
+ bool BankFull = !(Endpoint_IsReadWriteAllowed());
+
+ Endpoint_ClearIN();
+
+ if (BankFull)
+ {
+ if ((ErrorCode = Endpoint_WaitUntilReady()) != ENDPOINT_READYWAIT_NoError)
+ return ErrorCode;
+
+ Endpoint_ClearIN();
+ }
+
+ return ENDPOINT_READYWAIT_NoError;
+}
+
+uint16_t CDC_Device_BytesReceived(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+{
+ if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
+ return 0;
+
+ Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataOUTEndpointNumber);
+
+ if (Endpoint_IsOUTReceived())
+ {
+ if (!(Endpoint_BytesInEndpoint()))
+ {
+ Endpoint_ClearOUT();
+ return 0;
+ }
+ else
+ {
+ return Endpoint_BytesInEndpoint();
+ }
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+int16_t CDC_Device_ReceiveByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+{
+ if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
+ return -1;
+
+ int16_t ReceivedByte = -1;
+
+ Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataOUTEndpointNumber);
+
+ if (Endpoint_IsOUTReceived())
+ {
+ if (Endpoint_BytesInEndpoint())
+ ReceivedByte = Endpoint_Read_Byte();
+
+ if (!(Endpoint_BytesInEndpoint()))
+ Endpoint_ClearOUT();
+ }
+
+ return ReceivedByte;
+}
+
+void CDC_Device_SendControlLineStateChange(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+{
+ if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
+ return;
+
+ Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.NotificationEndpointNumber);
+
+ USB_Request_Header_t Notification = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = CDC_NOTIF_SerialState,
+ .wValue = 0,
+ .wIndex = 0,
+ .wLength = sizeof(CDCInterfaceInfo->State.ControlLineStates.DeviceToHost),
+ };
+
+ Endpoint_Write_Stream_LE(&Notification, sizeof(USB_Request_Header_t), NO_STREAM_CALLBACK);
+ Endpoint_Write_Stream_LE(&CDCInterfaceInfo->State.ControlLineStates.DeviceToHost,
+ sizeof(CDCInterfaceInfo->State.ControlLineStates.DeviceToHost),
+ NO_STREAM_CALLBACK);
+ Endpoint_ClearIN();
+}
+
+void CDC_Device_CreateStream(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
+ FILE* const Stream)
+{
+ *Stream = (FILE)FDEV_SETUP_STREAM(CDC_Device_putchar, CDC_Device_getchar, _FDEV_SETUP_RW);
+ fdev_set_udata(Stream, CDCInterfaceInfo);
+}
+
+void CDC_Device_CreateBlockingStream(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
+ FILE* const Stream)
+{
+ *Stream = (FILE)FDEV_SETUP_STREAM(CDC_Device_putchar, CDC_Device_getchar_Blocking, _FDEV_SETUP_RW);
+ fdev_set_udata(Stream, CDCInterfaceInfo);
+}
+
+static int CDC_Device_putchar(char c,
+ FILE* Stream)
+{
+ return CDC_Device_SendByte((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream), c) ? _FDEV_ERR : 0;
+}
+
+static int CDC_Device_getchar(FILE* Stream)
+{
+ int16_t ReceivedByte = CDC_Device_ReceiveByte((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream));
+
+ if (ReceivedByte < 0)
+ return _FDEV_EOF;
+
+ return ReceivedByte;
+}
+
+static int CDC_Device_getchar_Blocking(FILE* Stream)
+{
+ int16_t ReceivedByte;
+
+ while ((ReceivedByte = CDC_Device_ReceiveByte((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream))) < 0)
+ {
+ if (USB_DeviceState == DEVICE_STATE_Unattached)
+ return _FDEV_EOF;
+
+ CDC_Device_USBTask((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream));
+ USB_USBTask();
+ }
+
+ return ReceivedByte;
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/CDC.h b/firmware/LUFA/Drivers/USB/Class/Device/CDC.h
new file mode 100644
index 0000000..4fa823a
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/CDC.h
@@ -0,0 +1,342 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Device mode driver for the library USB CDC Class driver.
+ *
+ * Device mode driver for the library USB CDC Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassCDC
+ * @defgroup Group_USBClassCDCDevice CDC Class Device Mode Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Device/CDC.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Device Mode USB Class driver framework interface, for the CDC USB Class driver.
+ *
+ * \note There are several major drawbacks to the CDC-ACM standard USB class, however
+ * it is very standardized and thus usually available as a built-in driver on
+ * most platforms, and so is a better choice than a proprietary serial class.
+ *
+ * One major issue with CDC-ACM is that it requires two Interface descriptors,
+ * which will upset most hosts when part of a multi-function "Composite" USB
+ * device, as each interface will be loaded into a separate driver instance. To
+ * combat this, you should use the "Interface Association Descriptor" addendum to
+ * the USB standard which is available on most OSes when creating Composite devices.
+ *
+ * Another major oversight is that there is no mechanism for the host to notify the
+ * device that there is a data sink on the host side ready to accept data. This
+ * means that the device may try to send data while the host isn't listening, causing
+ * lengthy blocking timeouts in the transmission routines. To combat this, it is
+ * recommended that the virtual serial line DTR (Data Terminal Ready) be used where
+ * possible to determine if a host application is ready for data.
+ *
+ * @{
+ */
+
+#ifndef _CDC_CLASS_DEVICE_H_
+#define _CDC_CLASS_DEVICE_H_
+
+ /* Includes: */
+ #include "../../USB.h"
+ #include "../Common/CDC.h"
+
+ #include <stdio.h>
+ #include <string.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_CDC_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ #if defined(__INCLUDE_FROM_CDC_DEVICE_C) && defined(NO_STREAM_CALLBACKS)
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Type Defines: */
+ /** \brief CDC Class Device Mode Configuration and State Structure.
+ *
+ * Class state structure. An instance of this structure should be made for each CDC interface
+ * within the user application, and passed to each of the CDC class driver functions as the
+ * CDCInterfaceInfo parameter. This stores each CDC interface's configuration and state information.
+ */
+ typedef struct
+ {
+ const struct
+ {
+ uint8_t ControlInterfaceNumber; /**< Interface number of the CDC control interface within the device. */
+
+ uint8_t DataINEndpointNumber; /**< Endpoint number of the CDC interface's IN data endpoint. */
+ uint16_t DataINEndpointSize; /**< Size in bytes of the CDC interface's IN data endpoint. */
+ bool DataINEndpointDoubleBank; /**< Indicates if the CDC interface's IN data endpoint should use double banking. */
+
+ uint8_t DataOUTEndpointNumber; /**< Endpoint number of the CDC interface's OUT data endpoint. */
+ uint16_t DataOUTEndpointSize; /**< Size in bytes of the CDC interface's OUT data endpoint. */
+ bool DataOUTEndpointDoubleBank; /**< Indicates if the CDC interface's OUT data endpoint should use double banking. */
+
+ uint8_t NotificationEndpointNumber; /**< Endpoint number of the CDC interface's IN notification endpoint, if used. */
+ uint16_t NotificationEndpointSize; /**< Size in bytes of the CDC interface's IN notification endpoint, if used. */
+ bool NotificationEndpointDoubleBank; /**< Indicates if the CDC interface's notification endpoint should use double banking. */
+ } Config; /**< Config data for the USB class interface within the device. All elements in this section
+ * <b>must</b> be set or the interface will fail to enumerate and operate correctly.
+ */
+ struct
+ {
+ struct
+ {
+ uint8_t HostToDevice; /**< Control line states from the host to device, as a set of CDC_CONTROL_LINE_OUT_*
+ * masks. This value is updated each time \ref CDC_Device_USBTask() is called.
+ */
+ uint8_t DeviceToHost; /**< Control line states from the device to host, as a set of CDC_CONTROL_LINE_IN_*
+ * masks - to notify the host of changes to these values, call the
+ * \ref CDC_Device_SendControlLineStateChange() function.
+ */
+ } ControlLineStates; /**< Current states of the virtual serial port's control lines between the device and host. */
+
+ CDC_LineEncoding_t LineEncoding; /** Line encoding used in the virtual serial port, for the device's information.
+ * This is generally only used if the virtual serial port data is to be
+ * reconstructed on a physical UART.
+ */
+ } State; /**< State data for the USB class interface within the device. All elements in this section
+ * are reset to their defaults when the interface is enumerated.
+ */
+ } USB_ClassInfo_CDC_Device_t;
+
+ /* Function Prototypes: */
+ /** Configures the endpoints of a given CDC interface, ready for use. This should be linked to the library
+ * \ref EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration containing
+ * the given CDC interface is selected.
+ *
+ * \note The endpoint index numbers as given in the interface's configuration structure must not overlap with any other
+ * interface, or endpoint bank corruption will occur. Gaps in the allocated endpoint numbers or non-sequential indexes
+ * within a single interface is allowed, but no two interfaces of any type have have interleaved endpoint indexes.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ *
+ * \return Boolean true if the endpoints were successfully configured, false otherwise.
+ */
+ bool CDC_Device_ConfigureEndpoints(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Processes incoming control requests from the host, that are directed to the given CDC class interface. This should be
+ * linked to the library \ref EVENT_USB_Device_ControlRequest() event.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ */
+ void CDC_Device_ProcessControlRequest(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** General management task for a given CDC class interface, required for the correct operation of the interface. This should
+ * be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ */
+ void CDC_Device_USBTask(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** CDC class driver event for a line encoding change on a CDC interface. This event fires each time the host requests a
+ * line encoding change (containing the serial parity, baud and other configuration information) and may be hooked in the
+ * user program by declaring a handler function with the same name and parameters listed here. The new line encoding
+ * settings are available in the LineEncoding structure inside the CDC interface structure passed as a parameter.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ */
+ void EVENT_CDC_Device_LineEncodingChanged(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** CDC class driver event for a control line state change on a CDC interface. This event fires each time the host requests a
+ * control line state change (containing the virtual serial control line states, such as DTR) and may be hooked in the
+ * user program by declaring a handler function with the same name and parameters listed here. The new control line states
+ * are available in the ControlLineStates.HostToDevice value inside the CDC interface structure passed as a parameter, set as
+ * a mask of CDC_CONTROL_LINE_OUT_* masks.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ */
+ void EVENT_CDC_Device_ControLineStateChanged(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** CDC class driver event for a send break request sent to the device from the host. This is generally used to separate
+ * data or to indicate a special condition to the receiving device.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ * \param[in] Duration Duration of the break that has been sent by the host, in milliseconds.
+ */
+ void EVENT_CDC_Device_BreakSent(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
+ const uint8_t Duration) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Sends a given string to the attached USB host, if connected. If a host is not connected when the function is called, the
+ * string is discarded. Bytes will be queued for transmission to the host until either the endpoint bank becomes full, or the
+ * \ref CDC_Device_Flush() function is called to flush the pending data to the host. This allows for multiple bytes to be
+ * packed into a single endpoint packet, increasing data throughput.
+ *
+ * \pre This function must only be called when the Device state machine is in the \ref DEVICE_STATE_Configured state or
+ * the call will fail.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ * \param[in] Data Pointer to the string to send to the host.
+ * \param[in] Length Size in bytes of the string to send to the host.
+ *
+ * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t CDC_Device_SendString(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
+ const char* const Data,
+ const uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Sends a given byte to the attached USB host, if connected. If a host is not connected when the function is called, the
+ * byte is discarded. Bytes will be queued for transmission to the host until either the endpoint bank becomes full, or the
+ * \ref CDC_Device_Flush() function is called to flush the pending data to the host. This allows for multiple bytes to be
+ * packed into a single endpoint packet, increasing data throughput.
+ *
+ * \pre This function must only be called when the Device state machine is in the \ref DEVICE_STATE_Configured state or
+ * the call will fail.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ * \param[in] Data Byte of data to send to the host.
+ *
+ * \return A value from the \ref Endpoint_WaitUntilReady_ErrorCodes_t enum.
+ */
+ uint8_t CDC_Device_SendByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
+ const uint8_t Data) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Determines the number of bytes received by the CDC interface from the host, waiting to be read. This indicates the number
+ * of bytes in the OUT endpoint bank only, and thus the number of calls to \ref CDC_Device_ReceiveByte() which are guaranteed to
+ * succeed immediately. If multiple bytes are to be received, they should be buffered by the user application, as the endpoint
+ * bank will not be released back to the USB controller until all bytes are read.
+ *
+ * \pre This function must only be called when the Device state machine is in the \ref DEVICE_STATE_Configured state or
+ * the call will fail.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ *
+ * \return Total number of buffered bytes received from the host.
+ */
+ uint16_t CDC_Device_BytesReceived(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Reads a byte of data from the host. If no data is waiting to be read of if a USB host is not connected, the function
+ * returns a negative value. The \ref CDC_Device_BytesReceived() function may be queried in advance to determine how many
+ * bytes are currently buffered in the CDC interface's data receive endpoint bank, and thus how many repeated calls to this
+ * function which are guaranteed to succeed.
+ *
+ * \pre This function must only be called when the Device state machine is in the \ref DEVICE_STATE_Configured state or
+ * the call will fail.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ *
+ * \return Next received byte from the host, or a negative value if no data received.
+ */
+ int16_t CDC_Device_ReceiveByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Flushes any data waiting to be sent, ensuring that the send buffer is cleared.
+ *
+ * \pre This function must only be called when the Device state machine is in the \ref DEVICE_STATE_Configured state or
+ * the call will fail.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ *
+ * \return A value from the \ref Endpoint_WaitUntilReady_ErrorCodes_t enum.
+ */
+ uint8_t CDC_Device_Flush(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Sends a Serial Control Line State Change notification to the host. This should be called when the virtual serial
+ * control lines (DCD, DSR, etc.) have changed states, or to give BREAK notifications to the host. Line states persist
+ * until they are cleared via a second notification. This should be called each time the CDC class driver's
+ * ControlLineStates.DeviceToHost value is updated to push the new states to the USB host.
+ *
+ * \pre This function must only be called when the Device state machine is in the \ref DEVICE_STATE_Configured state or
+ * the call will fail.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ */
+ void CDC_Device_SendControlLineStateChange(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Creates a standard character stream for the given CDC Device instance so that it can be used with all the regular
+ * functions in the avr-libc <stdio.h> library that accept a FILE stream as a destination (e.g. fprintf). The created
+ * stream is bidirectional and can be used for both input and output functions.
+ *
+ * Reading data from this stream is non-blocking, i.e. in most instances, complete strings cannot be read in by a single
+ * fetch, as the endpoint will not be ready at some point in the transmission, aborting the transfer. However, this may
+ * be used when the read data is processed byte-per-bye (via getc()) or when the user application will implement its own
+ * line buffering.
+ *
+ * \note The created stream can be given as stdout if desired to direct the standard output from all <stdio.h> functions
+ * to the given CDC interface.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ * \param[in,out] Stream Pointer to a FILE structure where the created stream should be placed.
+ */
+ void CDC_Device_CreateStream(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
+ FILE* const Stream) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Identical to CDC_Device_CreateStream(), except that reads are blocking until the calling stream function terminates
+ * the transfer. While blocking, the USB and CDC service tasks are called repeatedly to maintain USB communications.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ * \param[in,out] Stream Pointer to a FILE structure where the created stream should be placed.
+ */
+ void CDC_Device_CreateBlockingStream(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
+ FILE* const Stream) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Function Prototypes: */
+ #if defined(__INCLUDE_FROM_CDC_DEVICE_C)
+ static int CDC_Device_putchar(char c,
+ FILE* Stream) ATTR_NON_NULL_PTR_ARG(2);
+ static int CDC_Device_getchar(FILE* Stream) ATTR_NON_NULL_PTR_ARG(1);
+ static int CDC_Device_getchar_Blocking(FILE* Stream) ATTR_NON_NULL_PTR_ARG(1);
+
+ void CDC_Device_Event_Stub(void);
+ void EVENT_CDC_Device_LineEncodingChanged(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+ ATTR_WEAK ATTR_NON_NULL_PTR_ARG(1) ATTR_ALIAS(CDC_Device_Event_Stub);
+ void EVENT_CDC_Device_ControLineStateChanged(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+ ATTR_WEAK ATTR_NON_NULL_PTR_ARG(1) ATTR_ALIAS(CDC_Device_Event_Stub);
+ void EVENT_CDC_Device_BreakSent(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
+ const uint8_t Duration) ATTR_WEAK ATTR_NON_NULL_PTR_ARG(1)
+ ATTR_ALIAS(CDC_Device_Event_Stub);
+ #endif
+
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/CDC.lst b/firmware/LUFA/Drivers/USB/Class/Device/CDC.lst
new file mode 100644
index 0000000..ceb9593
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/CDC.lst
@@ -0,0 +1,1059 @@
+ 1 .file "CDC.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.CDC_Device_Event_Stub,"ax",@progbits
+ 17 .global CDC_Device_Event_Stub
+ 19 CDC_Device_Event_Stub:
+ 20 .LFB81:
+ 21 .LSM0:
+ 22 /* prologue: function */
+ 23 /* frame size = 0 */
+ 24 /* epilogue start */
+ 25 .LSM1:
+ 26 0000 0895 ret
+ 27 .LFE81:
+ 29 .section .text.CDC_Device_BytesReceived,"ax",@progbits
+ 30 .global CDC_Device_BytesReceived
+ 32 CDC_Device_BytesReceived:
+ 33 .LFB88:
+ 34 .LSM2:
+ 35 .LVL0:
+ 36 /* prologue: function */
+ 37 /* frame size = 0 */
+ 38 0000 FC01 movw r30,r24
+ 39 .LSM3:
+ 40 0002 8091 0000 lds r24,USB_DeviceState
+ 41 .LVL1:
+ 42 0006 8430 cpi r24,lo8(4)
+ 43 0008 01F4 brne .L4
+ 44 000a 8785 ldd r24,Z+15
+ 45 000c 9089 ldd r25,Z+16
+ 46 000e A189 ldd r26,Z+17
+ 47 0010 B289 ldd r27,Z+18
+ 48 0012 0097 sbiw r24,0
+ 49 0014 A105 cpc r26,__zero_reg__
+ 50 0016 B105 cpc r27,__zero_reg__
+ 51 0018 01F0 breq .L4
+ 52 .LSM4:
+ 53 001a 8581 ldd r24,Z+5
+ 54 .LBB71:
+ 55 .LBB72:
+ 56 .LSM5:
+ 57 001c 8093 E900 sts 233,r24
+ 58 .LBE72:
+ 59 .LBE71:
+ 60 .LBB73:
+ 61 .LBB74:
+ 62 .LSM6:
+ 63 0020 8091 E800 lds r24,232
+ 64 .LBE74:
+ 65 .LBE73:
+ 66 .LSM7:
+ 67 0024 82FF sbrs r24,2
+ 68 0026 00C0 rjmp .L4
+ 69 .LBB75:
+ 70 .LBB76:
+ 71 .LSM8:
+ 72 0028 8091 F200 lds r24,242
+ 73 .LBE76:
+ 74 .LBE75:
+ 75 .LSM9:
+ 76 002c 8823 tst r24
+ 77 002e 01F4 brne .L5
+ 78 .LBB77:
+ 79 .LBB78:
+ 80 .LSM10:
+ 81 0030 8091 E800 lds r24,232
+ 82 0034 8B77 andi r24,lo8(123)
+ 83 0036 8093 E800 sts 232,r24
+ 84 003a 00C0 rjmp .L4
+ 85 .L5:
+ 86 .LBE78:
+ 87 .LBE77:
+ 88 .LBB79:
+ 89 .LBB80:
+ 90 .LSM11:
+ 91 003c 8091 F200 lds r24,242
+ 92 0040 282F mov r18,r24
+ 93 0042 30E0 ldi r19,lo8(0)
+ 94 0044 00C0 rjmp .L6
+ 95 .L4:
+ 96 .LSM12:
+ 97 0046 20E0 ldi r18,lo8(0)
+ 98 0048 30E0 ldi r19,hi8(0)
+ 99 .L6:
+ 100 .LBE80:
+ 101 .LBE79:
+ 102 .LSM13:
+ 103 004a C901 movw r24,r18
+ 104 /* epilogue start */
+ 105 004c 0895 ret
+ 106 .LFE88:
+ 108 .section .text.CDC_Device_ReceiveByte,"ax",@progbits
+ 109 .global CDC_Device_ReceiveByte
+ 111 CDC_Device_ReceiveByte:
+ 112 .LFB89:
+ 113 .LSM14:
+ 114 .LVL2:
+ 115 /* prologue: function */
+ 116 /* frame size = 0 */
+ 117 0000 FC01 movw r30,r24
+ 118 .LSM15:
+ 119 0002 8091 0000 lds r24,USB_DeviceState
+ 120 .LVL3:
+ 121 0006 8430 cpi r24,lo8(4)
+ 122 0008 01F4 brne .L9
+ 123 000a 8785 ldd r24,Z+15
+ 124 000c 9089 ldd r25,Z+16
+ 125 000e A189 ldd r26,Z+17
+ 126 0010 B289 ldd r27,Z+18
+ 127 0012 0097 sbiw r24,0
+ 128 0014 A105 cpc r26,__zero_reg__
+ 129 0016 B105 cpc r27,__zero_reg__
+ 130 0018 01F0 breq .L9
+ 131 .LSM16:
+ 132 001a 8581 ldd r24,Z+5
+ 133 .LBB81:
+ 134 .LBB82:
+ 135 .LSM17:
+ 136 001c 8093 E900 sts 233,r24
+ 137 .LBE82:
+ 138 .LBE81:
+ 139 .LBB83:
+ 140 .LBB84:
+ 141 .LSM18:
+ 142 0020 8091 E800 lds r24,232
+ 143 .LBE84:
+ 144 .LBE83:
+ 145 .LSM19:
+ 146 0024 82FF sbrs r24,2
+ 147 0026 00C0 rjmp .L9
+ 148 .L10:
+ 149 .LBB85:
+ 150 .LBB86:
+ 151 .LSM20:
+ 152 0028 8091 F200 lds r24,242
+ 153 .LBE86:
+ 154 .LBE85:
+ 155 .LSM21:
+ 156 002c 8823 tst r24
+ 157 002e 01F4 brne .L12
+ 158 0030 2FEF ldi r18,lo8(-1)
+ 159 0032 3FEF ldi r19,hi8(-1)
+ 160 .LVL4:
+ 161 0034 00C0 rjmp .L13
+ 162 .LVL5:
+ 163 .L12:
+ 164 .LBB87:
+ 165 .LBB88:
+ 166 .LSM22:
+ 167 0036 8091 F100 lds r24,241
+ 168 .LBE88:
+ 169 .LBE87:
+ 170 .LSM23:
+ 171 003a 282F mov r18,r24
+ 172 .LVL6:
+ 173 003c 30E0 ldi r19,lo8(0)
+ 174 .LVL7:
+ 175 .L13:
+ 176 .LBB89:
+ 177 .LBB90:
+ 178 .LSM24:
+ 179 003e 8091 F200 lds r24,242
+ 180 .LBE90:
+ 181 .LBE89:
+ 182 .LSM25:
+ 183 0042 8823 tst r24
+ 184 0044 01F4 brne .L11
+ 185 .LBB91:
+ 186 .LBB92:
+ 187 .LSM26:
+ 188 0046 8091 E800 lds r24,232
+ 189 004a 8B77 andi r24,lo8(123)
+ 190 004c 8093 E800 sts 232,r24
+ 191 0050 00C0 rjmp .L11
+ 192 .LVL8:
+ 193 .L9:
+ 194 0052 2FEF ldi r18,lo8(-1)
+ 195 0054 3FEF ldi r19,hi8(-1)
+ 196 .LVL9:
+ 197 .L11:
+ 198 .LBE92:
+ 199 .LBE91:
+ 200 .LSM27:
+ 201 0056 C901 movw r24,r18
+ 202 .LVL10:
+ 203 /* epilogue start */
+ 204 0058 0895 ret
+ 205 .LFE89:
+ 207 .section .text.CDC_Device_CreateStream,"ax",@progbits
+ 208 .global CDC_Device_CreateStream
+ 210 CDC_Device_CreateStream:
+ 211 .LFB91:
+ 212 .LSM28:
+ 213 .LVL11:
+ 214 /* prologue: function */
+ 215 /* frame size = 0 */
+ 216 0000 FB01 movw r30,r22
+ 217 .LSM29:
+ 218 0002 2EE0 ldi r18,lo8(14)
+ 219 0004 DB01 movw r26,r22
+ 220 0006 1D92 st X+,__zero_reg__
+ 221 0008 2A95 dec r18
+ 222 000a 01F4 brne .-6
+ 223 000c 23E0 ldi r18,lo8(3)
+ 224 000e 2383 std Z+3,r18
+ 225 0010 20E0 ldi r18,lo8(gs(CDC_Device_putchar))
+ 226 0012 30E0 ldi r19,hi8(gs(CDC_Device_putchar))
+ 227 0014 3187 std Z+9,r19
+ 228 0016 2087 std Z+8,r18
+ 229 0018 20E0 ldi r18,lo8(gs(CDC_Device_getchar))
+ 230 001a 30E0 ldi r19,hi8(gs(CDC_Device_getchar))
+ 231 001c 3387 std Z+11,r19
+ 232 001e 2287 std Z+10,r18
+ 233 .LSM30:
+ 234 0020 9587 std Z+13,r25
+ 235 0022 8487 std Z+12,r24
+ 236 /* epilogue start */
+ 237 .LSM31:
+ 238 0024 0895 ret
+ 239 .LFE91:
+ 241 .section .text.CDC_Device_CreateBlockingStream,"ax",@progbits
+ 242 .global CDC_Device_CreateBlockingStream
+ 244 CDC_Device_CreateBlockingStream:
+ 245 .LFB92:
+ 246 .LSM32:
+ 247 .LVL12:
+ 248 /* prologue: function */
+ 249 /* frame size = 0 */
+ 250 0000 FB01 movw r30,r22
+ 251 .LSM33:
+ 252 0002 2EE0 ldi r18,lo8(14)
+ 253 0004 DB01 movw r26,r22
+ 254 0006 1D92 st X+,__zero_reg__
+ 255 0008 2A95 dec r18
+ 256 000a 01F4 brne .-6
+ 257 000c 23E0 ldi r18,lo8(3)
+ 258 000e 2383 std Z+3,r18
+ 259 0010 20E0 ldi r18,lo8(gs(CDC_Device_putchar))
+ 260 0012 30E0 ldi r19,hi8(gs(CDC_Device_putchar))
+ 261 0014 3187 std Z+9,r19
+ 262 0016 2087 std Z+8,r18
+ 263 0018 20E0 ldi r18,lo8(gs(CDC_Device_getchar_Blocking))
+ 264 001a 30E0 ldi r19,hi8(gs(CDC_Device_getchar_Blocking))
+ 265 001c 3387 std Z+11,r19
+ 266 001e 2287 std Z+10,r18
+ 267 .LSM34:
+ 268 0020 9587 std Z+13,r25
+ 269 0022 8487 std Z+12,r24
+ 270 /* epilogue start */
+ 271 .LSM35:
+ 272 0024 0895 ret
+ 273 .LFE92:
+ 275 .section .text.CDC_Device_getchar,"ax",@progbits
+ 277 CDC_Device_getchar:
+ 278 .LFB94:
+ 279 .LSM36:
+ 280 .LVL13:
+ 281 /* prologue: function */
+ 282 /* frame size = 0 */
+ 283 .LSM37:
+ 284 0000 FC01 movw r30,r24
+ 285 0002 8485 ldd r24,Z+12
+ 286 0004 9585 ldd r25,Z+13
+ 287 .LVL14:
+ 288 0006 0E94 0000 call CDC_Device_ReceiveByte
+ 289 000a 9C01 movw r18,r24
+ 290 .LVL15:
+ 291 .LSM38:
+ 292 000c 97FF sbrs r25,7
+ 293 000e 00C0 rjmp .L20
+ 294 .LVL16:
+ 295 0010 2EEF ldi r18,lo8(-2)
+ 296 0012 3FEF ldi r19,hi8(-2)
+ 297 .LVL17:
+ 298 .L20:
+ 299 .LSM39:
+ 300 0014 C901 movw r24,r18
+ 301 .LVL18:
+ 302 /* epilogue start */
+ 303 0016 0895 ret
+ 304 .LFE94:
+ 306 .section .text.CDC_Device_SendControlLineStateChange,"ax",@progbits
+ 307 .global CDC_Device_SendControlLineStateChange
+ 309 CDC_Device_SendControlLineStateChange:
+ 310 .LFB90:
+ 311 .LSM40:
+ 312 .LVL19:
+ 313 0000 0F93 push r16
+ 314 0002 1F93 push r17
+ 315 0004 DF93 push r29
+ 316 0006 CF93 push r28
+ 317 0008 CDB7 in r28,__SP_L__
+ 318 000a DEB7 in r29,__SP_H__
+ 319 000c 2897 sbiw r28,8
+ 320 000e 0FB6 in __tmp_reg__,__SREG__
+ 321 0010 F894 cli
+ 322 0012 DEBF out __SP_H__,r29
+ 323 0014 0FBE out __SREG__,__tmp_reg__
+ 324 0016 CDBF out __SP_L__,r28
+ 325 /* prologue: function */
+ 326 /* frame size = 8 */
+ 327 0018 8C01 movw r16,r24
+ 328 .LSM41:
+ 329 001a 8091 0000 lds r24,USB_DeviceState
+ 330 .LVL20:
+ 331 001e 8430 cpi r24,lo8(4)
+ 332 0020 01F4 brne .L25
+ 333 0022 F801 movw r30,r16
+ 334 0024 8785 ldd r24,Z+15
+ 335 0026 9089 ldd r25,Z+16
+ 336 0028 A189 ldd r26,Z+17
+ 337 002a B289 ldd r27,Z+18
+ 338 002c 0097 sbiw r24,0
+ 339 002e A105 cpc r26,__zero_reg__
+ 340 0030 B105 cpc r27,__zero_reg__
+ 341 0032 01F0 breq .L25
+ 342 .LSM42:
+ 343 0034 8185 ldd r24,Z+9
+ 344 .LBB93:
+ 345 .LBB94:
+ 346 .LSM43:
+ 347 0036 8093 E900 sts 233,r24
+ 348 .LBE94:
+ 349 .LBE93:
+ 350 .LSM44:
+ 351 003a DE01 movw r26,r28
+ 352 003c 1196 adiw r26,1
+ 353 003e E0E0 ldi r30,lo8(C.17.3562)
+ 354 0040 F0E0 ldi r31,hi8(C.17.3562)
+ 355 0042 88E0 ldi r24,lo8(8)
+ 356 .L24:
+ 357 0044 0190 ld r0,Z+
+ 358 0046 0D92 st X+,r0
+ 359 0048 8150 subi r24,lo8(-(-1))
+ 360 004a 01F4 brne .L24
+ 361 .LSM45:
+ 362 004c CE01 movw r24,r28
+ 363 004e 0196 adiw r24,1
+ 364 0050 68E0 ldi r22,lo8(8)
+ 365 0052 70E0 ldi r23,hi8(8)
+ 366 0054 40E0 ldi r20,lo8(0)
+ 367 0056 50E0 ldi r21,hi8(0)
+ 368 0058 0E94 0000 call Endpoint_Write_Stream_LE
+ 369 .LSM46:
+ 370 005c C801 movw r24,r16
+ 371 005e 0E96 adiw r24,14
+ 372 0060 61E0 ldi r22,lo8(1)
+ 373 0062 70E0 ldi r23,hi8(1)
+ 374 0064 40E0 ldi r20,lo8(0)
+ 375 0066 50E0 ldi r21,hi8(0)
+ 376 0068 0E94 0000 call Endpoint_Write_Stream_LE
+ 377 .LBB95:
+ 378 .LBB96:
+ 379 .LSM47:
+ 380 006c 8091 E800 lds r24,232
+ 381 0070 8E77 andi r24,lo8(126)
+ 382 0072 8093 E800 sts 232,r24
+ 383 .L25:
+ 384 /* epilogue start */
+ 385 .LBE96:
+ 386 .LBE95:
+ 387 .LSM48:
+ 388 0076 2896 adiw r28,8
+ 389 0078 0FB6 in __tmp_reg__,__SREG__
+ 390 007a F894 cli
+ 391 007c DEBF out __SP_H__,r29
+ 392 007e 0FBE out __SREG__,__tmp_reg__
+ 393 0080 CDBF out __SP_L__,r28
+ 394 0082 CF91 pop r28
+ 395 0084 DF91 pop r29
+ 396 0086 1F91 pop r17
+ 397 0088 0F91 pop r16
+ 398 .LVL21:
+ 399 008a 0895 ret
+ 400 .LFE90:
+ 402 .section .text.CDC_Device_SendString,"ax",@progbits
+ 403 .global CDC_Device_SendString
+ 405 CDC_Device_SendString:
+ 406 .LFB85:
+ 407 .LSM49:
+ 408 .LVL22:
+ 409 /* prologue: function */
+ 410 /* frame size = 0 */
+ 411 0000 FC01 movw r30,r24
+ 412 .LSM50:
+ 413 0002 8091 0000 lds r24,USB_DeviceState
+ 414 .LVL23:
+ 415 0006 8430 cpi r24,lo8(4)
+ 416 0008 01F4 brne .L28
+ 417 000a 8785 ldd r24,Z+15
+ 418 000c 9089 ldd r25,Z+16
+ 419 000e A189 ldd r26,Z+17
+ 420 0010 B289 ldd r27,Z+18
+ 421 0012 0097 sbiw r24,0
+ 422 0014 A105 cpc r26,__zero_reg__
+ 423 0016 B105 cpc r27,__zero_reg__
+ 424 0018 01F0 breq .L28
+ 425 .LSM51:
+ 426 001a 8181 ldd r24,Z+1
+ 427 .LBB97:
+ 428 .LBB98:
+ 429 .LSM52:
+ 430 001c 8093 E900 sts 233,r24
+ 431 .LBE98:
+ 432 .LBE97:
+ 433 .LSM53:
+ 434 0020 CB01 movw r24,r22
+ 435 0022 BA01 movw r22,r20
+ 436 .LVL24:
+ 437 0024 40E0 ldi r20,lo8(0)
+ 438 0026 50E0 ldi r21,hi8(0)
+ 439 .LVL25:
+ 440 0028 0E94 0000 call Endpoint_Write_Stream_LE
+ 441 .LVL26:
+ 442 002c 0895 ret
+ 443 .LVL27:
+ 444 .L28:
+ 445 002e 82E0 ldi r24,lo8(2)
+ 446 .LSM54:
+ 447 0030 0895 ret
+ 448 .LFE85:
+ 450 .section .text.CDC_Device_Flush,"ax",@progbits
+ 451 .global CDC_Device_Flush
+ 453 CDC_Device_Flush:
+ 454 .LFB87:
+ 455 .LSM55:
+ 456 .LVL28:
+ 457 /* prologue: function */
+ 458 /* frame size = 0 */
+ 459 0000 FC01 movw r30,r24
+ 460 .LSM56:
+ 461 0002 8091 0000 lds r24,USB_DeviceState
+ 462 .LVL29:
+ 463 0006 8430 cpi r24,lo8(4)
+ 464 0008 01F4 brne .L32
+ 465 000a 8785 ldd r24,Z+15
+ 466 000c 9089 ldd r25,Z+16
+ 467 000e A189 ldd r26,Z+17
+ 468 0010 B289 ldd r27,Z+18
+ 469 0012 0097 sbiw r24,0
+ 470 0014 A105 cpc r26,__zero_reg__
+ 471 0016 B105 cpc r27,__zero_reg__
+ 472 0018 01F0 breq .L32
+ 473 .LSM57:
+ 474 001a 8181 ldd r24,Z+1
+ 475 .LBB99:
+ 476 .LBB100:
+ 477 .LSM58:
+ 478 001c 8093 E900 sts 233,r24
+ 479 .LBE100:
+ 480 .LBE99:
+ 481 .LBB101:
+ 482 .LBB102:
+ 483 .LSM59:
+ 484 0020 8091 F200 lds r24,242
+ 485 .LBE102:
+ 486 .LBE101:
+ 487 .LSM60:
+ 488 0024 8823 tst r24
+ 489 0026 01F0 breq .L33
+ 490 .LBB103:
+ 491 .LBB104:
+ 492 .LSM61:
+ 493 0028 9091 E800 lds r25,232
+ 494 .LBE104:
+ 495 .LBE103:
+ 496 .LBB105:
+ 497 .LBB106:
+ 498 .LSM62:
+ 499 002c 8091 E800 lds r24,232
+ 500 0030 8E77 andi r24,lo8(126)
+ 501 0032 8093 E800 sts 232,r24
+ 502 .LBE106:
+ 503 .LBE105:
+ 504 .LSM63:
+ 505 0036 95FD sbrc r25,5
+ 506 0038 00C0 rjmp .L33
+ 507 .LSM64:
+ 508 003a 0E94 0000 call Endpoint_WaitUntilReady
+ 509 .LVL30:
+ 510 003e 982F mov r25,r24
+ 511 .LVL31:
+ 512 0040 8823 tst r24
+ 513 0042 01F4 brne .L34
+ 514 .LVL32:
+ 515 .LBB107:
+ 516 .LBB108:
+ 517 .LSM65:
+ 518 0044 8091 E800 lds r24,232
+ 519 .LVL33:
+ 520 0048 8E77 andi r24,lo8(126)
+ 521 004a 8093 E800 sts 232,r24
+ 522 004e 00C0 rjmp .L34
+ 523 .LVL34:
+ 524 .L32:
+ 525 0050 92E0 ldi r25,lo8(2)
+ 526 .LVL35:
+ 527 0052 00C0 rjmp .L34
+ 528 .LVL36:
+ 529 .L33:
+ 530 0054 90E0 ldi r25,lo8(0)
+ 531 .LVL37:
+ 532 .L34:
+ 533 .LBE108:
+ 534 .LBE107:
+ 535 .LSM66:
+ 536 0056 892F mov r24,r25
+ 537 /* epilogue start */
+ 538 0058 0895 ret
+ 539 .LFE87:
+ 541 .section .text.CDC_Device_USBTask,"ax",@progbits
+ 542 .global CDC_Device_USBTask
+ 544 CDC_Device_USBTask:
+ 545 .LFB84:
+ 546 .LSM67:
+ 547 .LVL38:
+ 548 /* prologue: function */
+ 549 /* frame size = 0 */
+ 550 0000 FC01 movw r30,r24
+ 551 .LSM68:
+ 552 0002 8091 0000 lds r24,USB_DeviceState
+ 553 .LVL39:
+ 554 0006 8430 cpi r24,lo8(4)
+ 555 0008 01F4 brne .L38
+ 556 000a 8785 ldd r24,Z+15
+ 557 000c 9089 ldd r25,Z+16
+ 558 000e A189 ldd r26,Z+17
+ 559 0010 B289 ldd r27,Z+18
+ 560 0012 0097 sbiw r24,0
+ 561 0014 A105 cpc r26,__zero_reg__
+ 562 0016 B105 cpc r27,__zero_reg__
+ 563 0018 01F0 breq .L38
+ 564 .LSM69:
+ 565 001a CF01 movw r24,r30
+ 566 001c 0E94 0000 call CDC_Device_Flush
+ 567 .LVL40:
+ 568 .L38:
+ 569 0020 0895 ret
+ 570 .LFE84:
+ 572 .section .text.CDC_Device_getchar_Blocking,"ax",@progbits
+ 574 CDC_Device_getchar_Blocking:
+ 575 .LFB95:
+ 576 .LSM70:
+ 577 .LVL41:
+ 578 0000 CF93 push r28
+ 579 0002 DF93 push r29
+ 580 /* prologue: function */
+ 581 /* frame size = 0 */
+ 582 0004 EC01 movw r28,r24
+ 583 0006 00C0 rjmp .L40
+ 584 .LVL42:
+ 585 .L43:
+ 586 .LSM71:
+ 587 0008 8091 0000 lds r24,USB_DeviceState
+ 588 .LVL43:
+ 589 000c 8823 tst r24
+ 590 000e 01F4 brne .L41
+ 591 0010 2EEF ldi r18,lo8(-2)
+ 592 0012 3FEF ldi r19,hi8(-2)
+ 593 0014 00C0 rjmp .L42
+ 594 .L41:
+ 595 .LSM72:
+ 596 0016 8C85 ldd r24,Y+12
+ 597 0018 9D85 ldd r25,Y+13
+ 598 001a 0E94 0000 call CDC_Device_USBTask
+ 599 .LVL44:
+ 600 .LSM73:
+ 601 001e 0E94 0000 call USB_USBTask
+ 602 .LVL45:
+ 603 .L40:
+ 604 .LSM74:
+ 605 0022 8C85 ldd r24,Y+12
+ 606 0024 9D85 ldd r25,Y+13
+ 607 0026 0E94 0000 call CDC_Device_ReceiveByte
+ 608 002a 9C01 movw r18,r24
+ 609 .LVL46:
+ 610 002c 97FD sbrc r25,7
+ 611 002e 00C0 rjmp .L43
+ 612 .L42:
+ 613 .LSM75:
+ 614 0030 C901 movw r24,r18
+ 615 .LVL47:
+ 616 /* epilogue start */
+ 617 0032 DF91 pop r29
+ 618 0034 CF91 pop r28
+ 619 .LVL48:
+ 620 0036 0895 ret
+ 621 .LFE95:
+ 623 .section .text.CDC_Device_SendByte,"ax",@progbits
+ 624 .global CDC_Device_SendByte
+ 626 CDC_Device_SendByte:
+ 627 .LFB86:
+ 628 .LSM76:
+ 629 .LVL49:
+ 630 0000 1F93 push r17
+ 631 /* prologue: function */
+ 632 /* frame size = 0 */
+ 633 0002 FC01 movw r30,r24
+ 634 0004 162F mov r17,r22
+ 635 .LSM77:
+ 636 0006 8091 0000 lds r24,USB_DeviceState
+ 637 .LVL50:
+ 638 000a 8430 cpi r24,lo8(4)
+ 639 000c 01F4 brne .L46
+ 640 .LVL51:
+ 641 000e 8785 ldd r24,Z+15
+ 642 0010 9089 ldd r25,Z+16
+ 643 0012 A189 ldd r26,Z+17
+ 644 0014 B289 ldd r27,Z+18
+ 645 0016 0097 sbiw r24,0
+ 646 0018 A105 cpc r26,__zero_reg__
+ 647 001a B105 cpc r27,__zero_reg__
+ 648 001c 01F0 breq .L46
+ 649 .LSM78:
+ 650 001e 8181 ldd r24,Z+1
+ 651 .LBB109:
+ 652 .LBB110:
+ 653 .LSM79:
+ 654 0020 8093 E900 sts 233,r24
+ 655 .LBE110:
+ 656 .LBE109:
+ 657 .LBB111:
+ 658 .LBB112:
+ 659 .LSM80:
+ 660 0024 8091 E800 lds r24,232
+ 661 .LBE112:
+ 662 .LBE111:
+ 663 .LSM81:
+ 664 0028 85FD sbrc r24,5
+ 665 002a 00C0 rjmp .L47
+ 666 .LBB113:
+ 667 .LBB114:
+ 668 .LBB115:
+ 669 .LSM82:
+ 670 002c 8091 E800 lds r24,232
+ 671 0030 8E77 andi r24,lo8(126)
+ 672 0032 8093 E800 sts 232,r24
+ 673 .LBE115:
+ 674 .LBE114:
+ 675 .LSM83:
+ 676 0036 0E94 0000 call Endpoint_WaitUntilReady
+ 677 .LVL52:
+ 678 003a 8823 tst r24
+ 679 .LVL53:
+ 680 003c 01F4 brne .L48
+ 681 .LVL54:
+ 682 .L47:
+ 683 .LBE113:
+ 684 .LBB116:
+ 685 .LBB117:
+ 686 .LSM84:
+ 687 003e 1093 F100 sts 241,r17
+ 688 0042 80E0 ldi r24,lo8(0)
+ 689 0044 00C0 rjmp .L48
+ 690 .LVL55:
+ 691 .L46:
+ 692 .LSM85:
+ 693 0046 82E0 ldi r24,lo8(2)
+ 694 .LVL56:
+ 695 .L48:
+ 696 .LVL57:
+ 697 /* epilogue start */
+ 698 .LBE117:
+ 699 .LBE116:
+ 700 .LSM86:
+ 701 0048 1F91 pop r17
+ 702 .LVL58:
+ 703 004a 0895 ret
+ 704 .LFE86:
+ 706 .section .text.CDC_Device_putchar,"ax",@progbits
+ 708 CDC_Device_putchar:
+ 709 .LFB93:
+ 710 .LSM87:
+ 711 .LVL59:
+ 712 /* prologue: function */
+ 713 /* frame size = 0 */
+ 714 0000 282F mov r18,r24
+ 715 0002 FB01 movw r30,r22
+ 716 .LSM88:
+ 717 0004 8485 ldd r24,Z+12
+ 718 0006 9585 ldd r25,Z+13
+ 719 .LVL60:
+ 720 0008 622F mov r22,r18
+ 721 .LVL61:
+ 722 000a 0E94 0000 call CDC_Device_SendByte
+ 723 .LVL62:
+ 724 000e 8823 tst r24
+ 725 0010 01F4 brne .L51
+ 726 0012 20E0 ldi r18,lo8(0)
+ 727 0014 30E0 ldi r19,hi8(0)
+ 728 0016 00C0 rjmp .L52
+ 729 .L51:
+ 730 0018 2FEF ldi r18,lo8(-1)
+ 731 001a 3FEF ldi r19,hi8(-1)
+ 732 .L52:
+ 733 .LSM89:
+ 734 001c C901 movw r24,r18
+ 735 /* epilogue start */
+ 736 001e 0895 ret
+ 737 .LFE93:
+ 739 .section .text.CDC_Device_ConfigureEndpoints,"ax",@progbits
+ 740 .global CDC_Device_ConfigureEndpoints
+ 742 CDC_Device_ConfigureEndpoints:
+ 743 .LFB83:
+ 744 .LSM90:
+ 745 .LVL63:
+ 746 0000 1F93 push r17
+ 747 0002 CF93 push r28
+ 748 0004 DF93 push r29
+ 749 /* prologue: function */
+ 750 /* frame size = 0 */
+ 751 0006 EC01 movw r28,r24
+ 752 .LSM91:
+ 753 0008 0D96 adiw r24,13
+ 754 .LVL64:
+ 755 000a FC01 movw r30,r24
+ 756 000c 89E0 ldi r24,lo8(9)
+ 757 000e DF01 movw r26,r30
+ 758 0010 1D92 st X+,__zero_reg__
+ 759 0012 8A95 dec r24
+ 760 0014 01F4 brne .-6
+ 761 0016 11E0 ldi r17,lo8(1)
+ 762 .LVL65:
+ 763 .L64:
+ 764 .LBB118:
+ 765 .LBB119:
+ 766 .LSM92:
+ 767 0018 8981 ldd r24,Y+1
+ 768 001a 1817 cp r17,r24
+ 769 001c 01F4 brne .L55
+ 770 .LSM93:
+ 771 001e EA81 ldd r30,Y+2
+ 772 0020 FB81 ldd r31,Y+3
+ 773 .LVL66:
+ 774 .LSM94:
+ 775 0022 8C81 ldd r24,Y+4
+ 776 .LVL67:
+ 777 0024 62E0 ldi r22,lo8(2)
+ 778 .LVL68:
+ 779 0026 00C0 rjmp .L67
+ 780 .LVL69:
+ 781 .L55:
+ 782 .LSM95:
+ 783 0028 8D81 ldd r24,Y+5
+ 784 002a 1817 cp r17,r24
+ 785 002c 01F4 brne .L57
+ 786 .LSM96:
+ 787 002e EE81 ldd r30,Y+6
+ 788 0030 FF81 ldd r31,Y+7
+ 789 .LVL70:
+ 790 .LSM97:
+ 791 0032 8885 ldd r24,Y+8
+ 792 .LVL71:
+ 793 0034 62E0 ldi r22,lo8(2)
+ 794 .LVL72:
+ 795 0036 30E0 ldi r19,lo8(0)
+ 796 .LVL73:
+ 797 0038 00C0 rjmp .L56
+ 798 .LVL74:
+ 799 .L57:
+ 800 .LSM98:
+ 801 003a 8985 ldd r24,Y+9
+ 802 003c 1817 cp r17,r24
+ 803 003e 01F4 brne .L58
+ 804 .LSM99:
+ 805 0040 EA85 ldd r30,Y+10
+ 806 0042 FB85 ldd r31,Y+11
+ 807 .LVL75:
+ 808 .LSM100:
+ 809 0044 8C85 ldd r24,Y+12
+ 810 .LVL76:
+ 811 0046 63E0 ldi r22,lo8(3)
+ 812 .LVL77:
+ 813 .L67:
+ 814 0048 31E0 ldi r19,lo8(1)
+ 815 .LVL78:
+ 816 .L56:
+ 817 .LSM101:
+ 818 004a 8823 tst r24
+ 819 004c 01F4 brne .L59
+ 820 004e 40E0 ldi r20,lo8(0)
+ 821 0050 00C0 rjmp .L60
+ 822 .L59:
+ 823 0052 44E0 ldi r20,lo8(4)
+ 824 .L60:
+ 825 0054 20E0 ldi r18,lo8(0)
+ 826 .LVL79:
+ 827 0056 88E0 ldi r24,lo8(8)
+ 828 0058 90E0 ldi r25,hi8(8)
+ 829 .LVL80:
+ 830 005a 00C0 rjmp .L61
+ 831 .L62:
+ 832 .LBB120:
+ 833 .LBB121:
+ 834 .LBB122:
+ 835 .LBB123:
+ 836 .LSM102:
+ 837 005c 2F5F subi r18,lo8(-(1))
+ 838 .LSM103:
+ 839 005e 880F lsl r24
+ 840 0060 991F rol r25
+ 841 .L61:
+ 842 .LSM104:
+ 843 0062 8E17 cp r24,r30
+ 844 0064 9F07 cpc r25,r31
+ 845 0066 00F0 brlo .L62
+ 846 .LBE123:
+ 847 .LBE122:
+ 848 .LBE121:
+ 849 .LSM105:
+ 850 0068 6295 swap r22
+ 851 006a 660F lsl r22
+ 852 006c 660F lsl r22
+ 853 006e 607C andi r22,lo8(-64)
+ 854 0070 632B or r22,r19
+ 855 0072 4260 ori r20,lo8(2)
+ 856 0074 2295 swap r18
+ 857 0076 207F andi r18,lo8(-16)
+ 858 0078 422B or r20,r18
+ 859 007a 812F mov r24,r17
+ 860 .LVL81:
+ 861 007c 0E94 0000 call Endpoint_ConfigureEndpoint_Prv
+ 862 .LVL82:
+ 863 .LBE120:
+ 864 .LSM106:
+ 865 0080 8823 tst r24
+ 866 0082 01F0 breq .L63
+ 867 .L58:
+ 868 .LBE119:
+ 869 .LSM107:
+ 870 0084 1F5F subi r17,lo8(-(1))
+ 871 0086 1530 cpi r17,lo8(5)
+ 872 0088 01F4 brne .L64
+ 873 008a 81E0 ldi r24,lo8(1)
+ 874 .L63:
+ 875 /* epilogue start */
+ 876 .LBE118:
+ 877 .LSM108:
+ 878 008c DF91 pop r29
+ 879 008e CF91 pop r28
+ 880 .LVL83:
+ 881 0090 1F91 pop r17
+ 882 .LVL84:
+ 883 0092 0895 ret
+ 884 .LFE83:
+ 886 .section .text.CDC_Device_ProcessControlRequest,"ax",@progbits
+ 887 .global CDC_Device_ProcessControlRequest
+ 889 CDC_Device_ProcessControlRequest:
+ 890 .LFB82:
+ 891 .LSM109:
+ 892 .LVL85:
+ 893 0000 CF93 push r28
+ 894 0002 DF93 push r29
+ 895 /* prologue: function */
+ 896 /* frame size = 0 */
+ 897 0004 EC01 movw r28,r24
+ 898 .LBB124:
+ 899 .LBB125:
+ 900 .LSM110:
+ 901 0006 8091 E800 lds r24,232
+ 902 .LVL86:
+ 903 .LBE125:
+ 904 .LBE124:
+ 905 .LSM111:
+ 906 000a 83FF sbrs r24,3
+ 907 000c 00C0 rjmp .L75
+ 908 .LSM112:
+ 909 000e 8881 ld r24,Y
+ 910 0010 90E0 ldi r25,lo8(0)
+ 911 0012 2091 0000 lds r18,USB_ControlRequest+4
+ 912 0016 3091 0000 lds r19,(USB_ControlRequest+4)+1
+ 913 001a 2817 cp r18,r24
+ 914 001c 3907 cpc r19,r25
+ 915 001e 01F0 breq .+2
+ 916 0020 00C0 rjmp .L75
+ 917 .LSM113:
+ 918 0022 8091 0000 lds r24,USB_ControlRequest+1
+ 919 0026 8132 cpi r24,lo8(33)
+ 920 0028 01F0 breq .L71
+ 921 002a 8232 cpi r24,lo8(34)
+ 922 002c 00F4 brsh .L74
+ 923 002e 8032 cpi r24,lo8(32)
+ 924 0030 01F0 breq .+2
+ 925 0032 00C0 rjmp .L75
+ 926 0034 00C0 rjmp .L76
+ 927 .L74:
+ 928 0036 8232 cpi r24,lo8(34)
+ 929 0038 01F0 breq .L72
+ 930 003a 8332 cpi r24,lo8(35)
+ 931 003c 01F0 breq .+2
+ 932 003e 00C0 rjmp .L75
+ 933 0040 00C0 rjmp .L77
+ 934 .L71:
+ 935 .LSM114:
+ 936 0042 8091 0000 lds r24,USB_ControlRequest
+ 937 0046 813A cpi r24,lo8(-95)
+ 938 0048 01F0 breq .+2
+ 939 004a 00C0 rjmp .L75
+ 940 .LBB126:
+ 941 .LBB127:
+ 942 .LSM115:
+ 943 004c 8091 E800 lds r24,232
+ 944 0050 877F andi r24,lo8(-9)
+ 945 0052 8093 E800 sts 232,r24
+ 946 .LBE127:
+ 947 .LBE126:
+ 948 .LSM116:
+ 949 0056 CE01 movw r24,r28
+ 950 0058 0F96 adiw r24,15
+ 951 005a 67E0 ldi r22,lo8(7)
+ 952 005c 70E0 ldi r23,hi8(7)
+ 953 005e 0E94 0000 call Endpoint_Write_Control_Stream_LE
+ 954 .LBB128:
+ 955 .LBB129:
+ 956 .LSM117:
+ 957 0062 8091 E800 lds r24,232
+ 958 0066 8B77 andi r24,lo8(123)
+ 959 0068 8093 E800 sts 232,r24
+ 960 006c 00C0 rjmp .L75
+ 961 .L76:
+ 962 .LBE129:
+ 963 .LBE128:
+ 964 .LSM118:
+ 965 006e 8091 0000 lds r24,USB_ControlRequest
+ 966 0072 8132 cpi r24,lo8(33)
+ 967 0074 01F4 brne .L75
+ 968 .LBB130:
+ 969 .LBB131:
+ 970 .LSM119:
+ 971 0076 8091 E800 lds r24,232
+ 972 007a 877F andi r24,lo8(-9)
+ 973 007c 8093 E800 sts 232,r24
+ 974 .LBE131:
+ 975 .LBE130:
+ 976 .LSM120:
+ 977 0080 CE01 movw r24,r28
+ 978 0082 0F96 adiw r24,15
+ 979 0084 67E0 ldi r22,lo8(7)
+ 980 0086 70E0 ldi r23,hi8(7)
+ 981 0088 0E94 0000 call Endpoint_Read_Control_Stream_LE
+ 982 .LBB132:
+ 983 .LBB133:
+ 984 .LSM121:
+ 985 008c 8091 E800 lds r24,232
+ 986 0090 8E77 andi r24,lo8(126)
+ 987 0092 8093 E800 sts 232,r24
+ 988 .LBE133:
+ 989 .LBE132:
+ 990 .LSM122:
+ 991 0096 CE01 movw r24,r28
+ 992 0098 0E94 0000 call EVENT_CDC_Device_LineEncodingChanged
+ 993 009c 00C0 rjmp .L75
+ 994 .L72:
+ 995 .LSM123:
+ 996 009e 8091 0000 lds r24,USB_ControlRequest
+ 997 00a2 8132 cpi r24,lo8(33)
+ 998 00a4 01F4 brne .L75
+ 999 .LBB134:
+ 1000 .LBB135:
+ 1001 .LSM124:
+ 1002 00a6 8091 E800 lds r24,232
+ 1003 00aa 877F andi r24,lo8(-9)
+ 1004 00ac 8093 E800 sts 232,r24
+ 1005 .LBE135:
+ 1006 .LBE134:
+ 1007 .LSM125:
+ 1008 00b0 0E94 0000 call Endpoint_ClearStatusStage
+ 1009 .LSM126:
+ 1010 00b4 8091 0000 lds r24,USB_ControlRequest+2
+ 1011 00b8 8D87 std Y+13,r24
+ 1012 .LSM127:
+ 1013 00ba CE01 movw r24,r28
+ 1014 00bc 0E94 0000 call EVENT_CDC_Device_ControLineStateChanged
+ 1015 00c0 00C0 rjmp .L75
+ 1016 .L77:
+ 1017 .LSM128:
+ 1018 00c2 8091 0000 lds r24,USB_ControlRequest
+ 1019 00c6 8132 cpi r24,lo8(33)
+ 1020 00c8 01F4 brne .L75
+ 1021 .LBB136:
+ 1022 .LBB137:
+ 1023 .LSM129:
+ 1024 00ca 8091 E800 lds r24,232
+ 1025 00ce 877F andi r24,lo8(-9)
+ 1026 00d0 8093 E800 sts 232,r24
+ 1027 .LBE137:
+ 1028 .LBE136:
+ 1029 .LSM130:
+ 1030 00d4 0E94 0000 call Endpoint_ClearStatusStage
+ 1031 .LSM131:
+ 1032 00d8 CE01 movw r24,r28
+ 1033 00da 6091 0000 lds r22,USB_ControlRequest+2
+ 1034 00de 0E94 0000 call EVENT_CDC_Device_BreakSent
+ 1035 .L75:
+ 1036 /* epilogue start */
+ 1037 .LSM132:
+ 1038 00e2 DF91 pop r29
+ 1039 00e4 CF91 pop r28
+ 1040 .LVL87:
+ 1041 00e6 0895 ret
+ 1042 .LFE82:
+ 1044 .data
+ 1047 C.17.3562:
+ 1048 0000 A1 .byte -95
+ 1049 0001 20 .byte 32
+ 1050 0002 0000 .word 0
+ 1051 0004 0000 .word 0
+ 1052 0006 0100 .word 1
+ 1053 .weak EVENT_CDC_Device_LineEncodingChanged
+ 1054 .set EVENT_CDC_Device_LineEncodingChanged,CDC_Device_Event_Stub
+ 1055 .weak EVENT_CDC_Device_ControLineStateChanged
+ 1056 .set EVENT_CDC_Device_ControLineStateChanged,CDC_Device_Event_Stub
+ 1057 .weak EVENT_CDC_Device_BreakSent
+ 1058 .set EVENT_CDC_Device_BreakSent,CDC_Device_Event_Stub
+ 1195 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 CDC.c
+ /tmp/cc6wpRq4.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/cc6wpRq4.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/cc6wpRq4.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/cc6wpRq4.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/cc6wpRq4.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/cc6wpRq4.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/cc6wpRq4.s:19 .text.CDC_Device_Event_Stub:0000000000000000 CDC_Device_Event_Stub
+ /tmp/cc6wpRq4.s:32 .text.CDC_Device_BytesReceived:0000000000000000 CDC_Device_BytesReceived
+ /tmp/cc6wpRq4.s:111 .text.CDC_Device_ReceiveByte:0000000000000000 CDC_Device_ReceiveByte
+ /tmp/cc6wpRq4.s:210 .text.CDC_Device_CreateStream:0000000000000000 CDC_Device_CreateStream
+ /tmp/cc6wpRq4.s:708 .text.CDC_Device_putchar:0000000000000000 CDC_Device_putchar
+ /tmp/cc6wpRq4.s:277 .text.CDC_Device_getchar:0000000000000000 CDC_Device_getchar
+ /tmp/cc6wpRq4.s:244 .text.CDC_Device_CreateBlockingStream:0000000000000000 CDC_Device_CreateBlockingStream
+ /tmp/cc6wpRq4.s:574 .text.CDC_Device_getchar_Blocking:0000000000000000 CDC_Device_getchar_Blocking
+ /tmp/cc6wpRq4.s:309 .text.CDC_Device_SendControlLineStateChange:0000000000000000 CDC_Device_SendControlLineStateChange
+ /tmp/cc6wpRq4.s:1047 .data:0000000000000000 C.17.3562
+ /tmp/cc6wpRq4.s:405 .text.CDC_Device_SendString:0000000000000000 CDC_Device_SendString
+ /tmp/cc6wpRq4.s:453 .text.CDC_Device_Flush:0000000000000000 CDC_Device_Flush
+ /tmp/cc6wpRq4.s:544 .text.CDC_Device_USBTask:0000000000000000 CDC_Device_USBTask
+ /tmp/cc6wpRq4.s:626 .text.CDC_Device_SendByte:0000000000000000 CDC_Device_SendByte
+ /tmp/cc6wpRq4.s:742 .text.CDC_Device_ConfigureEndpoints:0000000000000000 CDC_Device_ConfigureEndpoints
+ /tmp/cc6wpRq4.s:889 .text.CDC_Device_ProcessControlRequest:0000000000000000 CDC_Device_ProcessControlRequest
+ /tmp/cc6wpRq4.s:19 .text.CDC_Device_Event_Stub:0000000000000000 EVENT_CDC_Device_LineEncodingChanged
+ /tmp/cc6wpRq4.s:19 .text.CDC_Device_Event_Stub:0000000000000000 EVENT_CDC_Device_ControLineStateChanged
+ /tmp/cc6wpRq4.s:19 .text.CDC_Device_Event_Stub:0000000000000000 EVENT_CDC_Device_BreakSent
+
+UNDEFINED SYMBOLS
+USB_DeviceState
+Endpoint_Write_Stream_LE
+Endpoint_WaitUntilReady
+USB_USBTask
+Endpoint_ConfigureEndpoint_Prv
+USB_ControlRequest
+Endpoint_Write_Control_Stream_LE
+Endpoint_Read_Control_Stream_LE
+Endpoint_ClearStatusStage
+__do_copy_data
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/CDC.o b/firmware/LUFA/Drivers/USB/Class/Device/CDC.o
new file mode 100644
index 0000000..4e47b49
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/CDC.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/HID.c b/firmware/LUFA/Drivers/USB/Class/Device/HID.c
new file mode 100644
index 0000000..f538610
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/HID.c
@@ -0,0 +1,190 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../../HighLevel/USBMode.h"
+#if defined(USB_CAN_BE_DEVICE)
+
+#define __INCLUDE_FROM_HID_DRIVER
+#define __INCLUDE_FROM_HID_DEVICE_C
+#include "HID.h"
+
+void HID_Device_ProcessControlRequest(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo)
+{
+ if (!(Endpoint_IsSETUPReceived()))
+ return;
+
+ if (USB_ControlRequest.wIndex != HIDInterfaceInfo->Config.InterfaceNumber)
+ return;
+
+ switch (USB_ControlRequest.bRequest)
+ {
+ case HID_REQ_GetReport:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ {
+ uint16_t ReportSize = 0;
+ uint8_t ReportID = (USB_ControlRequest.wValue & 0xFF);
+ uint8_t ReportType = (USB_ControlRequest.wValue >> 8) - 1;
+ uint8_t ReportData[HIDInterfaceInfo->Config.PrevReportINBufferSize];
+
+ memset(ReportData, 0, sizeof(ReportData));
+
+ CALLBACK_HID_Device_CreateHIDReport(HIDInterfaceInfo, &ReportID, ReportType, ReportData, &ReportSize);
+
+ if (HIDInterfaceInfo->Config.PrevReportINBuffer != NULL)
+ memcpy(HIDInterfaceInfo->Config.PrevReportINBuffer, ReportData, HIDInterfaceInfo->Config.PrevReportINBufferSize);
+
+ Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP);
+
+ Endpoint_ClearSETUP();
+ Endpoint_Write_Control_Stream_LE(ReportData, ReportSize);
+ Endpoint_ClearOUT();
+ }
+
+ break;
+ case HID_REQ_SetReport:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ {
+ uint16_t ReportSize = USB_ControlRequest.wLength;
+ uint8_t ReportID = (USB_ControlRequest.wValue & 0xFF);
+ uint8_t ReportType = (USB_ControlRequest.wValue >> 8) - 1;
+ uint8_t ReportData[ReportSize];
+
+ Endpoint_ClearSETUP();
+ Endpoint_Read_Control_Stream_LE(ReportData, ReportSize);
+ Endpoint_ClearIN();
+
+ CALLBACK_HID_Device_ProcessHIDReport(HIDInterfaceInfo, ReportID, ReportType, ReportData, ReportSize);
+ }
+
+ break;
+ case HID_REQ_GetProtocol:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_Write_Byte(HIDInterfaceInfo->State.UsingReportProtocol);
+ Endpoint_ClearIN();
+ Endpoint_ClearStatusStage();
+ }
+
+ break;
+ case HID_REQ_SetProtocol:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_ClearStatusStage();
+
+ HIDInterfaceInfo->State.UsingReportProtocol = ((USB_ControlRequest.wValue & 0xFF) != 0x00);
+ }
+
+ break;
+ case HID_REQ_SetIdle:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_ClearStatusStage();
+
+ HIDInterfaceInfo->State.IdleCount = ((USB_ControlRequest.wValue & 0xFF00) >> 6);
+ }
+
+ break;
+ case HID_REQ_GetIdle:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_Write_Byte(HIDInterfaceInfo->State.IdleCount >> 2);
+ Endpoint_ClearIN();
+ Endpoint_ClearStatusStage();
+ }
+
+ break;
+ }
+}
+
+bool HID_Device_ConfigureEndpoints(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo)
+{
+ memset(&HIDInterfaceInfo->State, 0x00, sizeof(HIDInterfaceInfo->State));
+ HIDInterfaceInfo->State.UsingReportProtocol = true;
+ HIDInterfaceInfo->State.IdleCount = 500;
+
+ if (!(Endpoint_ConfigureEndpoint(HIDInterfaceInfo->Config.ReportINEndpointNumber, EP_TYPE_INTERRUPT,
+ ENDPOINT_DIR_IN, HIDInterfaceInfo->Config.ReportINEndpointSize,
+ HIDInterfaceInfo->Config.ReportINEndpointDoubleBank ? ENDPOINT_BANK_DOUBLE : ENDPOINT_BANK_SINGLE)))
+ {
+ return false;
+ }
+
+ return true;
+}
+
+void HID_Device_USBTask(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo)
+{
+ if (USB_DeviceState != DEVICE_STATE_Configured)
+ return;
+
+ Endpoint_SelectEndpoint(HIDInterfaceInfo->Config.ReportINEndpointNumber);
+
+ if (Endpoint_IsReadWriteAllowed())
+ {
+ uint8_t ReportINData[HIDInterfaceInfo->Config.PrevReportINBufferSize];
+ uint8_t ReportID = 0;
+ uint16_t ReportINSize = 0;
+
+ memset(ReportINData, 0, sizeof(ReportINData));
+
+ bool ForceSend = CALLBACK_HID_Device_CreateHIDReport(HIDInterfaceInfo, &ReportID, HID_REPORT_ITEM_In,
+ ReportINData, &ReportINSize);
+ bool StatesChanged = false;
+ bool IdlePeriodElapsed = (HIDInterfaceInfo->State.IdleCount && !(HIDInterfaceInfo->State.IdleMSRemaining));
+
+ if (HIDInterfaceInfo->Config.PrevReportINBuffer != NULL)
+ {
+ StatesChanged = (memcmp(ReportINData, HIDInterfaceInfo->Config.PrevReportINBuffer, ReportINSize) != 0);
+ memcpy(HIDInterfaceInfo->Config.PrevReportINBuffer, ReportINData, HIDInterfaceInfo->Config.PrevReportINBufferSize);
+ }
+
+ if (ReportINSize && (ForceSend || StatesChanged || IdlePeriodElapsed))
+ {
+ HIDInterfaceInfo->State.IdleMSRemaining = HIDInterfaceInfo->State.IdleCount;
+
+ Endpoint_SelectEndpoint(HIDInterfaceInfo->Config.ReportINEndpointNumber);
+
+ if (ReportID)
+ Endpoint_Write_Byte(ReportID);
+
+ Endpoint_Write_Stream_LE(ReportINData, ReportINSize, NO_STREAM_CALLBACK);
+
+ Endpoint_ClearIN();
+ }
+ }
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/HID.h b/firmware/LUFA/Drivers/USB/Class/Device/HID.h
new file mode 100644
index 0000000..49358f5
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/HID.h
@@ -0,0 +1,222 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Device mode driver for the library USB HID Class driver.
+ *
+ * Device mode driver for the library USB HID Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassHID
+ * @defgroup Group_USBClassHIDDevice HID Class Device Mode Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Device/HID.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Device Mode USB Class driver framework interface, for the HID USB Class driver.
+ *
+ * @{
+ */
+
+#ifndef _HID_CLASS_DEVICE_H_
+#define _HID_CLASS_DEVICE_H_
+
+ /* Includes: */
+ #include "../../USB.h"
+ #include "../Common/HID.h"
+
+ #include <string.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_HID_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ #if defined(__INCLUDE_FROM_HID_DEVICE_C) && defined(NO_STREAM_CALLBACKS)
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.
+ #endif
+
+
+ /* Public Interface - May be used in end-application: */
+ /* Type Defines: */
+ /** \brief HID Class Device Mode Configuration and State Structure.
+ *
+ * Class state structure. An instance of this structure should be made for each HID interface
+ * within the user application, and passed to each of the HID class driver functions as the
+ * HIDInterfaceInfo parameter. This stores each HID interface's configuration and state information.
+ *
+ * \note Due to technical limitations, the HID device class driver does not utilize a separate OUT
+ * endpoint for host->device communications. Instead, the host->device data (if any) is sent to
+ * the device via the control endpoint.
+ */
+ typedef struct
+ {
+ const struct
+ {
+ uint8_t InterfaceNumber; /**< Interface number of the HID interface within the device. */
+
+ uint8_t ReportINEndpointNumber; /**< Endpoint number of the HID interface's IN report endpoint. */
+ uint16_t ReportINEndpointSize; /**< Size in bytes of the HID interface's IN report endpoint. */
+ bool ReportINEndpointDoubleBank; /**< Indicates if the HID interface's IN report endpoint should use double banking. */
+
+ void* PrevReportINBuffer; /**< Pointer to a buffer where the previously created HID input report can be
+ * stored by the driver, for comparison purposes to detect report changes that
+ * must be sent immediately to the host. This should point to a buffer big enough
+ * to hold the largest HID input report sent from the HID interface. If this is set
+ * to NULL, it is up to the user to force transfers when needed in the
+ * \ref CALLBACK_HID_Device_CreateHIDReport() callback function.
+ *
+ * \note Due to the single buffer, the internal driver can only correctly compare
+ * subsequent reports with identical report IDs. In multiple report devices,
+ * this buffer should be set to NULL and the decision to send reports made
+ * by the user application instead.
+ */
+ uint8_t PrevReportINBufferSize; /**< Size in bytes of the given input report buffer. This is used to create a
+ * second buffer of the same size within the driver so that subsequent reports
+ * can be compared. If the user app is to determine when reports are to be sent
+ * exclusively (i.e. \ref PrevReportINBuffer is NULL) this value must still be
+ * set to the size of the largest report the device can issue to the host.
+ */
+ } Config; /**< Config data for the USB class interface within the device. All elements in this section
+ * <b>must</b> be set or the interface will fail to enumerate and operate correctly.
+ */
+ struct
+ {
+ bool UsingReportProtocol; /**< Indicates if the HID interface is set to Boot or Report protocol mode. */
+ uint16_t IdleCount; /**< Report idle period, in milliseconds, set by the host. */
+ uint16_t IdleMSRemaining; /**< Total number of milliseconds remaining before the idle period elapsed - this
+ * should be decremented by the user application if non-zero each millisecond. */
+ } State; /**< State data for the USB class interface within the device. All elements in this section
+ * are reset to their defaults when the interface is enumerated.
+ */
+ } USB_ClassInfo_HID_Device_t;
+
+ /* Function Prototypes: */
+ /** Configures the endpoints of a given HID interface, ready for use. This should be linked to the library
+ * \ref EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration
+ * containing the given HID interface is selected.
+ *
+ * \note The endpoint index numbers as given in the interface's configuration structure must not overlap with any other
+ * interface, or endpoint bank corruption will occur. Gaps in the allocated endpoint numbers or non-sequential indexes
+ * within a single interface is allowed, but no two interfaces of any type have have interleaved endpoint indexes.
+ *
+ * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class configuration and state.
+ *
+ * \return Boolean true if the endpoints were successfully configured, false otherwise.
+ */
+ bool HID_Device_ConfigureEndpoints(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Processes incoming control requests from the host, that are directed to the given HID class interface. This should be
+ * linked to the library \ref EVENT_USB_Device_ControlRequest() event.
+ *
+ * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class configuration and state.
+ */
+ void HID_Device_ProcessControlRequest(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** General management task for a given HID class interface, required for the correct operation of the interface. This should
+ * be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().
+ *
+ * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class configuration and state.
+ */
+ void HID_Device_USBTask(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** HID class driver callback for the user creation of a HID IN report. This callback may fire in response to either
+ * HID class control requests from the host, or by the normal HID endpoint polling procedure. Inside this callback the
+ * user is responsible for the creation of the next HID input report to be sent to the host.
+ *
+ * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class configuration and state.
+ * \param[in,out] ReportID If preset to a non-zero value, this is the report ID being requested by the host. If zero,
+ * this should be set to the report ID of the generated HID input report (if any). If multiple
+ * reports are not sent via the given HID interface, this parameter should be ignored.
+ * \param[in] ReportType Type of HID report to generate, either \ref HID_REPORT_ITEM_In or \ref HID_REPORT_ITEM_Feature.
+ * \param[out] ReportData Pointer to a buffer where the generated HID report should be stored.
+ * \param[out] ReportSize Number of bytes in the generated input report, or zero if no report is to be sent.
+ *
+ * \return Boolean true to force the sending of the report even if it is identical to the previous report and still within
+ * the idle period (useful for devices which report relative movement), false otherwise.
+ */
+ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo,
+ uint8_t* const ReportID,
+ const uint8_t ReportType,
+ void* ReportData,
+ uint16_t* const ReportSize) ATTR_NON_NULL_PTR_ARG(1)
+ ATTR_NON_NULL_PTR_ARG(2) ATTR_NON_NULL_PTR_ARG(4) ATTR_NON_NULL_PTR_ARG(5);
+
+ /** HID class driver callback for the user processing of a received HID OUT report. This callback may fire in response to
+ * either HID class control requests from the host, or by the normal HID endpoint polling procedure. Inside this callback
+ * the user is responsible for the processing of the received HID output report from the host.
+ *
+ * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class configuration and state.
+ * \param[in] ReportID Report ID of the received output report. If multiple reports are not received via the given HID
+ * interface, this parameter should be ignored.
+ * \param[in] ReportType Type of received HID report, either \ref HID_REPORT_ITEM_Out or \ref HID_REPORT_ITEM_Feature.
+ * \param[in] ReportData Pointer to a buffer where the received HID report is stored.
+ * \param[in] ReportSize Size in bytes of the received report from the host.
+ */
+ void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo,
+ const uint8_t ReportID,
+ const uint8_t ReportType,
+ const void* ReportData,
+ const uint16_t ReportSize) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(4);
+
+ /* Inline Functions: */
+ /** Indicates that a millisecond of idle time has elapsed on the given HID interface, and the interface's idle count should be
+ * decremented. This should be called once per millisecond so that hardware key-repeats function correctly. It is recommended
+ * that this be called by the \ref EVENT_USB_Device_StartOfFrame() event, once SOF events have been enabled via
+ * \ref USB_Device_EnableSOFEvents().
+ *
+ * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class configuration and state.
+ */
+ static inline void HID_Device_MillisecondElapsed(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo) ATTR_ALWAYS_INLINE ATTR_NON_NULL_PTR_ARG(1);
+ static inline void HID_Device_MillisecondElapsed(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo)
+ {
+ if (HIDInterfaceInfo->State.IdleMSRemaining)
+ HIDInterfaceInfo->State.IdleMSRemaining--;
+ }
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/HID.lst b/firmware/LUFA/Drivers/USB/Class/Device/HID.lst
new file mode 100644
index 0000000..46fb481
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/HID.lst
@@ -0,0 +1,769 @@
+ 1 .file "HID.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.HID_Device_USBTask,"ax",@progbits
+ 17 .global HID_Device_USBTask
+ 19 HID_Device_USBTask:
+ 20 .LFB83:
+ 21 .LSM0:
+ 22 .LVL0:
+ 23 0000 4F92 push r4
+ 24 0002 5F92 push r5
+ 25 0004 6F92 push r6
+ 26 0006 7F92 push r7
+ 27 0008 8F92 push r8
+ 28 000a 9F92 push r9
+ 29 000c AF92 push r10
+ 30 000e BF92 push r11
+ 31 0010 CF92 push r12
+ 32 0012 DF92 push r13
+ 33 0014 EF92 push r14
+ 34 0016 FF92 push r15
+ 35 0018 0F93 push r16
+ 36 001a 1F93 push r17
+ 37 001c DF93 push r29
+ 38 001e CF93 push r28
+ 39 0020 00D0 rcall .
+ 40 0022 0F92 push __tmp_reg__
+ 41 0024 CDB7 in r28,__SP_L__
+ 42 0026 DEB7 in r29,__SP_H__
+ 43 /* prologue: function */
+ 44 /* frame size = 3 */
+ 45 0028 7C01 movw r14,r24
+ 46 .LSM1:
+ 47 002a 6DB6 in r6,__SP_L__
+ 48 002c 7EB6 in r7,__SP_H__
+ 49 .LSM2:
+ 50 002e 8091 0000 lds r24,USB_DeviceState
+ 51 .LVL1:
+ 52 0032 8430 cpi r24,lo8(4)
+ 53 0034 01F0 breq .+2
+ 54 0036 00C0 rjmp .L13
+ 55 .LSM3:
+ 56 0038 F701 movw r30,r14
+ 57 003a 8181 ldd r24,Z+1
+ 58 .LBB49:
+ 59 .LBB50:
+ 60 .LSM4:
+ 61 003c 8093 E900 sts 233,r24
+ 62 .LBE50:
+ 63 .LBE49:
+ 64 .LBB51:
+ 65 .LBB52:
+ 66 .LSM5:
+ 67 0040 8091 E800 lds r24,232
+ 68 .LBE52:
+ 69 .LBE51:
+ 70 .LSM6:
+ 71 0044 85FF sbrs r24,5
+ 72 0046 00C0 rjmp .L13
+ 73 0048 5DB6 in r5,__SP_L__
+ 74 004a 4EB6 in r4,__SP_H__
+ 75 .LBB53:
+ 76 .LSM7:
+ 77 004c 4781 ldd r20,Z+7
+ 78 004e 8DB7 in r24,__SP_L__
+ 79 0050 9EB7 in r25,__SP_H__
+ 80 0052 841B sub r24,r20
+ 81 0054 9109 sbc r25,__zero_reg__
+ 82 0056 0FB6 in __tmp_reg__,__SREG__
+ 83 0058 F894 cli
+ 84 005a 9EBF out __SP_H__,r25
+ 85 005c 0FBE out __SREG__,__tmp_reg__
+ 86 005e 8DBF out __SP_L__,r24
+ 87 0060 0DB7 in r16,__SP_L__
+ 88 0062 1EB7 in r17,__SP_H__
+ 89 0064 0F5F subi r16,lo8(-(1))
+ 90 0066 1F4F sbci r17,hi8(-(1))
+ 91 .LSM8:
+ 92 0068 1982 std Y+1,__zero_reg__
+ 93 .LVL2:
+ 94 .LSM9:
+ 95 006a 1B82 std Y+3,__zero_reg__
+ 96 006c 1A82 std Y+2,__zero_reg__
+ 97 .LVL3:
+ 98 .LSM10:
+ 99 006e C02E mov r12,r16
+ 100 0070 912E mov r9,r17
+ 101 0072 C801 movw r24,r16
+ 102 0074 60E0 ldi r22,lo8(0)
+ 103 0076 70E0 ldi r23,hi8(0)
+ 104 0078 50E0 ldi r21,lo8(0)
+ 105 007a 0E94 0000 call memset
+ 106 .LSM11:
+ 107 007e C701 movw r24,r14
+ 108 0080 BE01 movw r22,r28
+ 109 0082 6F5F subi r22,lo8(-(1))
+ 110 0084 7F4F sbci r23,hi8(-(1))
+ 111 0086 40E0 ldi r20,lo8(0)
+ 112 0088 9801 movw r18,r16
+ 113 008a 8E01 movw r16,r28
+ 114 008c 0E5F subi r16,lo8(-(2))
+ 115 008e 1F4F sbci r17,hi8(-(2))
+ 116 0090 0E94 0000 call CALLBACK_HID_Device_CreateHIDReport
+ 117 0094 882E mov r8,r24
+ 118 .LVL4:
+ 119 .LSM12:
+ 120 0096 F701 movw r30,r14
+ 121 0098 8185 ldd r24,Z+9
+ 122 009a 9285 ldd r25,Z+10
+ 123 009c 892B or r24,r25
+ 124 009e 01F4 brne .L3
+ 125 00a0 AA24 clr r10
+ 126 00a2 BB24 clr r11
+ 127 00a4 00C0 rjmp .L4
+ 128 .L3:
+ 129 00a6 20E0 ldi r18,lo8(0)
+ 130 00a8 F701 movw r30,r14
+ 131 00aa 8385 ldd r24,Z+11
+ 132 00ac 9485 ldd r25,Z+12
+ 133 00ae 892B or r24,r25
+ 134 00b0 01F0 breq .L5
+ 135 00b2 21E0 ldi r18,lo8(1)
+ 136 .L5:
+ 137 00b4 81E0 ldi r24,lo8(1)
+ 138 00b6 2827 eor r18,r24
+ 139 00b8 A22E mov r10,r18
+ 140 00ba BB24 clr r11
+ 141 .L4:
+ 142 .LSM13:
+ 143 00bc F701 movw r30,r14
+ 144 00be 0581 ldd r16,Z+5
+ 145 00c0 1681 ldd r17,Z+6
+ 146 00c2 0115 cp r16,__zero_reg__
+ 147 00c4 1105 cpc r17,__zero_reg__
+ 148 00c6 01F4 brne .L6
+ 149 00c8 DD24 clr r13
+ 150 .LVL5:
+ 151 00ca 00C0 rjmp .L7
+ 152 .LVL6:
+ 153 .L6:
+ 154 .LSM14:
+ 155 00cc 4A81 ldd r20,Y+2
+ 156 00ce 5B81 ldd r21,Y+3
+ 157 00d0 8C2D mov r24,r12
+ 158 00d2 992D mov r25,r9
+ 159 00d4 B801 movw r22,r16
+ 160 00d6 0E94 0000 call memcmp
+ 161 00da DD24 clr r13
+ 162 .LVL7:
+ 163 00dc 0097 sbiw r24,0
+ 164 00de 01F0 breq .L8
+ 165 00e0 DD24 clr r13
+ 166 00e2 D394 inc r13
+ 167 .L8:
+ 168 .LSM15:
+ 169 00e4 F701 movw r30,r14
+ 170 00e6 4781 ldd r20,Z+7
+ 171 00e8 C801 movw r24,r16
+ 172 00ea 6C2D mov r22,r12
+ 173 00ec 792D mov r23,r9
+ 174 00ee 50E0 ldi r21,lo8(0)
+ 175 00f0 0E94 0000 call memcpy
+ 176 .L7:
+ 177 .LSM16:
+ 178 00f4 8A81 ldd r24,Y+2
+ 179 00f6 9B81 ldd r25,Y+3
+ 180 00f8 892B or r24,r25
+ 181 00fa 01F0 breq .L10
+ 182 .LVL8:
+ 183 00fc 8820 tst r8
+ 184 00fe 01F4 brne .L11
+ 185 0100 DD20 tst r13
+ 186 0102 01F4 brne .L11
+ 187 0104 AB28 or r10,r11
+ 188 0106 01F0 breq .L10
+ 189 .L11:
+ 190 .LSM17:
+ 191 0108 F701 movw r30,r14
+ 192 010a 8185 ldd r24,Z+9
+ 193 010c 9285 ldd r25,Z+10
+ 194 .LVL9:
+ 195 010e 9487 std Z+12,r25
+ 196 0110 8387 std Z+11,r24
+ 197 .LSM18:
+ 198 0112 8181 ldd r24,Z+1
+ 199 .LBB54:
+ 200 .LBB55:
+ 201 .LSM19:
+ 202 0114 8093 E900 sts 233,r24
+ 203 .LBE55:
+ 204 .LBE54:
+ 205 .LSM20:
+ 206 0118 8981 ldd r24,Y+1
+ 207 011a 8823 tst r24
+ 208 011c 01F0 breq .L12
+ 209 .LBB56:
+ 210 .LBB57:
+ 211 .LSM21:
+ 212 011e 8093 F100 sts 241,r24
+ 213 .L12:
+ 214 .LBE57:
+ 215 .LBE56:
+ 216 .LSM22:
+ 217 0122 6A81 ldd r22,Y+2
+ 218 0124 7B81 ldd r23,Y+3
+ 219 0126 8C2D mov r24,r12
+ 220 0128 992D mov r25,r9
+ 221 012a 40E0 ldi r20,lo8(0)
+ 222 012c 50E0 ldi r21,hi8(0)
+ 223 012e 0E94 0000 call Endpoint_Write_Stream_LE
+ 224 .LBB58:
+ 225 .LBB59:
+ 226 .LSM23:
+ 227 0132 8091 E800 lds r24,232
+ 228 0136 8E77 andi r24,lo8(126)
+ 229 0138 8093 E800 sts 232,r24
+ 230 .LVL10:
+ 231 .L10:
+ 232 013c 852D mov r24,r5
+ 233 013e 942D mov r25,r4
+ 234 0140 9C01 movw r18,r24
+ 235 0142 0FB6 in __tmp_reg__,__SREG__
+ 236 0144 F894 cli
+ 237 0146 3EBF out __SP_H__,r19
+ 238 0148 0FBE out __SREG__,__tmp_reg__
+ 239 014a 2DBF out __SP_L__,r18
+ 240 .L13:
+ 241 .LBE59:
+ 242 .LBE58:
+ 243 .LBE53:
+ 244 .LSM24:
+ 245 014c 0FB6 in __tmp_reg__,__SREG__
+ 246 014e F894 cli
+ 247 0150 7EBE out __SP_H__,r7
+ 248 0152 0FBE out __SREG__,__tmp_reg__
+ 249 0154 6DBE out __SP_L__,r6
+ 250 /* epilogue start */
+ 251 0156 0F90 pop __tmp_reg__
+ 252 0158 0F90 pop __tmp_reg__
+ 253 015a 0F90 pop __tmp_reg__
+ 254 015c CF91 pop r28
+ 255 015e DF91 pop r29
+ 256 0160 1F91 pop r17
+ 257 0162 0F91 pop r16
+ 258 0164 FF90 pop r15
+ 259 0166 EF90 pop r14
+ 260 .LVL11:
+ 261 0168 DF90 pop r13
+ 262 .LVL12:
+ 263 016a CF90 pop r12
+ 264 016c BF90 pop r11
+ 265 016e AF90 pop r10
+ 266 0170 9F90 pop r9
+ 267 0172 8F90 pop r8
+ 268 .LVL13:
+ 269 0174 7F90 pop r7
+ 270 0176 6F90 pop r6
+ 271 0178 5F90 pop r5
+ 272 017a 4F90 pop r4
+ 273 017c 0895 ret
+ 274 .LFE83:
+ 276 .section .text.HID_Device_ConfigureEndpoints,"ax",@progbits
+ 277 .global HID_Device_ConfigureEndpoints
+ 279 HID_Device_ConfigureEndpoints:
+ 280 .LFB82:
+ 281 .LSM25:
+ 282 .LVL14:
+ 283 0000 CF93 push r28
+ 284 0002 DF93 push r29
+ 285 /* prologue: function */
+ 286 /* frame size = 0 */
+ 287 0004 DC01 movw r26,r24
+ 288 .LSM26:
+ 289 0006 0896 adiw r24,8
+ 290 .LVL15:
+ 291 0008 FC01 movw r30,r24
+ 292 000a 85E0 ldi r24,lo8(5)
+ 293 000c EF01 movw r28,r30
+ 294 000e 1992 st Y+,__zero_reg__
+ 295 0010 8A95 dec r24
+ 296 0012 01F4 brne .-6
+ 297 .LSM27:
+ 298 0014 81E0 ldi r24,lo8(1)
+ 299 0016 1896 adiw r26,8
+ 300 0018 8C93 st X,r24
+ 301 001a 1897 sbiw r26,8
+ 302 .LSM28:
+ 303 001c 84EF ldi r24,lo8(500)
+ 304 001e 91E0 ldi r25,hi8(500)
+ 305 0020 1A96 adiw r26,9+1
+ 306 0022 9C93 st X,r25
+ 307 0024 8E93 st -X,r24
+ 308 0026 1997 sbiw r26,9
+ 309 .LSM29:
+ 310 0028 1196 adiw r26,1
+ 311 002a 3C91 ld r19,X
+ 312 002c 1197 sbiw r26,1
+ 313 002e 1296 adiw r26,2
+ 314 0030 6D91 ld r22,X+
+ 315 0032 7C91 ld r23,X
+ 316 0034 1397 sbiw r26,2+1
+ 317 0036 1496 adiw r26,4
+ 318 0038 8C91 ld r24,X
+ 319 003a 8823 tst r24
+ 320 003c 01F4 brne .L15
+ 321 003e 40E0 ldi r20,lo8(0)
+ 322 0040 00C0 rjmp .L16
+ 323 .L15:
+ 324 0042 44E0 ldi r20,lo8(4)
+ 325 .L16:
+ 326 0044 20E0 ldi r18,lo8(0)
+ 327 .LVL16:
+ 328 0046 88E0 ldi r24,lo8(8)
+ 329 0048 90E0 ldi r25,hi8(8)
+ 330 .LVL17:
+ 331 004a 00C0 rjmp .L17
+ 332 .L18:
+ 333 .LBB60:
+ 334 .LBB61:
+ 335 .LBB62:
+ 336 .LBB63:
+ 337 .LSM30:
+ 338 004c 2F5F subi r18,lo8(-(1))
+ 339 .LSM31:
+ 340 004e 880F lsl r24
+ 341 0050 991F rol r25
+ 342 .L17:
+ 343 .LSM32:
+ 344 0052 8617 cp r24,r22
+ 345 0054 9707 cpc r25,r23
+ 346 0056 00F0 brlo .L18
+ 347 .LBE63:
+ 348 .LBE62:
+ 349 .LBE61:
+ 350 .LSM33:
+ 351 0058 4260 ori r20,lo8(2)
+ 352 005a 2295 swap r18
+ 353 005c 207F andi r18,lo8(-16)
+ 354 005e 422B or r20,r18
+ 355 0060 832F mov r24,r19
+ 356 .LVL18:
+ 357 0062 61EC ldi r22,lo8(-63)
+ 358 0064 0E94 0000 call Endpoint_ConfigureEndpoint_Prv
+ 359 .LVL19:
+ 360 0068 8111 cpse r24,__zero_reg__
+ 361 006a 81E0 ldi r24,lo8(1)
+ 362 .L19:
+ 363 /* epilogue start */
+ 364 .LBE60:
+ 365 .LSM34:
+ 366 006c DF91 pop r29
+ 367 006e CF91 pop r28
+ 368 0070 0895 ret
+ 369 .LFE82:
+ 371 .section .text.HID_Device_ProcessControlRequest,"ax",@progbits
+ 372 .global HID_Device_ProcessControlRequest
+ 374 HID_Device_ProcessControlRequest:
+ 375 .LFB81:
+ 376 .LSM35:
+ 377 .LVL20:
+ 378 0000 6F92 push r6
+ 379 0002 7F92 push r7
+ 380 0004 8F92 push r8
+ 381 0006 9F92 push r9
+ 382 0008 AF92 push r10
+ 383 000a BF92 push r11
+ 384 000c CF92 push r12
+ 385 000e DF92 push r13
+ 386 0010 EF92 push r14
+ 387 0012 FF92 push r15
+ 388 0014 0F93 push r16
+ 389 0016 1F93 push r17
+ 390 0018 DF93 push r29
+ 391 001a CF93 push r28
+ 392 001c 00D0 rcall .
+ 393 001e 0F92 push __tmp_reg__
+ 394 0020 CDB7 in r28,__SP_L__
+ 395 0022 DEB7 in r29,__SP_H__
+ 396 /* prologue: function */
+ 397 /* frame size = 3 */
+ 398 0024 4C01 movw r8,r24
+ 399 .LSM36:
+ 400 0026 6DB6 in r6,__SP_L__
+ 401 0028 7EB6 in r7,__SP_H__
+ 402 .LBB64:
+ 403 .LBB65:
+ 404 .LSM37:
+ 405 002a 8091 E800 lds r24,232
+ 406 .LVL21:
+ 407 .LBE65:
+ 408 .LBE64:
+ 409 .LSM38:
+ 410 002e 83FF sbrs r24,3
+ 411 0030 00C0 rjmp .L33
+ 412 .LSM39:
+ 413 0032 F401 movw r30,r8
+ 414 0034 8081 ld r24,Z
+ 415 0036 90E0 ldi r25,lo8(0)
+ 416 0038 2091 0000 lds r18,USB_ControlRequest+4
+ 417 003c 3091 0000 lds r19,(USB_ControlRequest+4)+1
+ 418 0040 2817 cp r18,r24
+ 419 0042 3907 cpc r19,r25
+ 420 0044 01F0 breq .+2
+ 421 0046 00C0 rjmp .L33
+ 422 .LSM40:
+ 423 0048 8091 0000 lds r24,USB_ControlRequest+1
+ 424 004c 8330 cpi r24,lo8(3)
+ 425 004e 01F4 brne .+2
+ 426 0050 00C0 rjmp .L25
+ 427 0052 8430 cpi r24,lo8(4)
+ 428 0054 00F4 brsh .L29
+ 429 0056 8130 cpi r24,lo8(1)
+ 430 0058 01F0 breq .L23
+ 431 005a 8230 cpi r24,lo8(2)
+ 432 005c 01F0 breq .+2
+ 433 005e 00C0 rjmp .L33
+ 434 0060 00C0 rjmp .L36
+ 435 .L29:
+ 436 0062 8A30 cpi r24,lo8(10)
+ 437 0064 01F4 brne .+2
+ 438 0066 00C0 rjmp .L27
+ 439 0068 8B30 cpi r24,lo8(11)
+ 440 006a 01F4 brne .+2
+ 441 006c 00C0 rjmp .L28
+ 442 006e 8930 cpi r24,lo8(9)
+ 443 0070 01F0 breq .+2
+ 444 0072 00C0 rjmp .L33
+ 445 0074 00C0 rjmp .L37
+ 446 .L23:
+ 447 .LSM41:
+ 448 0076 8091 0000 lds r24,USB_ControlRequest
+ 449 007a 813A cpi r24,lo8(-95)
+ 450 007c 01F0 breq .+2
+ 451 007e 00C0 rjmp .L33
+ 452 0080 ADB6 in r10,__SP_L__
+ 453 0082 FEB6 in r15,__SP_H__
+ 454 .LBB66:
+ 455 .LSM42:
+ 456 0084 1B82 std Y+3,__zero_reg__
+ 457 0086 1A82 std Y+2,__zero_reg__
+ 458 .LVL22:
+ 459 .LSM43:
+ 460 0088 8091 0000 lds r24,USB_ControlRequest+2
+ 461 008c 1091 0000 lds r17,USB_ControlRequest+3
+ 462 0090 8983 std Y+1,r24
+ 463 .LVL23:
+ 464 .LSM44:
+ 465 0092 F401 movw r30,r8
+ 466 0094 4781 ldd r20,Z+7
+ 467 0096 8DB7 in r24,__SP_L__
+ 468 0098 9EB7 in r25,__SP_H__
+ 469 009a 841B sub r24,r20
+ 470 009c 9109 sbc r25,__zero_reg__
+ 471 009e 0FB6 in __tmp_reg__,__SREG__
+ 472 00a0 F894 cli
+ 473 00a2 9EBF out __SP_H__,r25
+ 474 00a4 0FBE out __SREG__,__tmp_reg__
+ 475 00a6 8DBF out __SP_L__,r24
+ 476 00a8 CDB6 in r12,__SP_L__
+ 477 00aa DEB6 in r13,__SP_H__
+ 478 00ac 0894 sec
+ 479 00ae C11C adc r12,__zero_reg__
+ 480 00b0 D11C adc r13,__zero_reg__
+ 481 .LSM45:
+ 482 00b2 EC2C mov r14,r12
+ 483 00b4 BD2C mov r11,r13
+ 484 00b6 C601 movw r24,r12
+ 485 00b8 60E0 ldi r22,lo8(0)
+ 486 00ba 70E0 ldi r23,hi8(0)
+ 487 00bc 50E0 ldi r21,lo8(0)
+ 488 00be 0E94 0000 call memset
+ 489 .LSM46:
+ 490 00c2 1150 subi r17,lo8(-(-1))
+ 491 00c4 C401 movw r24,r8
+ 492 00c6 BE01 movw r22,r28
+ 493 00c8 6F5F subi r22,lo8(-(1))
+ 494 00ca 7F4F sbci r23,hi8(-(1))
+ 495 00cc 412F mov r20,r17
+ 496 00ce 9601 movw r18,r12
+ 497 00d0 8E01 movw r16,r28
+ 498 00d2 0E5F subi r16,lo8(-(2))
+ 499 00d4 1F4F sbci r17,hi8(-(2))
+ 500 00d6 0E94 0000 call CALLBACK_HID_Device_CreateHIDReport
+ 501 .LSM47:
+ 502 00da F401 movw r30,r8
+ 503 00dc 2581 ldd r18,Z+5
+ 504 00de 3681 ldd r19,Z+6
+ 505 00e0 2115 cp r18,__zero_reg__
+ 506 00e2 3105 cpc r19,__zero_reg__
+ 507 00e4 01F0 breq .L30
+ 508 .LSM48:
+ 509 00e6 4781 ldd r20,Z+7
+ 510 00e8 C901 movw r24,r18
+ 511 00ea B601 movw r22,r12
+ 512 00ec 50E0 ldi r21,lo8(0)
+ 513 00ee 0E94 0000 call memcpy
+ 514 .L30:
+ 515 .LBB67:
+ 516 .LBB68:
+ 517 .LSM49:
+ 518 00f2 1092 E900 sts 233,__zero_reg__
+ 519 .LBE68:
+ 520 .LBE67:
+ 521 .LBB69:
+ 522 .LBB70:
+ 523 .LSM50:
+ 524 00f6 8091 E800 lds r24,232
+ 525 00fa 877F andi r24,lo8(-9)
+ 526 00fc 8093 E800 sts 232,r24
+ 527 .LBE70:
+ 528 .LBE69:
+ 529 .LSM51:
+ 530 0100 6A81 ldd r22,Y+2
+ 531 0102 7B81 ldd r23,Y+3
+ 532 0104 8E2D mov r24,r14
+ 533 0106 9B2D mov r25,r11
+ 534 0108 0E94 0000 call Endpoint_Write_Control_Stream_LE
+ 535 .LBB71:
+ 536 .LBB72:
+ 537 .LSM52:
+ 538 010c 8091 E800 lds r24,232
+ 539 0110 8B77 andi r24,lo8(123)
+ 540 0112 8093 E800 sts 232,r24
+ 541 0116 2A2D mov r18,r10
+ 542 0118 3F2D mov r19,r15
+ 543 011a 00C0 rjmp .L34
+ 544 .LVL24:
+ 545 .L37:
+ 546 .LBE72:
+ 547 .LBE71:
+ 548 .LBE66:
+ 549 .LSM53:
+ 550 011c 8091 0000 lds r24,USB_ControlRequest
+ 551 0120 8132 cpi r24,lo8(33)
+ 552 0122 01F0 breq .+2
+ 553 0124 00C0 rjmp .L33
+ 554 0126 AEB6 in r10,__SP_H__
+ 555 .LBB73:
+ 556 .LSM54:
+ 557 0128 0091 0000 lds r16,USB_ControlRequest+6
+ 558 012c 1091 0000 lds r17,(USB_ControlRequest+6)+1
+ 559 .LVL25:
+ 560 .LSM55:
+ 561 0130 C090 0000 lds r12,USB_ControlRequest+2
+ 562 0134 D090 0000 lds r13,USB_ControlRequest+3
+ 563 .LSM56:
+ 564 0138 8DB7 in r24,__SP_L__
+ 565 013a 9EB7 in r25,__SP_H__
+ 566 013c 801B sub r24,r16
+ 567 013e 910B sbc r25,r17
+ 568 0140 0FB6 in __tmp_reg__,__SREG__
+ 569 0142 F894 cli
+ 570 0144 9EBF out __SP_H__,r25
+ 571 0146 0FBE out __SREG__,__tmp_reg__
+ 572 0148 8DBF out __SP_L__,r24
+ 573 014a EDB6 in r14,__SP_L__
+ 574 014c FEB6 in r15,__SP_H__
+ 575 014e 0894 sec
+ 576 0150 E11C adc r14,__zero_reg__
+ 577 0152 F11C adc r15,__zero_reg__
+ 578 .LBB74:
+ 579 .LBB75:
+ 580 .LSM57:
+ 581 0154 8091 E800 lds r24,232
+ 582 0158 877F andi r24,lo8(-9)
+ 583 015a 8093 E800 sts 232,r24
+ 584 .LBE75:
+ 585 .LBE74:
+ 586 .LSM58:
+ 587 015e C701 movw r24,r14
+ 588 0160 B801 movw r22,r16
+ 589 0162 0E94 0000 call Endpoint_Read_Control_Stream_LE
+ 590 .LBB76:
+ 591 .LBB77:
+ 592 .LSM59:
+ 593 0166 8091 E800 lds r24,232
+ 594 016a 8E77 andi r24,lo8(126)
+ 595 016c 8093 E800 sts 232,r24
+ 596 .LBE77:
+ 597 .LBE76:
+ 598 .LSM60:
+ 599 0170 DA94 dec r13
+ 600 0172 C401 movw r24,r8
+ 601 0174 6C2D mov r22,r12
+ 602 0176 4D2D mov r20,r13
+ 603 0178 9701 movw r18,r14
+ 604 017a 0E94 0000 call CALLBACK_HID_Device_ProcessHIDReport
+ 605 017e 262D mov r18,r6
+ 606 0180 3A2D mov r19,r10
+ 607 .LVL26:
+ 608 .L34:
+ 609 0182 0FB6 in __tmp_reg__,__SREG__
+ 610 0184 F894 cli
+ 611 0186 3EBF out __SP_H__,r19
+ 612 0188 0FBE out __SREG__,__tmp_reg__
+ 613 018a 2DBF out __SP_L__,r18
+ 614 018c 00C0 rjmp .L33
+ 615 .LVL27:
+ 616 .L25:
+ 617 .LBE73:
+ 618 .LSM61:
+ 619 018e 8091 0000 lds r24,USB_ControlRequest
+ 620 0192 813A cpi r24,lo8(-95)
+ 621 0194 01F0 breq .+2
+ 622 0196 00C0 rjmp .L33
+ 623 .LBB78:
+ 624 .LBB79:
+ 625 .LSM62:
+ 626 0198 8091 E800 lds r24,232
+ 627 019c 877F andi r24,lo8(-9)
+ 628 019e 8093 E800 sts 232,r24
+ 629 .LBE79:
+ 630 .LBE78:
+ 631 .LSM63:
+ 632 01a2 F401 movw r30,r8
+ 633 01a4 8085 ldd r24,Z+8
+ 634 01a6 00C0 rjmp .L35
+ 635 .L28:
+ 636 .LSM64:
+ 637 01a8 8091 0000 lds r24,USB_ControlRequest
+ 638 01ac 8132 cpi r24,lo8(33)
+ 639 01ae 01F0 breq .+2
+ 640 01b0 00C0 rjmp .L33
+ 641 .LBB80:
+ 642 .LBB81:
+ 643 .LSM65:
+ 644 01b2 8091 E800 lds r24,232
+ 645 01b6 877F andi r24,lo8(-9)
+ 646 01b8 8093 E800 sts 232,r24
+ 647 .LBE81:
+ 648 .LBE80:
+ 649 .LSM66:
+ 650 01bc 0E94 0000 call Endpoint_ClearStatusStage
+ 651 .LSM67:
+ 652 01c0 90E0 ldi r25,lo8(0)
+ 653 01c2 8091 0000 lds r24,USB_ControlRequest+2
+ 654 01c6 8111 cpse r24,__zero_reg__
+ 655 01c8 91E0 ldi r25,lo8(1)
+ 656 .L32:
+ 657 01ca F401 movw r30,r8
+ 658 01cc 9087 std Z+8,r25
+ 659 01ce 00C0 rjmp .L33
+ 660 .L27:
+ 661 .LSM68:
+ 662 01d0 8091 0000 lds r24,USB_ControlRequest
+ 663 01d4 8132 cpi r24,lo8(33)
+ 664 01d6 01F4 brne .L33
+ 665 .LBB82:
+ 666 .LBB83:
+ 667 .LSM69:
+ 668 01d8 8091 E800 lds r24,232
+ 669 01dc 877F andi r24,lo8(-9)
+ 670 01de 8093 E800 sts 232,r24
+ 671 .LBE83:
+ 672 .LBE82:
+ 673 .LSM70:
+ 674 01e2 0E94 0000 call Endpoint_ClearStatusStage
+ 675 .LSM71:
+ 676 01e6 8091 0000 lds r24,USB_ControlRequest+2
+ 677 01ea 9091 0000 lds r25,(USB_ControlRequest+2)+1
+ 678 01ee 8070 andi r24,lo8(-256)
+ 679 01f0 76E0 ldi r23,6
+ 680 01f2 9695 1: lsr r25
+ 681 01f4 8795 ror r24
+ 682 01f6 7A95 dec r23
+ 683 01f8 01F4 brne 1b
+ 684 01fa F401 movw r30,r8
+ 685 01fc 9287 std Z+10,r25
+ 686 01fe 8187 std Z+9,r24
+ 687 0200 00C0 rjmp .L33
+ 688 .L36:
+ 689 .LSM72:
+ 690 0202 8091 0000 lds r24,USB_ControlRequest
+ 691 0206 813A cpi r24,lo8(-95)
+ 692 0208 01F4 brne .L33
+ 693 .LBB84:
+ 694 .LBB85:
+ 695 .LSM73:
+ 696 020a 8091 E800 lds r24,232
+ 697 020e 877F andi r24,lo8(-9)
+ 698 0210 8093 E800 sts 232,r24
+ 699 .LBE85:
+ 700 .LBE84:
+ 701 .LSM74:
+ 702 0214 F401 movw r30,r8
+ 703 0216 8185 ldd r24,Z+9
+ 704 0218 9285 ldd r25,Z+10
+ 705 021a 9695 lsr r25
+ 706 021c 8795 ror r24
+ 707 021e 9695 lsr r25
+ 708 0220 8795 ror r24
+ 709 .L35:
+ 710 .LBB86:
+ 711 .LBB87:
+ 712 .LSM75:
+ 713 0222 8093 F100 sts 241,r24
+ 714 .LBE87:
+ 715 .LBE86:
+ 716 .LBB88:
+ 717 .LBB89:
+ 718 .LSM76:
+ 719 0226 8091 E800 lds r24,232
+ 720 022a 8E77 andi r24,lo8(126)
+ 721 022c 8093 E800 sts 232,r24
+ 722 .LBE89:
+ 723 .LBE88:
+ 724 .LSM77:
+ 725 0230 0E94 0000 call Endpoint_ClearStatusStage
+ 726 .LVL28:
+ 727 .L33:
+ 728 .LSM78:
+ 729 0234 0FB6 in __tmp_reg__,__SREG__
+ 730 0236 F894 cli
+ 731 0238 7EBE out __SP_H__,r7
+ 732 023a 0FBE out __SREG__,__tmp_reg__
+ 733 023c 6DBE out __SP_L__,r6
+ 734 /* epilogue start */
+ 735 023e 0F90 pop __tmp_reg__
+ 736 0240 0F90 pop __tmp_reg__
+ 737 0242 0F90 pop __tmp_reg__
+ 738 0244 CF91 pop r28
+ 739 0246 DF91 pop r29
+ 740 0248 1F91 pop r17
+ 741 024a 0F91 pop r16
+ 742 .LVL29:
+ 743 024c FF90 pop r15
+ 744 024e EF90 pop r14
+ 745 0250 DF90 pop r13
+ 746 0252 CF90 pop r12
+ 747 0254 BF90 pop r11
+ 748 0256 AF90 pop r10
+ 749 0258 9F90 pop r9
+ 750 025a 8F90 pop r8
+ 751 .LVL30:
+ 752 025c 7F90 pop r7
+ 753 025e 6F90 pop r6
+ 754 0260 0895 ret
+ 755 .LFE81:
+ 797 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 HID.c
+ /tmp/ccYdlTY9.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccYdlTY9.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccYdlTY9.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccYdlTY9.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccYdlTY9.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccYdlTY9.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/ccYdlTY9.s:19 .text.HID_Device_USBTask:0000000000000000 HID_Device_USBTask
+ /tmp/ccYdlTY9.s:279 .text.HID_Device_ConfigureEndpoints:0000000000000000 HID_Device_ConfigureEndpoints
+ /tmp/ccYdlTY9.s:374 .text.HID_Device_ProcessControlRequest:0000000000000000 HID_Device_ProcessControlRequest
+
+UNDEFINED SYMBOLS
+USB_DeviceState
+memset
+CALLBACK_HID_Device_CreateHIDReport
+memcmp
+memcpy
+Endpoint_Write_Stream_LE
+Endpoint_ConfigureEndpoint_Prv
+USB_ControlRequest
+Endpoint_Write_Control_Stream_LE
+Endpoint_Read_Control_Stream_LE
+CALLBACK_HID_Device_ProcessHIDReport
+Endpoint_ClearStatusStage
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/HID.o b/firmware/LUFA/Drivers/USB/Class/Device/HID.o
new file mode 100644
index 0000000..d3f9f75
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/HID.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/MIDI.c b/firmware/LUFA/Drivers/USB/Class/Device/MIDI.c
new file mode 100644
index 0000000..9d2a1a8
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/MIDI.c
@@ -0,0 +1,148 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../../HighLevel/USBMode.h"
+#if defined(USB_CAN_BE_DEVICE)
+
+#define __INCLUDE_FROM_MIDI_DRIVER
+#define __INCLUDE_FROM_MIDI_DEVICE_C
+#include "MIDI.h"
+
+bool MIDI_Device_ConfigureEndpoints(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo)
+{
+ memset(&MIDIInterfaceInfo->State, 0x00, sizeof(MIDIInterfaceInfo->State));
+
+ for (uint8_t EndpointNum = 1; EndpointNum < ENDPOINT_TOTAL_ENDPOINTS; EndpointNum++)
+ {
+ uint16_t Size;
+ uint8_t Type;
+ uint8_t Direction;
+ bool DoubleBanked;
+
+ if (EndpointNum == MIDIInterfaceInfo->Config.DataINEndpointNumber)
+ {
+ Size = MIDIInterfaceInfo->Config.DataINEndpointSize;
+ Direction = ENDPOINT_DIR_IN;
+ Type = EP_TYPE_BULK;
+ DoubleBanked = MIDIInterfaceInfo->Config.DataINEndpointDoubleBank;
+ }
+ else if (EndpointNum == MIDIInterfaceInfo->Config.DataOUTEndpointNumber)
+ {
+ Size = MIDIInterfaceInfo->Config.DataOUTEndpointSize;
+ Direction = ENDPOINT_DIR_OUT;
+ Type = EP_TYPE_BULK;
+ DoubleBanked = MIDIInterfaceInfo->Config.DataOUTEndpointDoubleBank;
+ }
+ else
+ {
+ continue;
+ }
+
+ if (!(Endpoint_ConfigureEndpoint(EndpointNum, Type, Direction, Size,
+ DoubleBanked ? ENDPOINT_BANK_DOUBLE : ENDPOINT_BANK_SINGLE)))
+ {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+void MIDI_Device_USBTask(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo)
+{
+ if (USB_DeviceState != DEVICE_STATE_Configured)
+ return;
+
+ #if !defined(NO_CLASS_DRIVER_AUTOFLUSH)
+ MIDI_Device_Flush(MIDIInterfaceInfo);
+ #endif
+}
+
+uint8_t MIDI_Device_SendEventPacket(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo,
+ const MIDI_EventPacket_t* const Event)
+{
+ if (USB_DeviceState != DEVICE_STATE_Configured)
+ return ENDPOINT_RWSTREAM_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ Endpoint_SelectEndpoint(MIDIInterfaceInfo->Config.DataINEndpointNumber);
+
+ if ((ErrorCode = Endpoint_Write_Stream_LE(Event, sizeof(MIDI_EventPacket_t), NO_STREAM_CALLBACK)) != ENDPOINT_RWSTREAM_NoError)
+ return ErrorCode;
+
+ if (!(Endpoint_IsReadWriteAllowed()))
+ Endpoint_ClearIN();
+
+ return ENDPOINT_RWSTREAM_NoError;
+}
+
+uint8_t MIDI_Device_Flush(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo)
+{
+ if (USB_DeviceState != DEVICE_STATE_Configured)
+ return ENDPOINT_RWSTREAM_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ Endpoint_SelectEndpoint(MIDIInterfaceInfo->Config.DataINEndpointNumber);
+
+ if (Endpoint_BytesInEndpoint())
+ {
+ Endpoint_ClearIN();
+
+ if ((ErrorCode = Endpoint_WaitUntilReady()) != ENDPOINT_READYWAIT_NoError)
+ return ErrorCode;
+ }
+
+ return ENDPOINT_READYWAIT_NoError;
+}
+
+bool MIDI_Device_ReceiveEventPacket(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo,
+ MIDI_EventPacket_t* const Event)
+{
+ if (USB_DeviceState != DEVICE_STATE_Configured)
+ return false;
+
+ Endpoint_SelectEndpoint(MIDIInterfaceInfo->Config.DataOUTEndpointNumber);
+
+ if (!(Endpoint_IsReadWriteAllowed()))
+ return false;
+
+ Endpoint_Read_Stream_LE(Event, sizeof(MIDI_EventPacket_t), NO_STREAM_CALLBACK);
+
+ if (!(Endpoint_IsReadWriteAllowed()))
+ Endpoint_ClearOUT();
+
+ return true;
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/MIDI.h b/firmware/LUFA/Drivers/USB/Class/Device/MIDI.h
new file mode 100644
index 0000000..8ac7146
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/MIDI.h
@@ -0,0 +1,189 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Device mode driver for the library USB MIDI Class driver.
+ *
+ * Device mode driver for the library USB MIDI Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassMIDI
+ * @defgroup Group_USBClassMIDIDevice MIDI Class Device Mode Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Device/MIDI.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Device Mode USB Class driver framework interface, for the MIDI USB Class driver.
+ *
+ * @{
+ */
+
+#ifndef _MIDI_CLASS_DEVICE_H_
+#define _MIDI_CLASS_DEVICE_H_
+
+ /* Includes: */
+ #include "../../USB.h"
+ #include "../Common/MIDI.h"
+
+ #include <string.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_MIDI_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ #if defined(__INCLUDE_FROM_MIDI_DEVICE_C) && defined(NO_STREAM_CALLBACKS)
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Type Define: */
+ /** \brief MIDI Class Device Mode Configuration and State Structure.
+ *
+ * Class state structure. An instance of this structure should be made for each MIDI interface
+ * within the user application, and passed to each of the MIDI class driver functions as the
+ * MIDIInterfaceInfo parameter. This stores each MIDI interface's configuration and state information.
+ */
+ typedef struct
+ {
+ const struct
+ {
+ uint8_t StreamingInterfaceNumber; /**< Index of the Audio Streaming interface within the device this structure controls. */
+
+ uint8_t DataINEndpointNumber; /**< Endpoint number of the incoming MIDI data, if available (zero if unused). */
+ uint16_t DataINEndpointSize; /**< Size in bytes of the incoming MIDI data endpoint, if available (zero if unused). */
+ bool DataINEndpointDoubleBank; /**< Indicates if the MIDI interface's IN data endpoint should use double banking. */
+
+ uint8_t DataOUTEndpointNumber; /**< Endpoint number of the outgoing MIDI data, if available (zero if unused). */
+ uint16_t DataOUTEndpointSize; /**< Size in bytes of the outgoing MIDI data endpoint, if available (zero if unused). */
+ bool DataOUTEndpointDoubleBank; /**< Indicates if the MIDI interface's IN data endpoint should use double banking. */
+ } Config; /**< Config data for the USB class interface within the device. All elements in this section
+ * <b>must</b> be set or the interface will fail to enumerate and operate correctly.
+ */
+ struct
+ {
+ // No state information for this class
+ } State; /**< State data for the USB class interface within the device. All elements in this section
+ * are reset to their defaults when the interface is enumerated.
+ */
+ } USB_ClassInfo_MIDI_Device_t;
+
+ /* Function Prototypes: */
+ /** Configures the endpoints of a given MIDI interface, ready for use. This should be linked to the library
+ * \ref EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration
+ * containing the given MIDI interface is selected.
+ *
+ * \note The endpoint index numbers as given in the interface's configuration structure must not overlap with any other
+ * interface, or endpoint bank corruption will occur. Gaps in the allocated endpoint numbers or non-sequential indexes
+ * within a single interface is allowed, but no two interfaces of any type have have interleaved endpoint indexes.
+ *
+ * \param[in,out] MIDIInterfaceInfo Pointer to a structure containing a MIDI Class configuration and state.
+ *
+ * \return Boolean true if the endpoints were successfully configured, false otherwise.
+ */
+ bool MIDI_Device_ConfigureEndpoints(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** General management task for a given MIDI class interface, required for the correct operation of the interface. This should
+ * be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().
+ *
+ * \param[in,out] MIDIInterfaceInfo Pointer to a structure containing a MIDI Class configuration and state.
+ */
+ void MIDI_Device_USBTask(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Sends a MIDI event packet to the host. If no host is connected, the event packet is discarded. Events are queued into the
+ * endpoint bank until either the endpoint bank is full, or \ref MIDI_Device_Flush() is called. This allows for multiple
+ * MIDI events to be packed into a single endpoint packet, increasing data throughput.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] MIDIInterfaceInfo Pointer to a structure containing a MIDI Class configuration and state.
+ * \param[in] Event Pointer to a populated \ref MIDI_EventPacket_t structure containing the MIDI event to send.
+ *
+ * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t MIDI_Device_SendEventPacket(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo,
+ const MIDI_EventPacket_t* const Event) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+
+ /** Flushes the MIDI send buffer, sending any queued MIDI events to the host. This should be called to override the
+ * \ref MIDI_Device_SendEventPacket() function's packing behaviour, to flush queued events.
+ *
+ * \param[in,out] MIDIInterfaceInfo Pointer to a structure containing a MIDI Class configuration and state.
+ *
+ * \return A value from the \ref Endpoint_WaitUntilReady_ErrorCodes_t enum.
+ */
+ uint8_t MIDI_Device_Flush(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Receives a MIDI event packet from the host. Events are unpacked from the endpoint, thus if the endpoint bank contains
+ * multiple MIDI events from the host in the one packet, multiple calls to this function will return each individual event.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] MIDIInterfaceInfo Pointer to a structure containing a MIDI Class configuration and state.
+ * \param[out] Event Pointer to a USB_MIDI_EventPacket_t structure where the received MIDI event is to be placed.
+ *
+ * \return Boolean true if a MIDI event packet was received, false otherwise.
+ */
+ bool MIDI_Device_ReceiveEventPacket(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo,
+ MIDI_EventPacket_t* const Event) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /* Inline Functions: */
+ /** Processes incoming control requests from the host, that are directed to the given MIDI class interface. This should be
+ * linked to the library \ref EVENT_USB_Device_ControlRequest() event.
+ *
+ * \param[in,out] MIDIInterfaceInfo Pointer to a structure containing a MIDI Class configuration and state.
+ */
+ static inline void MIDI_Device_ProcessControlRequest(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+ static inline void MIDI_Device_ProcessControlRequest(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo)
+ {
+ (void)MIDIInterfaceInfo;
+ }
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/MIDI.lst b/firmware/LUFA/Drivers/USB/Class/Device/MIDI.lst
new file mode 100644
index 0000000..cb878a0
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/MIDI.lst
@@ -0,0 +1,346 @@
+ 1 .file "MIDI.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.MIDI_Device_ReceiveEventPacket,"ax",@progbits
+ 17 .global MIDI_Device_ReceiveEventPacket
+ 19 MIDI_Device_ReceiveEventPacket:
+ 20 .LFB85:
+ 21 .LSM0:
+ 22 .LVL0:
+ 23 /* prologue: function */
+ 24 /* frame size = 0 */
+ 25 0000 FC01 movw r30,r24
+ 26 .LSM1:
+ 27 0002 8091 0000 lds r24,USB_DeviceState
+ 28 .LVL1:
+ 29 0006 8430 cpi r24,lo8(4)
+ 30 0008 01F4 brne .L2
+ 31 .LSM2:
+ 32 000a 8581 ldd r24,Z+5
+ 33 .LBB30:
+ 34 .LBB31:
+ 35 .LSM3:
+ 36 000c 8093 E900 sts 233,r24
+ 37 .LBE31:
+ 38 .LBE30:
+ 39 .LBB32:
+ 40 .LBB33:
+ 41 .LSM4:
+ 42 0010 8091 E800 lds r24,232
+ 43 .LBE33:
+ 44 .LBE32:
+ 45 .LSM5:
+ 46 0014 85FF sbrs r24,5
+ 47 0016 00C0 rjmp .L2
+ 48 .LSM6:
+ 49 0018 CB01 movw r24,r22
+ 50 001a 64E0 ldi r22,lo8(4)
+ 51 001c 70E0 ldi r23,hi8(4)
+ 52 .LVL2:
+ 53 001e 40E0 ldi r20,lo8(0)
+ 54 0020 50E0 ldi r21,hi8(0)
+ 55 0022 0E94 0000 call Endpoint_Read_Stream_LE
+ 56 .LVL3:
+ 57 .LBB34:
+ 58 .LBB35:
+ 59 .LSM7:
+ 60 0026 8091 E800 lds r24,232
+ 61 .LBE35:
+ 62 .LBE34:
+ 63 .LSM8:
+ 64 002a 85FD sbrc r24,5
+ 65 002c 00C0 rjmp .L6
+ 66 .L3:
+ 67 .LBB36:
+ 68 .LBB37:
+ 69 .LSM9:
+ 70 002e 8091 E800 lds r24,232
+ 71 0032 8B77 andi r24,lo8(123)
+ 72 0034 8093 E800 sts 232,r24
+ 73 .L6:
+ 74 0038 81E0 ldi r24,lo8(1)
+ 75 003a 0895 ret
+ 76 .LVL4:
+ 77 .L2:
+ 78 003c 80E0 ldi r24,lo8(0)
+ 79 .LBE37:
+ 80 .LBE36:
+ 81 .LSM10:
+ 82 003e 0895 ret
+ 83 .LFE85:
+ 85 .section .text.MIDI_Device_Flush,"ax",@progbits
+ 86 .global MIDI_Device_Flush
+ 88 MIDI_Device_Flush:
+ 89 .LFB84:
+ 90 .LSM11:
+ 91 .LVL5:
+ 92 /* prologue: function */
+ 93 /* frame size = 0 */
+ 94 0000 FC01 movw r30,r24
+ 95 .LSM12:
+ 96 0002 8091 0000 lds r24,USB_DeviceState
+ 97 .LVL6:
+ 98 0006 8430 cpi r24,lo8(4)
+ 99 0008 01F0 breq .L8
+ 100 000a 82E0 ldi r24,lo8(2)
+ 101 .LVL7:
+ 102 000c 0895 ret
+ 103 .LVL8:
+ 104 .L8:
+ 105 .LSM13:
+ 106 000e 8181 ldd r24,Z+1
+ 107 .LBB38:
+ 108 .LBB39:
+ 109 .LSM14:
+ 110 0010 8093 E900 sts 233,r24
+ 111 .LBE39:
+ 112 .LBE38:
+ 113 .LBB40:
+ 114 .LBB41:
+ 115 .LSM15:
+ 116 0014 8091 F200 lds r24,242
+ 117 .LBE41:
+ 118 .LBE40:
+ 119 .LSM16:
+ 120 0018 8823 tst r24
+ 121 001a 01F0 breq .L9
+ 122 .LBB42:
+ 123 .LBB43:
+ 124 .LSM17:
+ 125 001c 8091 E800 lds r24,232
+ 126 0020 8E77 andi r24,lo8(126)
+ 127 0022 8093 E800 sts 232,r24
+ 128 .LBE43:
+ 129 .LBE42:
+ 130 .LSM18:
+ 131 0026 0E94 0000 call Endpoint_WaitUntilReady
+ 132 .LVL9:
+ 133 .L9:
+ 134 .LSM19:
+ 135 002a 0895 ret
+ 136 .LFE84:
+ 138 .section .text.MIDI_Device_USBTask,"ax",@progbits
+ 139 .global MIDI_Device_USBTask
+ 141 MIDI_Device_USBTask:
+ 142 .LFB82:
+ 143 .LSM20:
+ 144 .LVL10:
+ 145 /* prologue: function */
+ 146 /* frame size = 0 */
+ 147 0000 9C01 movw r18,r24
+ 148 .LSM21:
+ 149 0002 8091 0000 lds r24,USB_DeviceState
+ 150 .LVL11:
+ 151 0006 8430 cpi r24,lo8(4)
+ 152 0008 01F4 brne .L14
+ 153 .LSM22:
+ 154 000a C901 movw r24,r18
+ 155 000c 0E94 0000 call MIDI_Device_Flush
+ 156 .LVL12:
+ 157 .L14:
+ 158 0010 0895 ret
+ 159 .LFE82:
+ 161 .section .text.MIDI_Device_SendEventPacket,"ax",@progbits
+ 162 .global MIDI_Device_SendEventPacket
+ 164 MIDI_Device_SendEventPacket:
+ 165 .LFB83:
+ 166 .LSM23:
+ 167 .LVL13:
+ 168 /* prologue: function */
+ 169 /* frame size = 0 */
+ 170 0000 FC01 movw r30,r24
+ 171 .LSM24:
+ 172 0002 8091 0000 lds r24,USB_DeviceState
+ 173 .LVL14:
+ 174 0006 8430 cpi r24,lo8(4)
+ 175 0008 01F0 breq .L16
+ 176 000a 92E0 ldi r25,lo8(2)
+ 177 .LVL15:
+ 178 000c 00C0 rjmp .L17
+ 179 .LVL16:
+ 180 .L16:
+ 181 .LSM25:
+ 182 000e 8181 ldd r24,Z+1
+ 183 .LBB44:
+ 184 .LBB45:
+ 185 .LSM26:
+ 186 0010 8093 E900 sts 233,r24
+ 187 .LBE45:
+ 188 .LBE44:
+ 189 .LSM27:
+ 190 0014 CB01 movw r24,r22
+ 191 0016 64E0 ldi r22,lo8(4)
+ 192 0018 70E0 ldi r23,hi8(4)
+ 193 .LVL17:
+ 194 001a 40E0 ldi r20,lo8(0)
+ 195 001c 50E0 ldi r21,hi8(0)
+ 196 001e 0E94 0000 call Endpoint_Write_Stream_LE
+ 197 .LVL18:
+ 198 0022 982F mov r25,r24
+ 199 .LVL19:
+ 200 0024 8823 tst r24
+ 201 0026 01F4 brne .L17
+ 202 .LVL20:
+ 203 .LBB46:
+ 204 .LBB47:
+ 205 .LSM28:
+ 206 0028 8091 E800 lds r24,232
+ 207 .LVL21:
+ 208 .LBE47:
+ 209 .LBE46:
+ 210 .LSM29:
+ 211 002c 85FD sbrc r24,5
+ 212 002e 00C0 rjmp .L17
+ 213 .LBB48:
+ 214 .LBB49:
+ 215 .LSM30:
+ 216 0030 8091 E800 lds r24,232
+ 217 0034 8E77 andi r24,lo8(126)
+ 218 0036 8093 E800 sts 232,r24
+ 219 .LVL22:
+ 220 .L17:
+ 221 .LBE49:
+ 222 .LBE48:
+ 223 .LSM31:
+ 224 003a 892F mov r24,r25
+ 225 /* epilogue start */
+ 226 003c 0895 ret
+ 227 .LFE83:
+ 229 .section .text.MIDI_Device_ConfigureEndpoints,"ax",@progbits
+ 230 .global MIDI_Device_ConfigureEndpoints
+ 232 MIDI_Device_ConfigureEndpoints:
+ 233 .LFB81:
+ 234 .LSM32:
+ 235 .LVL23:
+ 236 0000 1F93 push r17
+ 237 0002 CF93 push r28
+ 238 0004 DF93 push r29
+ 239 /* prologue: function */
+ 240 /* frame size = 0 */
+ 241 0006 EC01 movw r28,r24
+ 242 .LSM33:
+ 243 0008 11E0 ldi r17,lo8(1)
+ 244 .LVL24:
+ 245 .L28:
+ 246 .LBB50:
+ 247 .LBB51:
+ 248 .LSM34:
+ 249 000a 8981 ldd r24,Y+1
+ 250 000c 1817 cp r17,r24
+ 251 000e 01F4 brne .L20
+ 252 .LSM35:
+ 253 0010 EA81 ldd r30,Y+2
+ 254 0012 FB81 ldd r31,Y+3
+ 255 .LVL25:
+ 256 .LSM36:
+ 257 0014 8C81 ldd r24,Y+4
+ 258 .LVL26:
+ 259 0016 61E0 ldi r22,lo8(1)
+ 260 .LVL27:
+ 261 0018 00C0 rjmp .L21
+ 262 .LVL28:
+ 263 .L20:
+ 264 .LSM37:
+ 265 001a 8D81 ldd r24,Y+5
+ 266 001c 1817 cp r17,r24
+ 267 001e 01F4 brne .L22
+ 268 .LSM38:
+ 269 0020 EE81 ldd r30,Y+6
+ 270 0022 FF81 ldd r31,Y+7
+ 271 .LVL29:
+ 272 .LSM39:
+ 273 0024 8885 ldd r24,Y+8
+ 274 .LVL30:
+ 275 0026 60E0 ldi r22,lo8(0)
+ 276 .LVL31:
+ 277 .L21:
+ 278 .LSM40:
+ 279 0028 8823 tst r24
+ 280 002a 01F4 brne .L23
+ 281 002c 40E0 ldi r20,lo8(0)
+ 282 002e 00C0 rjmp .L24
+ 283 .L23:
+ 284 0030 44E0 ldi r20,lo8(4)
+ 285 .L24:
+ 286 0032 20E0 ldi r18,lo8(0)
+ 287 .LVL32:
+ 288 0034 88E0 ldi r24,lo8(8)
+ 289 0036 90E0 ldi r25,hi8(8)
+ 290 .LVL33:
+ 291 0038 00C0 rjmp .L25
+ 292 .L26:
+ 293 .LBB52:
+ 294 .LBB53:
+ 295 .LBB54:
+ 296 .LBB55:
+ 297 .LSM41:
+ 298 003a 2F5F subi r18,lo8(-(1))
+ 299 .LSM42:
+ 300 003c 880F lsl r24
+ 301 003e 991F rol r25
+ 302 .L25:
+ 303 .LSM43:
+ 304 0040 8E17 cp r24,r30
+ 305 0042 9F07 cpc r25,r31
+ 306 0044 00F0 brlo .L26
+ 307 .LBE55:
+ 308 .LBE54:
+ 309 .LBE53:
+ 310 .LSM44:
+ 311 0046 6068 ori r22,lo8(-128)
+ 312 0048 4260 ori r20,lo8(2)
+ 313 004a 2295 swap r18
+ 314 004c 207F andi r18,lo8(-16)
+ 315 004e 422B or r20,r18
+ 316 0050 812F mov r24,r17
+ 317 .LVL34:
+ 318 0052 0E94 0000 call Endpoint_ConfigureEndpoint_Prv
+ 319 .LVL35:
+ 320 .LBE52:
+ 321 .LSM45:
+ 322 0056 8823 tst r24
+ 323 0058 01F0 breq .L27
+ 324 .L22:
+ 325 .LBE51:
+ 326 .LSM46:
+ 327 005a 1F5F subi r17,lo8(-(1))
+ 328 005c 1530 cpi r17,lo8(5)
+ 329 005e 01F4 brne .L28
+ 330 0060 81E0 ldi r24,lo8(1)
+ 331 .L27:
+ 332 /* epilogue start */
+ 333 .LBE50:
+ 334 .LSM47:
+ 335 0062 DF91 pop r29
+ 336 0064 CF91 pop r28
+ 337 .LVL36:
+ 338 0066 1F91 pop r17
+ 339 .LVL37:
+ 340 0068 0895 ret
+ 341 .LFE81:
+ 399 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 MIDI.c
+ /tmp/cc3Ze3Jq.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/cc3Ze3Jq.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/cc3Ze3Jq.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/cc3Ze3Jq.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/cc3Ze3Jq.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/cc3Ze3Jq.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/cc3Ze3Jq.s:19 .text.MIDI_Device_ReceiveEventPacket:0000000000000000 MIDI_Device_ReceiveEventPacket
+ /tmp/cc3Ze3Jq.s:88 .text.MIDI_Device_Flush:0000000000000000 MIDI_Device_Flush
+ /tmp/cc3Ze3Jq.s:141 .text.MIDI_Device_USBTask:0000000000000000 MIDI_Device_USBTask
+ /tmp/cc3Ze3Jq.s:164 .text.MIDI_Device_SendEventPacket:0000000000000000 MIDI_Device_SendEventPacket
+ /tmp/cc3Ze3Jq.s:232 .text.MIDI_Device_ConfigureEndpoints:0000000000000000 MIDI_Device_ConfigureEndpoints
+
+UNDEFINED SYMBOLS
+USB_DeviceState
+Endpoint_Read_Stream_LE
+Endpoint_WaitUntilReady
+Endpoint_Write_Stream_LE
+Endpoint_ConfigureEndpoint_Prv
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/MIDI.o b/firmware/LUFA/Drivers/USB/Class/Device/MIDI.o
new file mode 100644
index 0000000..80100ad
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/MIDI.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/MassStorage.c b/firmware/LUFA/Drivers/USB/Class/Device/MassStorage.c
new file mode 100644
index 0000000..64d61df
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/MassStorage.c
@@ -0,0 +1,247 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../../HighLevel/USBMode.h"
+#if defined(USB_CAN_BE_DEVICE)
+
+#define __INCLUDE_FROM_MS_DRIVER
+#define __INCLUDE_FROM_MASSSTORAGE_DEVICE_C
+#include "MassStorage.h"
+
+static volatile bool* CallbackIsResetSource;
+
+void MS_Device_ProcessControlRequest(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
+{
+ if (!(Endpoint_IsSETUPReceived()))
+ return;
+
+ if (USB_ControlRequest.wIndex != MSInterfaceInfo->Config.InterfaceNumber)
+ return;
+
+ switch (USB_ControlRequest.bRequest)
+ {
+ case MS_REQ_MassStorageReset:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_ClearStatusStage();
+
+ MSInterfaceInfo->State.IsMassStoreReset = true;
+ }
+
+ break;
+ case MS_REQ_GetMaxLUN:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_Write_Byte(MSInterfaceInfo->Config.TotalLUNs - 1);
+ Endpoint_ClearIN();
+ Endpoint_ClearStatusStage();
+ }
+
+ break;
+ }
+}
+
+bool MS_Device_ConfigureEndpoints(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
+{
+ memset(&MSInterfaceInfo->State, 0x00, sizeof(MSInterfaceInfo->State));
+
+ for (uint8_t EndpointNum = 1; EndpointNum < ENDPOINT_TOTAL_ENDPOINTS; EndpointNum++)
+ {
+ uint16_t Size;
+ uint8_t Type;
+ uint8_t Direction;
+ bool DoubleBanked;
+
+ if (EndpointNum == MSInterfaceInfo->Config.DataINEndpointNumber)
+ {
+ Size = MSInterfaceInfo->Config.DataINEndpointSize;
+ Direction = ENDPOINT_DIR_IN;
+ Type = EP_TYPE_BULK;
+ DoubleBanked = MSInterfaceInfo->Config.DataINEndpointDoubleBank;
+ }
+ else if (EndpointNum == MSInterfaceInfo->Config.DataOUTEndpointNumber)
+ {
+ Size = MSInterfaceInfo->Config.DataOUTEndpointSize;
+ Direction = ENDPOINT_DIR_OUT;
+ Type = EP_TYPE_BULK;
+ DoubleBanked = MSInterfaceInfo->Config.DataOUTEndpointDoubleBank;
+ }
+ else
+ {
+ continue;
+ }
+
+ if (!(Endpoint_ConfigureEndpoint(EndpointNum, Type, Direction, Size,
+ DoubleBanked ? ENDPOINT_BANK_DOUBLE : ENDPOINT_BANK_SINGLE)))
+ {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+void MS_Device_USBTask(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
+{
+ if (USB_DeviceState != DEVICE_STATE_Configured)
+ return;
+
+ Endpoint_SelectEndpoint(MSInterfaceInfo->Config.DataOUTEndpointNumber);
+
+ if (Endpoint_IsReadWriteAllowed())
+ {
+ if (MS_Device_ReadInCommandBlock(MSInterfaceInfo))
+ {
+ if (MSInterfaceInfo->State.CommandBlock.Flags & MS_COMMAND_DIR_DATA_IN)
+ Endpoint_SelectEndpoint(MSInterfaceInfo->Config.DataINEndpointNumber);
+
+ MSInterfaceInfo->State.CommandStatus.Status = CALLBACK_MS_Device_SCSICommandReceived(MSInterfaceInfo) ?
+ MS_SCSI_COMMAND_Pass : MS_SCSI_COMMAND_Fail;
+ MSInterfaceInfo->State.CommandStatus.Signature = MS_CSW_SIGNATURE;
+ MSInterfaceInfo->State.CommandStatus.Tag = MSInterfaceInfo->State.CommandBlock.Tag;
+ MSInterfaceInfo->State.CommandStatus.DataTransferResidue = MSInterfaceInfo->State.CommandBlock.DataTransferLength;
+
+ if ((MSInterfaceInfo->State.CommandStatus.Status == MS_SCSI_COMMAND_Fail) &&
+ (MSInterfaceInfo->State.CommandStatus.DataTransferResidue))
+ {
+ Endpoint_StallTransaction();
+ }
+
+ MS_Device_ReturnCommandStatus(MSInterfaceInfo);
+ }
+ }
+
+ if (MSInterfaceInfo->State.IsMassStoreReset)
+ {
+ Endpoint_ResetFIFO(MSInterfaceInfo->Config.DataOUTEndpointNumber);
+ Endpoint_ResetFIFO(MSInterfaceInfo->Config.DataINEndpointNumber);
+
+ Endpoint_SelectEndpoint(MSInterfaceInfo->Config.DataOUTEndpointNumber);
+ Endpoint_ClearStall();
+ Endpoint_ResetDataToggle();
+ Endpoint_SelectEndpoint(MSInterfaceInfo->Config.DataINEndpointNumber);
+ Endpoint_ClearStall();
+ Endpoint_ResetDataToggle();
+
+ MSInterfaceInfo->State.IsMassStoreReset = false;
+ }
+}
+
+static bool MS_Device_ReadInCommandBlock(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
+{
+ Endpoint_SelectEndpoint(MSInterfaceInfo->Config.DataOUTEndpointNumber);
+
+ CallbackIsResetSource = &MSInterfaceInfo->State.IsMassStoreReset;
+ if (Endpoint_Read_Stream_LE(&MSInterfaceInfo->State.CommandBlock,
+ (sizeof(MS_CommandBlockWrapper_t) - 16),
+ StreamCallback_MS_Device_AbortOnMassStoreReset))
+ {
+ return false;
+ }
+
+ if ((MSInterfaceInfo->State.CommandBlock.Signature != MS_CBW_SIGNATURE) ||
+ (MSInterfaceInfo->State.CommandBlock.LUN >= MSInterfaceInfo->Config.TotalLUNs) ||
+ (MSInterfaceInfo->State.CommandBlock.Flags & 0x1F) ||
+ (MSInterfaceInfo->State.CommandBlock.SCSICommandLength == 0) ||
+ (MSInterfaceInfo->State.CommandBlock.SCSICommandLength > 16))
+ {
+ Endpoint_StallTransaction();
+ Endpoint_SelectEndpoint(MSInterfaceInfo->Config.DataINEndpointNumber);
+ Endpoint_StallTransaction();
+
+ return false;
+ }
+
+ CallbackIsResetSource = &MSInterfaceInfo->State.IsMassStoreReset;
+ if (Endpoint_Read_Stream_LE(&MSInterfaceInfo->State.CommandBlock.SCSICommandData,
+ MSInterfaceInfo->State.CommandBlock.SCSICommandLength,
+ StreamCallback_MS_Device_AbortOnMassStoreReset))
+ {
+ return false;
+ }
+
+ Endpoint_ClearOUT();
+
+ return true;
+}
+
+static void MS_Device_ReturnCommandStatus(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
+{
+ Endpoint_SelectEndpoint(MSInterfaceInfo->Config.DataOUTEndpointNumber);
+
+ while (Endpoint_IsStalled())
+ {
+ #if !defined(INTERRUPT_CONTROL_ENDPOINT)
+ USB_USBTask();
+ #endif
+
+ if (MSInterfaceInfo->State.IsMassStoreReset)
+ return;
+ }
+
+ Endpoint_SelectEndpoint(MSInterfaceInfo->Config.DataINEndpointNumber);
+
+ while (Endpoint_IsStalled())
+ {
+ #if !defined(INTERRUPT_CONTROL_ENDPOINT)
+ USB_USBTask();
+ #endif
+
+ if (MSInterfaceInfo->State.IsMassStoreReset)
+ return;
+ }
+
+ CallbackIsResetSource = &MSInterfaceInfo->State.IsMassStoreReset;
+ if (Endpoint_Write_Stream_LE(&MSInterfaceInfo->State.CommandStatus, sizeof(MS_CommandStatusWrapper_t),
+ StreamCallback_MS_Device_AbortOnMassStoreReset))
+ {
+ return;
+ }
+
+ Endpoint_ClearIN();
+}
+
+static uint8_t StreamCallback_MS_Device_AbortOnMassStoreReset(void)
+{
+ #if !defined(INTERRUPT_CONTROL_ENDPOINT)
+ USB_USBTask();
+ #endif
+
+ if (*CallbackIsResetSource)
+ return STREAMCALLBACK_Abort;
+ else
+ return STREAMCALLBACK_Continue;
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/MassStorage.h b/firmware/LUFA/Drivers/USB/Class/Device/MassStorage.h
new file mode 100644
index 0000000..31d3ba9
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/MassStorage.h
@@ -0,0 +1,177 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Device mode driver for the library USB Mass Storage Class driver.
+ *
+ * Device mode driver for the library USB Mass Storage Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassMS
+ * @defgroup Group_USBClassMSDevice Mass Storage Class Device Mode Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Device/MassStorage.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Device Mode USB Class driver framework interface, for the Mass Storage USB Class driver.
+ *
+ * @{
+ */
+
+#ifndef _MS_CLASS_DEVICE_H_
+#define _MS_CLASS_DEVICE_H_
+
+ /* Includes: */
+ #include "../../USB.h"
+ #include "../Common/MassStorage.h"
+
+ #include <string.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_MS_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ #if defined(__INCLUDE_FROM_MASSSTORAGE_DEVICE_C) && defined(NO_STREAM_CALLBACKS)
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Type Defines: */
+ /** \brief Mass Storage Class Device Mode Configuration and State Structure.
+ *
+ * Class state structure. An instance of this structure should be made for each Mass Storage interface
+ * within the user application, and passed to each of the Mass Storage class driver functions as the
+ * MSInterfaceInfo parameter. This stores each Mass Storage interface's configuration and state information.
+ */
+ typedef struct
+ {
+ const struct
+ {
+ uint8_t InterfaceNumber; /**< Interface number of the Mass Storage interface within the device. */
+
+ uint8_t DataINEndpointNumber; /**< Endpoint number of the Mass Storage interface's IN data endpoint. */
+ uint16_t DataINEndpointSize; /**< Size in bytes of the Mass Storage interface's IN data endpoint. */
+ bool DataINEndpointDoubleBank; /**< Indicates if the Mass Storage interface's IN data endpoint should use double banking. */
+
+ uint8_t DataOUTEndpointNumber; /**< Endpoint number of the Mass Storage interface's OUT data endpoint. */
+ uint16_t DataOUTEndpointSize; /**< Size in bytes of the Mass Storage interface's OUT data endpoint. */
+ bool DataOUTEndpointDoubleBank; /**< Indicates if the Mass Storage interface's OUT data endpoint should use double banking. */
+
+ uint8_t TotalLUNs; /**< Total number of logical drives in the Mass Storage interface. */
+ } Config; /**< Config data for the USB class interface within the device. All elements in this section
+ * <b>must</b> be set or the interface will fail to enumerate and operate correctly.
+ */
+ struct
+ {
+ MS_CommandBlockWrapper_t CommandBlock; /**< Mass Storage class command block structure, stores the received SCSI
+ * command from the host which is to be processed.
+ */
+ MS_CommandStatusWrapper_t CommandStatus; /**< Mass Storage class command status structure, set elements to indicate
+ * the issued command's success or failure to the host.
+ */
+ volatile bool IsMassStoreReset; /**< Flag indicating that the host has requested that the Mass Storage interface be reset
+ * and that all current Mass Storage operations should immediately abort.
+ */
+ } State; /**< State data for the USB class interface within the device. All elements in this section
+ * are reset to their defaults when the interface is enumerated.
+ */
+ } USB_ClassInfo_MS_Device_t;
+
+ /* Function Prototypes: */
+ /** Configures the endpoints of a given Mass Storage interface, ready for use. This should be linked to the library
+ * \ref EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration
+ * containing the given Mass Storage interface is selected.
+ *
+ * \note The endpoint index numbers as given in the interface's configuration structure must not overlap with any other
+ * interface, or endpoint bank corruption will occur. Gaps in the allocated endpoint numbers or non-sequential indexes
+ * within a single interface is allowed, but no two interfaces of any type have have interleaved endpoint indexes.
+ *
+ * \param[in,out] MSInterfaceInfo Pointer to a structure containing a Mass Storage Class configuration and state.
+ *
+ * \return Boolean true if the endpoints were successfully configured, false otherwise.
+ */
+ bool MS_Device_ConfigureEndpoints(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Processes incoming control requests from the host, that are directed to the given Mass Storage class interface. This should be
+ * linked to the library \ref EVENT_USB_Device_ControlRequest() event.
+ *
+ * \param[in,out] MSInterfaceInfo Pointer to a structure containing a Mass Storage Class configuration and state.
+ */
+ void MS_Device_ProcessControlRequest(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** General management task for a given Mass Storage class interface, required for the correct operation of the interface. This should
+ * be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().
+ *
+ * \param[in,out] MSInterfaceInfo Pointer to a structure containing a Mass Storage configuration and state.
+ */
+ void MS_Device_USBTask(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Mass Storage class driver callback for the user processing of a received SCSI command. This callback will fire each time the
+ * host sends a SCSI command which requires processing by the user application. Inside this callback the user is responsible
+ * for the processing of the received SCSI command from the host. The SCSI command is available in the CommandBlock structure
+ * inside the Mass Storage class state structure passed as a parameter to the callback function.
+ *
+ * \param[in,out] MSInterfaceInfo Pointer to a structure containing a Mass Storage Class configuration and state.
+ *
+ * \return Boolean true if the SCSI command was successfully processed, false otherwise.
+ */
+ bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Function Prototypes: */
+ #if defined(__INCLUDE_FROM_MASSSTORAGE_DEVICE_C)
+ static void MS_Device_ReturnCommandStatus(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+ static bool MS_Device_ReadInCommandBlock(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+ static uint8_t StreamCallback_MS_Device_AbortOnMassStoreReset(void);
+ #endif
+
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/MassStorage.lst b/firmware/LUFA/Drivers/USB/Class/Device/MassStorage.lst
new file mode 100644
index 0000000..12dc787
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/MassStorage.lst
@@ -0,0 +1,643 @@
+ 1 .file "MassStorage.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.StreamCallback_MS_Device_AbortOnMassStoreReset,"ax",@progbits
+ 18 StreamCallback_MS_Device_AbortOnMassStoreReset:
+ 19 .LFB86:
+ 20 .LSM0:
+ 21 /* prologue: function */
+ 22 /* frame size = 0 */
+ 23 .LSM1:
+ 24 0000 0E94 0000 call USB_USBTask
+ 25 .LSM2:
+ 26 0004 E091 0000 lds r30,CallbackIsResetSource
+ 27 0008 F091 0000 lds r31,(CallbackIsResetSource)+1
+ 28 000c 8081 ld r24,Z
+ 29 /* epilogue start */
+ 30 .LSM3:
+ 31 000e 0895 ret
+ 32 .LFE86:
+ 34 .section .text.MS_Device_USBTask,"ax",@progbits
+ 35 .global MS_Device_USBTask
+ 37 MS_Device_USBTask:
+ 38 .LFB83:
+ 39 .LSM4:
+ 40 .LVL0:
+ 41 0000 0F93 push r16
+ 42 0002 1F93 push r17
+ 43 0004 CF93 push r28
+ 44 0006 DF93 push r29
+ 45 /* prologue: function */
+ 46 /* frame size = 0 */
+ 47 0008 EC01 movw r28,r24
+ 48 .LSM5:
+ 49 000a 8091 0000 lds r24,USB_DeviceState
+ 50 .LVL1:
+ 51 000e 8430 cpi r24,lo8(4)
+ 52 0010 01F0 breq .+2
+ 53 0012 00C0 rjmp .L14
+ 54 .LSM6:
+ 55 0014 9D81 ldd r25,Y+5
+ 56 .LBB112:
+ 57 .LBB113:
+ 58 .LSM7:
+ 59 0016 9093 E900 sts 233,r25
+ 60 .LBE113:
+ 61 .LBE112:
+ 62 .LBB114:
+ 63 .LBB115:
+ 64 .LSM8:
+ 65 001a 8091 E800 lds r24,232
+ 66 .LBE115:
+ 67 .LBE114:
+ 68 .LSM9:
+ 69 001e 85FF sbrs r24,5
+ 70 0020 00C0 rjmp .L5
+ 71 .LBB116:
+ 72 .LBB117:
+ 73 .LBB124:
+ 74 .LBB125:
+ 75 .LSM10:
+ 76 0022 9093 E900 sts 233,r25
+ 77 .LBE125:
+ 78 .LBE124:
+ 79 .LSM11:
+ 80 0026 8E01 movw r16,r28
+ 81 0028 0A5C subi r16,lo8(-(54))
+ 82 002a 1F4F sbci r17,hi8(-(54))
+ 83 002c 1093 0000 sts (CallbackIsResetSource)+1,r17
+ 84 0030 0093 0000 sts CallbackIsResetSource,r16
+ 85 .LBE117:
+ 86 .LSM12:
+ 87 0034 CE01 movw r24,r28
+ 88 0036 0A96 adiw r24,10
+ 89 0038 6FE0 ldi r22,lo8(15)
+ 90 003a 70E0 ldi r23,hi8(15)
+ 91 003c 40E0 ldi r20,lo8(gs(StreamCallback_MS_Device_AbortOnMassStoreReset))
+ 92 003e 50E0 ldi r21,hi8(gs(StreamCallback_MS_Device_AbortOnMassStoreReset))
+ 93 0040 0E94 0000 call Endpoint_Read_Stream_LE
+ 94 .LBB128:
+ 95 0044 8823 tst r24
+ 96 0046 01F0 breq .+2
+ 97 0048 00C0 rjmp .L5
+ 98 .LSM13:
+ 99 004a 8A85 ldd r24,Y+10
+ 100 004c 9B85 ldd r25,Y+11
+ 101 004e AC85 ldd r26,Y+12
+ 102 0050 BD85 ldd r27,Y+13
+ 103 0052 8555 subi r24,lo8(1128420181)
+ 104 0054 9345 sbci r25,hi8(1128420181)
+ 105 0056 A244 sbci r26,hlo8(1128420181)
+ 106 0058 B344 sbci r27,hhi8(1128420181)
+ 107 005a 01F4 brne .L6
+ 108 005c 9F89 ldd r25,Y+23
+ 109 005e 8985 ldd r24,Y+9
+ 110 0060 9817 cp r25,r24
+ 111 0062 00F4 brsh .L6
+ 112 0064 8E89 ldd r24,Y+22
+ 113 0066 90E0 ldi r25,lo8(0)
+ 114 0068 8F71 andi r24,lo8(31)
+ 115 006a 9070 andi r25,hi8(31)
+ 116 006c 892B or r24,r25
+ 117 006e 01F4 brne .L6
+ 118 0070 688D ldd r22,Y+24
+ 119 0072 6623 tst r22
+ 120 0074 01F0 breq .L6
+ 121 0076 6131 cpi r22,lo8(17)
+ 122 0078 00F0 brlo .L7
+ 123 .L6:
+ 124 .LBB122:
+ 125 .LBB123:
+ 126 .LSM14:
+ 127 007a 8091 EB00 lds r24,235
+ 128 007e 8062 ori r24,lo8(32)
+ 129 0080 8093 EB00 sts 235,r24
+ 130 .LBE123:
+ 131 .LBE122:
+ 132 .LSM15:
+ 133 0084 8981 ldd r24,Y+1
+ 134 .LBB120:
+ 135 .LBB121:
+ 136 .LSM16:
+ 137 0086 8093 E900 sts 233,r24
+ 138 .LBE121:
+ 139 .LBE120:
+ 140 .LBB118:
+ 141 .LBB119:
+ 142 .LSM17:
+ 143 008a 8091 EB00 lds r24,235
+ 144 008e 8062 ori r24,lo8(32)
+ 145 0090 8093 EB00 sts 235,r24
+ 146 0094 00C0 rjmp .L5
+ 147 .L7:
+ 148 .LBE119:
+ 149 .LBE118:
+ 150 .LSM18:
+ 151 0096 1093 0000 sts (CallbackIsResetSource)+1,r17
+ 152 009a 0093 0000 sts CallbackIsResetSource,r16
+ 153 .LBE128:
+ 154 .LSM19:
+ 155 009e CE01 movw r24,r28
+ 156 00a0 4996 adiw r24,25
+ 157 00a2 70E0 ldi r23,lo8(0)
+ 158 00a4 40E0 ldi r20,lo8(gs(StreamCallback_MS_Device_AbortOnMassStoreReset))
+ 159 00a6 50E0 ldi r21,hi8(gs(StreamCallback_MS_Device_AbortOnMassStoreReset))
+ 160 00a8 0E94 0000 call Endpoint_Read_Stream_LE
+ 161 .LBB129:
+ 162 00ac 8823 tst r24
+ 163 00ae 01F0 breq .+2
+ 164 00b0 00C0 rjmp .L5
+ 165 .LBB126:
+ 166 .LBB127:
+ 167 .LSM20:
+ 168 00b2 8091 E800 lds r24,232
+ 169 00b6 8B77 andi r24,lo8(123)
+ 170 00b8 8093 E800 sts 232,r24
+ 171 .LBE127:
+ 172 .LBE126:
+ 173 .LBE129:
+ 174 .LBE116:
+ 175 .LSM21:
+ 176 00bc 8E89 ldd r24,Y+22
+ 177 00be 87FF sbrs r24,7
+ 178 00c0 00C0 rjmp .L8
+ 179 .LSM22:
+ 180 00c2 8981 ldd r24,Y+1
+ 181 .LBB130:
+ 182 .LBB131:
+ 183 .LSM23:
+ 184 00c4 8093 E900 sts 233,r24
+ 185 .L8:
+ 186 .LBE131:
+ 187 .LBE130:
+ 188 .LSM24:
+ 189 00c8 CE01 movw r24,r28
+ 190 00ca 0E94 0000 call CALLBACK_MS_Device_SCSICommandReceived
+ 191 00ce 91E0 ldi r25,lo8(1)
+ 192 00d0 9827 eor r25,r24
+ 193 00d2 9DAB std Y+53,r25
+ 194 .LSM25:
+ 195 00d4 25E5 ldi r18,lo8(1396855637)
+ 196 00d6 33E5 ldi r19,hi8(1396855637)
+ 197 00d8 42E4 ldi r20,hlo8(1396855637)
+ 198 00da 53E5 ldi r21,hhi8(1396855637)
+ 199 00dc 29A7 std Y+41,r18
+ 200 00de 3AA7 std Y+42,r19
+ 201 00e0 4BA7 std Y+43,r20
+ 202 00e2 5CA7 std Y+44,r21
+ 203 .LSM26:
+ 204 00e4 2E85 ldd r18,Y+14
+ 205 00e6 3F85 ldd r19,Y+15
+ 206 00e8 4889 ldd r20,Y+16
+ 207 00ea 5989 ldd r21,Y+17
+ 208 00ec 2DA7 std Y+45,r18
+ 209 00ee 3EA7 std Y+46,r19
+ 210 00f0 4FA7 std Y+47,r20
+ 211 00f2 58AB std Y+48,r21
+ 212 .LSM27:
+ 213 00f4 2A89 ldd r18,Y+18
+ 214 00f6 3B89 ldd r19,Y+19
+ 215 00f8 4C89 ldd r20,Y+20
+ 216 00fa 5D89 ldd r21,Y+21
+ 217 00fc 29AB std Y+49,r18
+ 218 00fe 3AAB std Y+50,r19
+ 219 0100 4BAB std Y+51,r20
+ 220 0102 5CAB std Y+52,r21
+ 221 .LSM28:
+ 222 0104 9130 cpi r25,lo8(1)
+ 223 0106 01F4 brne .L9
+ 224 0108 2115 cp r18,__zero_reg__
+ 225 010a 3105 cpc r19,__zero_reg__
+ 226 010c 4105 cpc r20,__zero_reg__
+ 227 010e 5105 cpc r21,__zero_reg__
+ 228 0110 01F0 breq .L9
+ 229 .LBB132:
+ 230 .LBB133:
+ 231 .LSM29:
+ 232 0112 8091 EB00 lds r24,235
+ 233 0116 8062 ori r24,lo8(32)
+ 234 0118 8093 EB00 sts 235,r24
+ 235 .L9:
+ 236 .LBE133:
+ 237 .LBE132:
+ 238 .LBB134:
+ 239 .LBB135:
+ 240 .LSM30:
+ 241 011c 8D81 ldd r24,Y+5
+ 242 .LBB142:
+ 243 .LBB143:
+ 244 .LSM31:
+ 245 011e 8093 E900 sts 233,r24
+ 246 0122 00C0 rjmp .L10
+ 247 .L11:
+ 248 .LBE143:
+ 249 .LBE142:
+ 250 .LSM32:
+ 251 0124 0E94 0000 call USB_USBTask
+ 252 .LSM33:
+ 253 0128 8EA9 ldd r24,Y+54
+ 254 012a 8823 tst r24
+ 255 012c 01F4 brne .L5
+ 256 .L10:
+ 257 .LBB140:
+ 258 .LBB141:
+ 259 .LSM34:
+ 260 012e 8091 EB00 lds r24,235
+ 261 .LBE141:
+ 262 .LBE140:
+ 263 .LSM35:
+ 264 0132 85FD sbrc r24,5
+ 265 0134 00C0 rjmp .L11
+ 266 .LSM36:
+ 267 0136 8981 ldd r24,Y+1
+ 268 .LBB138:
+ 269 .LBB139:
+ 270 .LSM37:
+ 271 0138 8093 E900 sts 233,r24
+ 272 013c 00C0 rjmp .L12
+ 273 .L13:
+ 274 .LBE139:
+ 275 .LBE138:
+ 276 .LSM38:
+ 277 013e 0E94 0000 call USB_USBTask
+ 278 .LSM39:
+ 279 0142 8EA9 ldd r24,Y+54
+ 280 0144 8823 tst r24
+ 281 0146 01F4 brne .L5
+ 282 .L12:
+ 283 .LBB136:
+ 284 .LBB137:
+ 285 .LSM40:
+ 286 0148 8091 EB00 lds r24,235
+ 287 .LBE137:
+ 288 .LBE136:
+ 289 .LSM41:
+ 290 014c 85FD sbrc r24,5
+ 291 014e 00C0 rjmp .L13
+ 292 .LSM42:
+ 293 0150 E696 adiw r28,54
+ 294 0152 D093 0000 sts (CallbackIsResetSource)+1,r29
+ 295 0156 C093 0000 sts CallbackIsResetSource,r28
+ 296 015a E697 sbiw r28,54
+ 297 .LBE135:
+ 298 .LSM43:
+ 299 015c CE01 movw r24,r28
+ 300 015e 8996 adiw r24,41
+ 301 0160 6DE0 ldi r22,lo8(13)
+ 302 0162 70E0 ldi r23,hi8(13)
+ 303 0164 40E0 ldi r20,lo8(gs(StreamCallback_MS_Device_AbortOnMassStoreReset))
+ 304 0166 50E0 ldi r21,hi8(gs(StreamCallback_MS_Device_AbortOnMassStoreReset))
+ 305 0168 0E94 0000 call Endpoint_Write_Stream_LE
+ 306 .LBB146:
+ 307 016c 8823 tst r24
+ 308 016e 01F4 brne .L5
+ 309 .LBB144:
+ 310 .LBB145:
+ 311 .LSM44:
+ 312 0170 8091 E800 lds r24,232
+ 313 0174 8E77 andi r24,lo8(126)
+ 314 0176 8093 E800 sts 232,r24
+ 315 .L5:
+ 316 .LBE145:
+ 317 .LBE144:
+ 318 .LBE146:
+ 319 .LBE134:
+ 320 .LSM45:
+ 321 017a 8EA9 ldd r24,Y+54
+ 322 017c 8823 tst r24
+ 323 017e 01F0 breq .L14
+ 324 .LSM46:
+ 325 0180 4D81 ldd r20,Y+5
+ 326 .LBB147:
+ 327 .LBB148:
+ 328 .LSM47:
+ 329 0182 21E0 ldi r18,lo8(1)
+ 330 0184 30E0 ldi r19,hi8(1)
+ 331 0186 C901 movw r24,r18
+ 332 0188 042E mov r0,r20
+ 333 018a 00C0 rjmp 2f
+ 334 018c 880F 1: lsl r24
+ 335 018e 991F rol r25
+ 336 0190 0A94 2: dec r0
+ 337 0192 02F4 brpl 1b
+ 338 0194 8093 EA00 sts 234,r24
+ 339 .LSM48:
+ 340 0198 1092 EA00 sts 234,__zero_reg__
+ 341 .LBE148:
+ 342 .LBE147:
+ 343 .LSM49:
+ 344 019c 9981 ldd r25,Y+1
+ 345 .LBB149:
+ 346 .LBB150:
+ 347 .LSM50:
+ 348 019e 092E mov r0,r25
+ 349 01a0 00C0 rjmp 2f
+ 350 01a2 220F 1: lsl r18
+ 351 01a4 331F rol r19
+ 352 01a6 0A94 2: dec r0
+ 353 01a8 02F4 brpl 1b
+ 354 01aa 2093 EA00 sts 234,r18
+ 355 .LSM51:
+ 356 01ae 1092 EA00 sts 234,__zero_reg__
+ 357 .LBE150:
+ 358 .LBE149:
+ 359 .LBB151:
+ 360 .LBB152:
+ 361 .LSM52:
+ 362 01b2 4093 E900 sts 233,r20
+ 363 .LBE152:
+ 364 .LBE151:
+ 365 .LBB153:
+ 366 .LBB154:
+ 367 .LSM53:
+ 368 01b6 8091 EB00 lds r24,235
+ 369 01ba 8061 ori r24,lo8(16)
+ 370 01bc 8093 EB00 sts 235,r24
+ 371 .LBE154:
+ 372 .LBE153:
+ 373 .LBB155:
+ 374 .LBB156:
+ 375 .LSM54:
+ 376 01c0 8091 EB00 lds r24,235
+ 377 01c4 8860 ori r24,lo8(8)
+ 378 01c6 8093 EB00 sts 235,r24
+ 379 .LBE156:
+ 380 .LBE155:
+ 381 .LBB157:
+ 382 .LBB158:
+ 383 .LSM55:
+ 384 01ca 9093 E900 sts 233,r25
+ 385 .LBE158:
+ 386 .LBE157:
+ 387 .LBB159:
+ 388 .LBB160:
+ 389 .LSM56:
+ 390 01ce 8091 EB00 lds r24,235
+ 391 01d2 8061 ori r24,lo8(16)
+ 392 01d4 8093 EB00 sts 235,r24
+ 393 .LBE160:
+ 394 .LBE159:
+ 395 .LBB161:
+ 396 .LBB162:
+ 397 .LSM57:
+ 398 01d8 8091 EB00 lds r24,235
+ 399 01dc 8860 ori r24,lo8(8)
+ 400 01de 8093 EB00 sts 235,r24
+ 401 .LBE162:
+ 402 .LBE161:
+ 403 .LSM58:
+ 404 01e2 1EAA std Y+54,__zero_reg__
+ 405 .L14:
+ 406 /* epilogue start */
+ 407 .LSM59:
+ 408 01e4 DF91 pop r29
+ 409 01e6 CF91 pop r28
+ 410 .LVL2:
+ 411 01e8 1F91 pop r17
+ 412 01ea 0F91 pop r16
+ 413 01ec 0895 ret
+ 414 .LFE83:
+ 416 .section .text.MS_Device_ConfigureEndpoints,"ax",@progbits
+ 417 .global MS_Device_ConfigureEndpoints
+ 419 MS_Device_ConfigureEndpoints:
+ 420 .LFB82:
+ 421 .LSM60:
+ 422 .LVL3:
+ 423 0000 1F93 push r17
+ 424 0002 CF93 push r28
+ 425 0004 DF93 push r29
+ 426 /* prologue: function */
+ 427 /* frame size = 0 */
+ 428 0006 EC01 movw r28,r24
+ 429 .LSM61:
+ 430 0008 0A96 adiw r24,10
+ 431 .LVL4:
+ 432 000a FC01 movw r30,r24
+ 433 000c 8DE2 ldi r24,lo8(45)
+ 434 000e DF01 movw r26,r30
+ 435 0010 1D92 st X+,__zero_reg__
+ 436 0012 8A95 dec r24
+ 437 0014 01F4 brne .-6
+ 438 0016 11E0 ldi r17,lo8(1)
+ 439 .LVL5:
+ 440 .L24:
+ 441 .LBB163:
+ 442 .LBB164:
+ 443 .LSM62:
+ 444 0018 8981 ldd r24,Y+1
+ 445 001a 1817 cp r17,r24
+ 446 001c 01F4 brne .L16
+ 447 .LSM63:
+ 448 001e EA81 ldd r30,Y+2
+ 449 0020 FB81 ldd r31,Y+3
+ 450 .LVL6:
+ 451 .LSM64:
+ 452 0022 8C81 ldd r24,Y+4
+ 453 .LVL7:
+ 454 0024 61E0 ldi r22,lo8(1)
+ 455 .LVL8:
+ 456 0026 00C0 rjmp .L17
+ 457 .LVL9:
+ 458 .L16:
+ 459 .LSM65:
+ 460 0028 8D81 ldd r24,Y+5
+ 461 002a 1817 cp r17,r24
+ 462 002c 01F4 brne .L18
+ 463 .LSM66:
+ 464 002e EE81 ldd r30,Y+6
+ 465 0030 FF81 ldd r31,Y+7
+ 466 .LVL10:
+ 467 .LSM67:
+ 468 0032 8885 ldd r24,Y+8
+ 469 .LVL11:
+ 470 0034 60E0 ldi r22,lo8(0)
+ 471 .LVL12:
+ 472 .L17:
+ 473 .LSM68:
+ 474 0036 8823 tst r24
+ 475 0038 01F4 brne .L19
+ 476 003a 40E0 ldi r20,lo8(0)
+ 477 003c 00C0 rjmp .L20
+ 478 .L19:
+ 479 003e 44E0 ldi r20,lo8(4)
+ 480 .L20:
+ 481 0040 20E0 ldi r18,lo8(0)
+ 482 .LVL13:
+ 483 0042 88E0 ldi r24,lo8(8)
+ 484 0044 90E0 ldi r25,hi8(8)
+ 485 .LVL14:
+ 486 0046 00C0 rjmp .L21
+ 487 .L22:
+ 488 .LBB165:
+ 489 .LBB166:
+ 490 .LBB167:
+ 491 .LBB168:
+ 492 .LSM69:
+ 493 0048 2F5F subi r18,lo8(-(1))
+ 494 .LSM70:
+ 495 004a 880F lsl r24
+ 496 004c 991F rol r25
+ 497 .L21:
+ 498 .LSM71:
+ 499 004e 8E17 cp r24,r30
+ 500 0050 9F07 cpc r25,r31
+ 501 0052 00F0 brlo .L22
+ 502 .LBE168:
+ 503 .LBE167:
+ 504 .LBE166:
+ 505 .LSM72:
+ 506 0054 6068 ori r22,lo8(-128)
+ 507 0056 4260 ori r20,lo8(2)
+ 508 0058 2295 swap r18
+ 509 005a 207F andi r18,lo8(-16)
+ 510 005c 422B or r20,r18
+ 511 005e 812F mov r24,r17
+ 512 .LVL15:
+ 513 0060 0E94 0000 call Endpoint_ConfigureEndpoint_Prv
+ 514 .LVL16:
+ 515 .LBE165:
+ 516 .LSM73:
+ 517 0064 8823 tst r24
+ 518 0066 01F0 breq .L23
+ 519 .L18:
+ 520 .LBE164:
+ 521 .LSM74:
+ 522 0068 1F5F subi r17,lo8(-(1))
+ 523 006a 1530 cpi r17,lo8(5)
+ 524 006c 01F4 brne .L24
+ 525 006e 81E0 ldi r24,lo8(1)
+ 526 .L23:
+ 527 /* epilogue start */
+ 528 .LBE163:
+ 529 .LSM75:
+ 530 0070 DF91 pop r29
+ 531 0072 CF91 pop r28
+ 532 .LVL17:
+ 533 0074 1F91 pop r17
+ 534 .LVL18:
+ 535 0076 0895 ret
+ 536 .LFE82:
+ 538 .section .text.MS_Device_ProcessControlRequest,"ax",@progbits
+ 539 .global MS_Device_ProcessControlRequest
+ 541 MS_Device_ProcessControlRequest:
+ 542 .LFB81:
+ 543 .LSM76:
+ 544 .LVL19:
+ 545 0000 CF93 push r28
+ 546 0002 DF93 push r29
+ 547 /* prologue: function */
+ 548 /* frame size = 0 */
+ 549 0004 EC01 movw r28,r24
+ 550 .LBB169:
+ 551 .LBB170:
+ 552 .LSM77:
+ 553 0006 8091 E800 lds r24,232
+ 554 .LVL20:
+ 555 .LBE170:
+ 556 .LBE169:
+ 557 .LSM78:
+ 558 000a 83FF sbrs r24,3
+ 559 000c 00C0 rjmp .L31
+ 560 .LSM79:
+ 561 000e 8881 ld r24,Y
+ 562 0010 90E0 ldi r25,lo8(0)
+ 563 0012 2091 0000 lds r18,USB_ControlRequest+4
+ 564 0016 3091 0000 lds r19,(USB_ControlRequest+4)+1
+ 565 001a 2817 cp r18,r24
+ 566 001c 3907 cpc r19,r25
+ 567 001e 01F4 brne .L31
+ 568 .LSM80:
+ 569 0020 8091 0000 lds r24,USB_ControlRequest+1
+ 570 0024 8E3F cpi r24,lo8(-2)
+ 571 0026 01F0 breq .L29
+ 572 0028 8F3F cpi r24,lo8(-1)
+ 573 002a 01F4 brne .L31
+ 574 .LSM81:
+ 575 002c 8091 0000 lds r24,USB_ControlRequest
+ 576 0030 8132 cpi r24,lo8(33)
+ 577 0032 01F4 brne .L31
+ 578 .LBB171:
+ 579 .LBB172:
+ 580 .LSM82:
+ 581 0034 8091 E800 lds r24,232
+ 582 0038 877F andi r24,lo8(-9)
+ 583 003a 8093 E800 sts 232,r24
+ 584 .LBE172:
+ 585 .LBE171:
+ 586 .LSM83:
+ 587 003e 0E94 0000 call Endpoint_ClearStatusStage
+ 588 .LSM84:
+ 589 0042 81E0 ldi r24,lo8(1)
+ 590 0044 8EAB std Y+54,r24
+ 591 0046 00C0 rjmp .L31
+ 592 .L29:
+ 593 .LSM85:
+ 594 0048 8091 0000 lds r24,USB_ControlRequest
+ 595 004c 813A cpi r24,lo8(-95)
+ 596 004e 01F4 brne .L31
+ 597 .LBB173:
+ 598 .LBB174:
+ 599 .LSM86:
+ 600 0050 8091 E800 lds r24,232
+ 601 0054 877F andi r24,lo8(-9)
+ 602 0056 8093 E800 sts 232,r24
+ 603 .LBE174:
+ 604 .LBE173:
+ 605 .LSM87:
+ 606 005a 8985 ldd r24,Y+9
+ 607 005c 8150 subi r24,lo8(-(-1))
+ 608 .LBB175:
+ 609 .LBB176:
+ 610 .LSM88:
+ 611 005e 8093 F100 sts 241,r24
+ 612 .LBE176:
+ 613 .LBE175:
+ 614 .LBB177:
+ 615 .LBB178:
+ 616 .LSM89:
+ 617 0062 8091 E800 lds r24,232
+ 618 0066 8E77 andi r24,lo8(126)
+ 619 0068 8093 E800 sts 232,r24
+ 620 .LBE178:
+ 621 .LBE177:
+ 622 .LSM90:
+ 623 006c 0E94 0000 call Endpoint_ClearStatusStage
+ 624 .L31:
+ 625 /* epilogue start */
+ 626 .LSM91:
+ 627 0070 DF91 pop r29
+ 628 0072 CF91 pop r28
+ 629 .LVL21:
+ 630 0074 0895 ret
+ 631 .LFE81:
+ 633 .lcomm CallbackIsResetSource,2
+ 682 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 MassStorage.c
+ /tmp/ccHFx5pp.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccHFx5pp.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccHFx5pp.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccHFx5pp.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccHFx5pp.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccHFx5pp.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/ccHFx5pp.s:18 .text.StreamCallback_MS_Device_AbortOnMassStoreReset:0000000000000000 StreamCallback_MS_Device_AbortOnMassStoreReset
+ .bss:0000000000000000 CallbackIsResetSource
+ /tmp/ccHFx5pp.s:37 .text.MS_Device_USBTask:0000000000000000 MS_Device_USBTask
+ /tmp/ccHFx5pp.s:419 .text.MS_Device_ConfigureEndpoints:0000000000000000 MS_Device_ConfigureEndpoints
+ /tmp/ccHFx5pp.s:541 .text.MS_Device_ProcessControlRequest:0000000000000000 MS_Device_ProcessControlRequest
+
+UNDEFINED SYMBOLS
+USB_USBTask
+USB_DeviceState
+Endpoint_Read_Stream_LE
+CALLBACK_MS_Device_SCSICommandReceived
+Endpoint_Write_Stream_LE
+Endpoint_ConfigureEndpoint_Prv
+USB_ControlRequest
+Endpoint_ClearStatusStage
+__do_clear_bss
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/MassStorage.o b/firmware/LUFA/Drivers/USB/Class/Device/MassStorage.o
new file mode 100644
index 0000000..2dbf5cd
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/MassStorage.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/RNDIS.c b/firmware/LUFA/Drivers/USB/Class/Device/RNDIS.c
new file mode 100644
index 0000000..c6de9e5
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/RNDIS.c
@@ -0,0 +1,496 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../../HighLevel/USBMode.h"
+#if defined(USB_CAN_BE_DEVICE)
+
+#define __INCLUDE_FROM_RNDIS_DRIVER
+#define __INCLUDE_FROM_RNDIS_DEVICE_C
+#include "RNDIS.h"
+
+static const uint32_t PROGMEM AdapterSupportedOIDList[] =
+ {
+ OID_GEN_SUPPORTED_LIST,
+ OID_GEN_PHYSICAL_MEDIUM,
+ OID_GEN_HARDWARE_STATUS,
+ OID_GEN_MEDIA_SUPPORTED,
+ OID_GEN_MEDIA_IN_USE,
+ OID_GEN_MAXIMUM_FRAME_SIZE,
+ OID_GEN_MAXIMUM_TOTAL_SIZE,
+ OID_GEN_LINK_SPEED,
+ OID_GEN_TRANSMIT_BLOCK_SIZE,
+ OID_GEN_RECEIVE_BLOCK_SIZE,
+ OID_GEN_VENDOR_ID,
+ OID_GEN_VENDOR_DESCRIPTION,
+ OID_GEN_CURRENT_PACKET_FILTER,
+ OID_GEN_MAXIMUM_TOTAL_SIZE,
+ OID_GEN_MEDIA_CONNECT_STATUS,
+ OID_GEN_XMIT_OK,
+ OID_GEN_RCV_OK,
+ OID_GEN_XMIT_ERROR,
+ OID_GEN_RCV_ERROR,
+ OID_GEN_RCV_NO_BUFFER,
+ OID_802_3_PERMANENT_ADDRESS,
+ OID_802_3_CURRENT_ADDRESS,
+ OID_802_3_MULTICAST_LIST,
+ OID_802_3_MAXIMUM_LIST_SIZE,
+ OID_802_3_RCV_ERROR_ALIGNMENT,
+ OID_802_3_XMIT_ONE_COLLISION,
+ OID_802_3_XMIT_MORE_COLLISIONS,
+ };
+
+void RNDIS_Device_ProcessControlRequest(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo)
+{
+ if (!(Endpoint_IsSETUPReceived()))
+ return;
+
+ if (USB_ControlRequest.wIndex != RNDISInterfaceInfo->Config.ControlInterfaceNumber)
+ return;
+
+ switch (USB_ControlRequest.bRequest)
+ {
+ case RNDIS_REQ_SendEncapsulatedCommand:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_Read_Control_Stream_LE(RNDISInterfaceInfo->State.RNDISMessageBuffer, USB_ControlRequest.wLength);
+ Endpoint_ClearIN();
+
+ RNDIS_Device_ProcessRNDISControlMessage(RNDISInterfaceInfo);
+ }
+
+ break;
+ case RNDIS_REQ_GetEncapsulatedResponse:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ {
+ RNDIS_Message_Header_t* MessageHeader = (RNDIS_Message_Header_t*)&RNDISInterfaceInfo->State.RNDISMessageBuffer;
+
+ if (!(MessageHeader->MessageLength))
+ {
+ RNDISInterfaceInfo->State.RNDISMessageBuffer[0] = 0;
+ MessageHeader->MessageLength = 1;
+ }
+
+ Endpoint_ClearSETUP();
+ Endpoint_Write_Control_Stream_LE(RNDISInterfaceInfo->State.RNDISMessageBuffer, MessageHeader->MessageLength);
+ Endpoint_ClearOUT();
+
+ MessageHeader->MessageLength = 0;
+ }
+
+ break;
+ }
+}
+
+bool RNDIS_Device_ConfigureEndpoints(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo)
+{
+ memset(&RNDISInterfaceInfo->State, 0x00, sizeof(RNDISInterfaceInfo->State));
+
+ for (uint8_t EndpointNum = 1; EndpointNum < ENDPOINT_TOTAL_ENDPOINTS; EndpointNum++)
+ {
+ uint16_t Size;
+ uint8_t Type;
+ uint8_t Direction;
+ bool DoubleBanked;
+
+ if (EndpointNum == RNDISInterfaceInfo->Config.DataINEndpointNumber)
+ {
+ Size = RNDISInterfaceInfo->Config.DataINEndpointSize;
+ Direction = ENDPOINT_DIR_IN;
+ Type = EP_TYPE_BULK;
+ DoubleBanked = RNDISInterfaceInfo->Config.DataINEndpointDoubleBank;
+ }
+ else if (EndpointNum == RNDISInterfaceInfo->Config.DataOUTEndpointNumber)
+ {
+ Size = RNDISInterfaceInfo->Config.DataOUTEndpointSize;
+ Direction = ENDPOINT_DIR_OUT;
+ Type = EP_TYPE_BULK;
+ DoubleBanked = RNDISInterfaceInfo->Config.DataOUTEndpointDoubleBank;
+ }
+ else if (EndpointNum == RNDISInterfaceInfo->Config.NotificationEndpointNumber)
+ {
+ Size = RNDISInterfaceInfo->Config.NotificationEndpointSize;
+ Direction = ENDPOINT_DIR_IN;
+ Type = EP_TYPE_INTERRUPT;
+ DoubleBanked = RNDISInterfaceInfo->Config.NotificationEndpointDoubleBank;
+ }
+ else
+ {
+ continue;
+ }
+
+ if (!(Endpoint_ConfigureEndpoint(EndpointNum, Type, Direction, Size,
+ DoubleBanked ? ENDPOINT_BANK_DOUBLE : ENDPOINT_BANK_SINGLE)))
+ {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+void RNDIS_Device_USBTask(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo)
+{
+ if (USB_DeviceState != DEVICE_STATE_Configured)
+ return;
+
+ RNDIS_Message_Header_t* MessageHeader = (RNDIS_Message_Header_t*)&RNDISInterfaceInfo->State.RNDISMessageBuffer;
+
+ Endpoint_SelectEndpoint(RNDISInterfaceInfo->Config.NotificationEndpointNumber);
+
+ if (Endpoint_IsINReady() && RNDISInterfaceInfo->State.ResponseReady)
+ {
+ USB_Request_Header_t Notification = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = RNDIS_NOTIF_ResponseAvailable,
+ .wValue = 0,
+ .wIndex = 0,
+ .wLength = 0,
+ };
+
+ Endpoint_Write_Stream_LE(&Notification, sizeof(USB_Request_Header_t), NO_STREAM_CALLBACK);
+
+ Endpoint_ClearIN();
+
+ RNDISInterfaceInfo->State.ResponseReady = false;
+ }
+
+ if ((RNDISInterfaceInfo->State.CurrRNDISState == RNDIS_Data_Initialized) && !(MessageHeader->MessageLength))
+ {
+ RNDIS_Packet_Message_t RNDISPacketHeader;
+
+ Endpoint_SelectEndpoint(RNDISInterfaceInfo->Config.DataOUTEndpointNumber);
+
+ if (Endpoint_IsOUTReceived() && !(RNDISInterfaceInfo->State.FrameIN.FrameInBuffer))
+ {
+ Endpoint_Read_Stream_LE(&RNDISPacketHeader, sizeof(RNDIS_Packet_Message_t), NO_STREAM_CALLBACK);
+
+ if (RNDISPacketHeader.DataLength > ETHERNET_FRAME_SIZE_MAX)
+ {
+ Endpoint_StallTransaction();
+ return;
+ }
+
+ Endpoint_Read_Stream_LE(RNDISInterfaceInfo->State.FrameIN.FrameData, RNDISPacketHeader.DataLength, NO_STREAM_CALLBACK);
+
+ Endpoint_ClearOUT();
+
+ RNDISInterfaceInfo->State.FrameIN.FrameLength = RNDISPacketHeader.DataLength;
+
+ RNDISInterfaceInfo->State.FrameIN.FrameInBuffer = true;
+ }
+
+ Endpoint_SelectEndpoint(RNDISInterfaceInfo->Config.DataINEndpointNumber);
+
+ if (Endpoint_IsINReady() && RNDISInterfaceInfo->State.FrameOUT.FrameInBuffer)
+ {
+ memset(&RNDISPacketHeader, 0, sizeof(RNDIS_Packet_Message_t));
+
+ RNDISPacketHeader.MessageType = REMOTE_NDIS_PACKET_MSG;
+ RNDISPacketHeader.MessageLength = (sizeof(RNDIS_Packet_Message_t) + RNDISInterfaceInfo->State.FrameOUT.FrameLength);
+ RNDISPacketHeader.DataOffset = (sizeof(RNDIS_Packet_Message_t) - sizeof(RNDIS_Message_Header_t));
+ RNDISPacketHeader.DataLength = RNDISInterfaceInfo->State.FrameOUT.FrameLength;
+
+ Endpoint_Write_Stream_LE(&RNDISPacketHeader, sizeof(RNDIS_Packet_Message_t), NO_STREAM_CALLBACK);
+ Endpoint_Write_Stream_LE(RNDISInterfaceInfo->State.FrameOUT.FrameData, RNDISPacketHeader.DataLength, NO_STREAM_CALLBACK);
+ Endpoint_ClearIN();
+
+ RNDISInterfaceInfo->State.FrameOUT.FrameInBuffer = false;
+ }
+ }
+}
+
+void RNDIS_Device_ProcessRNDISControlMessage(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo)
+{
+ /* Note: Only a single buffer is used for both the received message and its response to save SRAM. Because of
+ this, response bytes should be filled in order so that they do not clobber unread data in the buffer. */
+
+ RNDIS_Message_Header_t* MessageHeader = (RNDIS_Message_Header_t*)&RNDISInterfaceInfo->State.RNDISMessageBuffer;
+
+ switch (MessageHeader->MessageType)
+ {
+ case REMOTE_NDIS_INITIALIZE_MSG:
+ RNDISInterfaceInfo->State.ResponseReady = true;
+
+ RNDIS_Initialize_Message_t* INITIALIZE_Message =
+ (RNDIS_Initialize_Message_t*)&RNDISInterfaceInfo->State.RNDISMessageBuffer;
+ RNDIS_Initialize_Complete_t* INITIALIZE_Response =
+ (RNDIS_Initialize_Complete_t*)&RNDISInterfaceInfo->State.RNDISMessageBuffer;
+
+ INITIALIZE_Response->MessageType = REMOTE_NDIS_INITIALIZE_CMPLT;
+ INITIALIZE_Response->MessageLength = sizeof(RNDIS_Initialize_Complete_t);
+ INITIALIZE_Response->RequestId = INITIALIZE_Message->RequestId;
+ INITIALIZE_Response->Status = REMOTE_NDIS_STATUS_SUCCESS;
+
+ INITIALIZE_Response->MajorVersion = REMOTE_NDIS_VERSION_MAJOR;
+ INITIALIZE_Response->MinorVersion = REMOTE_NDIS_VERSION_MINOR;
+ INITIALIZE_Response->DeviceFlags = REMOTE_NDIS_DF_CONNECTIONLESS;
+ INITIALIZE_Response->Medium = REMOTE_NDIS_MEDIUM_802_3;
+ INITIALIZE_Response->MaxPacketsPerTransfer = 1;
+ INITIALIZE_Response->MaxTransferSize = (sizeof(RNDIS_Packet_Message_t) + ETHERNET_FRAME_SIZE_MAX);
+ INITIALIZE_Response->PacketAlignmentFactor = 0;
+ INITIALIZE_Response->AFListOffset = 0;
+ INITIALIZE_Response->AFListSize = 0;
+
+ RNDISInterfaceInfo->State.CurrRNDISState = RNDIS_Initialized;
+
+ break;
+ case REMOTE_NDIS_HALT_MSG:
+ RNDISInterfaceInfo->State.ResponseReady = false;
+ MessageHeader->MessageLength = 0;
+
+ RNDISInterfaceInfo->State.CurrRNDISState = RNDIS_Uninitialized;
+
+ break;
+ case REMOTE_NDIS_QUERY_MSG:
+ RNDISInterfaceInfo->State.ResponseReady = true;
+
+ RNDIS_Query_Message_t* QUERY_Message = (RNDIS_Query_Message_t*)&RNDISInterfaceInfo->State.RNDISMessageBuffer;
+ RNDIS_Query_Complete_t* QUERY_Response = (RNDIS_Query_Complete_t*)&RNDISInterfaceInfo->State.RNDISMessageBuffer;
+ uint32_t Query_Oid = QUERY_Message->Oid;
+
+ void* QueryData = &RNDISInterfaceInfo->State.RNDISMessageBuffer[sizeof(RNDIS_Message_Header_t) +
+ QUERY_Message->InformationBufferOffset];
+ void* ResponseData = &RNDISInterfaceInfo->State.RNDISMessageBuffer[sizeof(RNDIS_Query_Complete_t)];
+ uint16_t ResponseSize;
+
+ QUERY_Response->MessageType = REMOTE_NDIS_QUERY_CMPLT;
+ QUERY_Response->MessageLength = sizeof(RNDIS_Query_Complete_t);
+
+ if (RNDIS_Device_ProcessNDISQuery(RNDISInterfaceInfo, Query_Oid, QueryData, QUERY_Message->InformationBufferLength,
+ ResponseData, &ResponseSize))
+ {
+ QUERY_Response->Status = REMOTE_NDIS_STATUS_SUCCESS;
+ QUERY_Response->MessageLength += ResponseSize;
+
+ QUERY_Response->InformationBufferLength = ResponseSize;
+ QUERY_Response->InformationBufferOffset = (sizeof(RNDIS_Query_Complete_t) - sizeof(RNDIS_Message_Header_t));
+ }
+ else
+ {
+ QUERY_Response->Status = REMOTE_NDIS_STATUS_NOT_SUPPORTED;
+
+ QUERY_Response->InformationBufferLength = 0;
+ QUERY_Response->InformationBufferOffset = 0;
+ }
+
+ break;
+ case REMOTE_NDIS_SET_MSG:
+ RNDISInterfaceInfo->State.ResponseReady = true;
+
+ RNDIS_Set_Message_t* SET_Message = (RNDIS_Set_Message_t*)&RNDISInterfaceInfo->State.RNDISMessageBuffer;
+ RNDIS_Set_Complete_t* SET_Response = (RNDIS_Set_Complete_t*)&RNDISInterfaceInfo->State.RNDISMessageBuffer;
+ uint32_t SET_Oid = SET_Message->Oid;
+
+ SET_Response->MessageType = REMOTE_NDIS_SET_CMPLT;
+ SET_Response->MessageLength = sizeof(RNDIS_Set_Complete_t);
+ SET_Response->RequestId = SET_Message->RequestId;
+
+ void* SetData = &RNDISInterfaceInfo->State.RNDISMessageBuffer[sizeof(RNDIS_Message_Header_t) +
+ SET_Message->InformationBufferOffset];
+
+ SET_Response->Status = RNDIS_Device_ProcessNDISSet(RNDISInterfaceInfo, SET_Oid, SetData,
+ SET_Message->InformationBufferLength) ?
+ REMOTE_NDIS_STATUS_SUCCESS : REMOTE_NDIS_STATUS_NOT_SUPPORTED;
+ break;
+ case REMOTE_NDIS_RESET_MSG:
+ RNDISInterfaceInfo->State.ResponseReady = true;
+
+ RNDIS_Reset_Complete_t* RESET_Response = (RNDIS_Reset_Complete_t*)&RNDISInterfaceInfo->State.RNDISMessageBuffer;
+
+ RESET_Response->MessageType = REMOTE_NDIS_RESET_CMPLT;
+ RESET_Response->MessageLength = sizeof(RNDIS_Reset_Complete_t);
+ RESET_Response->Status = REMOTE_NDIS_STATUS_SUCCESS;
+ RESET_Response->AddressingReset = 0;
+
+ break;
+ case REMOTE_NDIS_KEEPALIVE_MSG:
+ RNDISInterfaceInfo->State.ResponseReady = true;
+
+ RNDIS_KeepAlive_Message_t* KEEPALIVE_Message =
+ (RNDIS_KeepAlive_Message_t*)&RNDISInterfaceInfo->State.RNDISMessageBuffer;
+ RNDIS_KeepAlive_Complete_t* KEEPALIVE_Response =
+ (RNDIS_KeepAlive_Complete_t*)&RNDISInterfaceInfo->State.RNDISMessageBuffer;
+
+ KEEPALIVE_Response->MessageType = REMOTE_NDIS_KEEPALIVE_CMPLT;
+ KEEPALIVE_Response->MessageLength = sizeof(RNDIS_KeepAlive_Complete_t);
+ KEEPALIVE_Response->RequestId = KEEPALIVE_Message->RequestId;
+ KEEPALIVE_Response->Status = REMOTE_NDIS_STATUS_SUCCESS;
+
+ break;
+ }
+}
+
+static bool RNDIS_Device_ProcessNDISQuery(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo,
+ const uint32_t OId,
+ void* const QueryData,
+ const uint16_t QuerySize,
+ void* ResponseData,
+ uint16_t* const ResponseSize)
+{
+ (void)QueryData;
+ (void)QuerySize;
+
+ switch (OId)
+ {
+ case OID_GEN_SUPPORTED_LIST:
+ *ResponseSize = sizeof(AdapterSupportedOIDList);
+
+ memcpy_P(ResponseData, AdapterSupportedOIDList, sizeof(AdapterSupportedOIDList));
+
+ return true;
+ case OID_GEN_PHYSICAL_MEDIUM:
+ *ResponseSize = sizeof(uint32_t);
+
+ /* Indicate that the device is a true ethernet link */
+ *((uint32_t*)ResponseData) = 0;
+
+ return true;
+ case OID_GEN_HARDWARE_STATUS:
+ *ResponseSize = sizeof(uint32_t);
+
+ *((uint32_t*)ResponseData) = NDIS_HardwareStatus_Ready;
+
+ return true;
+ case OID_GEN_MEDIA_SUPPORTED:
+ case OID_GEN_MEDIA_IN_USE:
+ *ResponseSize = sizeof(uint32_t);
+
+ *((uint32_t*)ResponseData) = REMOTE_NDIS_MEDIUM_802_3;
+
+ return true;
+ case OID_GEN_VENDOR_ID:
+ *ResponseSize = sizeof(uint32_t);
+
+ /* Vendor ID 0x0xFFFFFF is reserved for vendors who have not purchased a NDIS VID */
+ *((uint32_t*)ResponseData) = 0x00FFFFFF;
+
+ return true;
+ case OID_GEN_MAXIMUM_FRAME_SIZE:
+ case OID_GEN_TRANSMIT_BLOCK_SIZE:
+ case OID_GEN_RECEIVE_BLOCK_SIZE:
+ *ResponseSize = sizeof(uint32_t);
+
+ *((uint32_t*)ResponseData) = ETHERNET_FRAME_SIZE_MAX;
+
+ return true;
+ case OID_GEN_VENDOR_DESCRIPTION:
+ *ResponseSize = (strlen(RNDISInterfaceInfo->Config.AdapterVendorDescription) + 1);
+
+ memcpy(ResponseData, RNDISInterfaceInfo->Config.AdapterVendorDescription, *ResponseSize);
+
+ return true;
+ case OID_GEN_MEDIA_CONNECT_STATUS:
+ *ResponseSize = sizeof(uint32_t);
+
+ *((uint32_t*)ResponseData) = REMOTE_NDIS_MEDIA_STATE_CONNECTED;
+
+ return true;
+ case OID_GEN_LINK_SPEED:
+ *ResponseSize = sizeof(uint32_t);
+
+ /* Indicate 10Mb/s link speed */
+ *((uint32_t*)ResponseData) = 100000;
+
+ return true;
+ case OID_802_3_PERMANENT_ADDRESS:
+ case OID_802_3_CURRENT_ADDRESS:
+ *ResponseSize = sizeof(MAC_Address_t);
+
+ memcpy(ResponseData, &RNDISInterfaceInfo->Config.AdapterMACAddress, sizeof(MAC_Address_t));
+
+ return true;
+ case OID_802_3_MAXIMUM_LIST_SIZE:
+ *ResponseSize = sizeof(uint32_t);
+
+ /* Indicate only one multicast address supported */
+ *((uint32_t*)ResponseData) = 1;
+
+ return true;
+ case OID_GEN_CURRENT_PACKET_FILTER:
+ *ResponseSize = sizeof(uint32_t);
+
+ *((uint32_t*)ResponseData) = RNDISInterfaceInfo->State.CurrPacketFilter;
+
+ return true;
+ case OID_GEN_XMIT_OK:
+ case OID_GEN_RCV_OK:
+ case OID_GEN_XMIT_ERROR:
+ case OID_GEN_RCV_ERROR:
+ case OID_GEN_RCV_NO_BUFFER:
+ case OID_802_3_RCV_ERROR_ALIGNMENT:
+ case OID_802_3_XMIT_ONE_COLLISION:
+ case OID_802_3_XMIT_MORE_COLLISIONS:
+ *ResponseSize = sizeof(uint32_t);
+
+ /* Unused statistic OIDs - always return 0 for each */
+ *((uint32_t*)ResponseData) = 0;
+
+ return true;
+ case OID_GEN_MAXIMUM_TOTAL_SIZE:
+ *ResponseSize = sizeof(uint32_t);
+
+ /* Indicate maximum overall buffer (Ethernet frame and RNDIS header) the adapter can handle */
+ *((uint32_t*)ResponseData) = (RNDIS_MESSAGE_BUFFER_SIZE + ETHERNET_FRAME_SIZE_MAX);
+
+ return true;
+ default:
+ return false;
+ }
+}
+
+static bool RNDIS_Device_ProcessNDISSet(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo,
+ const uint32_t OId,
+ const void* SetData,
+ const uint16_t SetSize)
+{
+ (void)SetSize;
+
+ switch (OId)
+ {
+ case OID_GEN_CURRENT_PACKET_FILTER:
+ RNDISInterfaceInfo->State.CurrPacketFilter = *((uint32_t*)SetData);
+ RNDISInterfaceInfo->State.CurrRNDISState = ((RNDISInterfaceInfo->State.CurrPacketFilter) ?
+ RNDIS_Data_Initialized : RNDIS_Data_Initialized);
+
+ return true;
+ case OID_802_3_MULTICAST_LIST:
+ /* Do nothing - throw away the value from the host as it is unused */
+
+ return true;
+ default:
+ return false;
+ }
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/RNDIS.h b/firmware/LUFA/Drivers/USB/Class/Device/RNDIS.h
new file mode 100644
index 0000000..9f24f29
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/RNDIS.h
@@ -0,0 +1,186 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Device mode driver for the library USB RNDIS Class driver.
+ *
+ * Device mode driver for the library USB RNDIS Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassRNDIS
+ * @defgroup Group_USBClassRNDISDevice RNDIS Class Device Mode Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Device/RNDIS.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Device Mode USB Class driver framework interface, for the RNDIS USB Class driver.
+ *
+ * @{
+ */
+
+#ifndef _RNDIS_CLASS_DEVICE_H_
+#define _RNDIS_CLASS_DEVICE_H_
+
+ /* Includes: */
+ #include "../../USB.h"
+ #include "../Common/RNDIS.h"
+
+ #include <string.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_RNDIS_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ #if defined(__INCLUDE_FROM_RNDIS_DEVICE_C) && defined(NO_STREAM_CALLBACKS)
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.
+ #endif
+
+
+ /* Public Interface - May be used in end-application: */
+ /* Type Defines: */
+ /** \brief RNDIS Class Device Mode Configuration and State Structure.
+ *
+ * Class state structure. An instance of this structure should be made for each RNDIS interface
+ * within the user application, and passed to each of the RNDIS class driver functions as the
+ * RNDISInterfaceInfo parameter. This stores each RNDIS interface's configuration and state information.
+ */
+ typedef struct
+ {
+ const struct
+ {
+ uint8_t ControlInterfaceNumber; /**< Interface number of the CDC control interface within the device. */
+
+ uint8_t DataINEndpointNumber; /**< Endpoint number of the CDC interface's IN data endpoint. */
+ uint16_t DataINEndpointSize; /**< Size in bytes of the CDC interface's IN data endpoint. */
+ bool DataINEndpointDoubleBank; /**< Indicates if the RNDIS interface's IN data endpoint should use double banking. */
+
+ uint8_t DataOUTEndpointNumber; /**< Endpoint number of the CDC interface's OUT data endpoint. */
+ uint16_t DataOUTEndpointSize; /**< Size in bytes of the CDC interface's OUT data endpoint. */
+ bool DataOUTEndpointDoubleBank; /**< Indicates if the RNDIS interface's OUT data endpoint should use double banking. */
+
+ uint8_t NotificationEndpointNumber; /**< Endpoint number of the CDC interface's IN notification endpoint, if used. */
+ uint16_t NotificationEndpointSize; /**< Size in bytes of the CDC interface's IN notification endpoint, if used. */
+ bool NotificationEndpointDoubleBank; /**< Indicates if the RNDIS interface's notification endpoint should use double banking. */
+
+ char* AdapterVendorDescription; /**< String description of the adapter vendor. */
+ MAC_Address_t AdapterMACAddress; /**< MAC address of the adapter. */
+ } Config; /**< Config data for the USB class interface within the device. All elements in this section.
+ * <b>must</b> be set or the interface will fail to enumerate and operate correctly.
+ */
+ struct
+ {
+ uint8_t RNDISMessageBuffer[RNDIS_MESSAGE_BUFFER_SIZE]; /**< Buffer to hold RNDIS messages to and from the host,
+ * managed by the class driver.
+ */
+ bool ResponseReady; /**< Internal flag indicating if a RNDIS message is waiting to be returned to the host. */
+ uint8_t CurrRNDISState; /**< Current RNDIS state of the adapter, a value from the \ref RNDIS_States_t enum. */
+ uint32_t CurrPacketFilter; /**< Current packet filter mode, used internally by the class driver. */
+ Ethernet_Frame_Info_t FrameIN; /**< Structure holding the last received Ethernet frame from the host, for user
+ * processing.
+ */
+ Ethernet_Frame_Info_t FrameOUT; /**< Structure holding the next Ethernet frame to send to the host, populated by the
+ * user application.
+ */
+ } State; /**< State data for the USB class interface within the device. All elements in this section
+ * are reset to their defaults when the interface is enumerated.
+ */
+ } USB_ClassInfo_RNDIS_Device_t;
+
+ /* Function Prototypes: */
+ /** Configures the endpoints of a given RNDIS interface, ready for use. This should be linked to the library
+ * \ref EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration
+ * containing the given HID interface is selected.
+ *
+ * \note The endpoint index numbers as given in the interface's configuration structure must not overlap with any other
+ * interface, or endpoint bank corruption will occur. Gaps in the allocated endpoint numbers or non-sequential indexes
+ * within a single interface is allowed, but no two interfaces of any type have have interleaved endpoint indexes.
+ *
+ * \param[in,out] RNDISInterfaceInfo Pointer to a structure containing a RNDIS Class configuration and state.
+ *
+ * \return Boolean true if the endpoints were successfully configured, false otherwise.
+ */
+ bool RNDIS_Device_ConfigureEndpoints(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Processes incoming control requests from the host, that are directed to the given RNDIS class interface. This should be
+ * linked to the library \ref EVENT_USB_Device_ControlRequest() event.
+ *
+ * \param[in,out] RNDISInterfaceInfo Pointer to a structure containing a RNDIS Class configuration and state.
+ */
+ void RNDIS_Device_ProcessControlRequest(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** General management task for a given HID class interface, required for the correct operation of the interface. This should
+ * be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().
+ *
+ * \param[in,out] RNDISInterfaceInfo Pointer to a structure containing a RNDIS Class configuration and state.
+ */
+ void RNDIS_Device_USBTask(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Function Prototypes: */
+ #if defined(__INCLUDE_FROM_RNDIS_DEVICE_C)
+ static void RNDIS_Device_ProcessRNDISControlMessage(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo)
+ ATTR_NON_NULL_PTR_ARG(1);
+ static bool RNDIS_Device_ProcessNDISQuery(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo,
+ const uint32_t OId,
+ void* const QueryData,
+ const uint16_t QuerySize,
+ void* ResponseData,
+ uint16_t* const ResponseSize) ATTR_NON_NULL_PTR_ARG(1)
+ ATTR_NON_NULL_PTR_ARG(5) ATTR_NON_NULL_PTR_ARG(6);
+ static bool RNDIS_Device_ProcessNDISSet(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo,
+ const uint32_t OId,
+ const void* SetData,
+ const uint16_t SetSize) ATTR_NON_NULL_PTR_ARG(1)
+ ATTR_NON_NULL_PTR_ARG(3);
+ #endif
+
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/RNDIS.lst b/firmware/LUFA/Drivers/USB/Class/Device/RNDIS.lst
new file mode 100644
index 0000000..3ae93a2
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/RNDIS.lst
@@ -0,0 +1,1519 @@
+ 1 .file "RNDIS.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.RNDIS_Device_USBTask,"ax",@progbits
+ 17 .global RNDIS_Device_USBTask
+ 19 RNDIS_Device_USBTask:
+ 20 .LFB83:
+ 21 .LSM0:
+ 22 .LVL0:
+ 23 0000 EF92 push r14
+ 24 0002 FF92 push r15
+ 25 0004 0F93 push r16
+ 26 0006 1F93 push r17
+ 27 0008 DF93 push r29
+ 28 000a CF93 push r28
+ 29 000c CDB7 in r28,__SP_L__
+ 30 000e DEB7 in r29,__SP_H__
+ 31 0010 AC97 sbiw r28,44
+ 32 0012 0FB6 in __tmp_reg__,__SREG__
+ 33 0014 F894 cli
+ 34 0016 DEBF out __SP_H__,r29
+ 35 0018 0FBE out __SREG__,__tmp_reg__
+ 36 001a CDBF out __SP_L__,r28
+ 37 /* prologue: function */
+ 38 /* frame size = 44 */
+ 39 001c 8C01 movw r16,r24
+ 40 .LSM1:
+ 41 001e 8091 0000 lds r24,USB_DeviceState
+ 42 .LVL1:
+ 43 0022 8430 cpi r24,lo8(4)
+ 44 0024 01F0 breq .+2
+ 45 0026 00C0 rjmp .L7
+ 46 .LSM2:
+ 47 0028 D801 movw r26,r16
+ 48 002a 1996 adiw r26,9
+ 49 002c 8C91 ld r24,X
+ 50 .LBB43:
+ 51 .LBB44:
+ 52 .LSM3:
+ 53 002e 8093 E900 sts 233,r24
+ 54 .LBE44:
+ 55 .LBE43:
+ 56 .LBB45:
+ 57 .LBB46:
+ 58 .LSM4:
+ 59 0032 8091 E800 lds r24,232
+ 60 .LBE46:
+ 61 .LBE45:
+ 62 .LSM5:
+ 63 0036 80FF sbrs r24,0
+ 64 0038 00C0 rjmp .L3
+ 65 003a 0B56 subi r16,lo8(-(149))
+ 66 003c 1F4F sbci r17,hi8(-(149))
+ 67 003e F801 movw r30,r16
+ 68 0040 8081 ld r24,Z
+ 69 0042 0559 subi r16,lo8(-(-149))
+ 70 0044 1040 sbci r17,hi8(-(-149))
+ 71 0046 8823 tst r24
+ 72 0048 01F0 breq .L3
+ 73 .LBB47:
+ 74 .LSM6:
+ 75 004a DE01 movw r26,r28
+ 76 004c 1196 adiw r26,1
+ 77 004e E0E0 ldi r30,lo8(C.9.3485)
+ 78 0050 F0E0 ldi r31,hi8(C.9.3485)
+ 79 0052 88E0 ldi r24,lo8(8)
+ 80 .L4:
+ 81 0054 0190 ld r0,Z+
+ 82 0056 0D92 st X+,r0
+ 83 0058 8150 subi r24,lo8(-(-1))
+ 84 005a 01F4 brne .L4
+ 85 .LSM7:
+ 86 005c CE01 movw r24,r28
+ 87 005e 0196 adiw r24,1
+ 88 0060 68E0 ldi r22,lo8(8)
+ 89 0062 70E0 ldi r23,hi8(8)
+ 90 0064 40E0 ldi r20,lo8(0)
+ 91 0066 50E0 ldi r21,hi8(0)
+ 92 0068 0E94 0000 call Endpoint_Write_Stream_LE
+ 93 .LBB48:
+ 94 .LBB49:
+ 95 .LSM8:
+ 96 006c 8091 E800 lds r24,232
+ 97 0070 8E77 andi r24,lo8(126)
+ 98 0072 8093 E800 sts 232,r24
+ 99 .LBE49:
+ 100 .LBE48:
+ 101 .LSM9:
+ 102 0076 0B56 subi r16,lo8(-(149))
+ 103 0078 1F4F sbci r17,hi8(-(149))
+ 104 007a D801 movw r26,r16
+ 105 007c 1C92 st X,__zero_reg__
+ 106 007e 0559 subi r16,lo8(-(-149))
+ 107 0080 1040 sbci r17,hi8(-(-149))
+ 108 .L3:
+ 109 .LBE47:
+ 110 .LSM10:
+ 111 0082 0A56 subi r16,lo8(-(150))
+ 112 0084 1F4F sbci r17,hi8(-(150))
+ 113 0086 F801 movw r30,r16
+ 114 0088 8081 ld r24,Z
+ 115 008a 0659 subi r16,lo8(-(-150))
+ 116 008c 1040 sbci r17,hi8(-(-150))
+ 117 008e 8230 cpi r24,lo8(2)
+ 118 0090 01F0 breq .+2
+ 119 0092 00C0 rjmp .L7
+ 120 0094 F801 movw r30,r16
+ 121 0096 818D ldd r24,Z+25
+ 122 0098 928D ldd r25,Z+26
+ 123 009a A38D ldd r26,Z+27
+ 124 009c B48D ldd r27,Z+28
+ 125 009e 0097 sbiw r24,0
+ 126 00a0 A105 cpc r26,__zero_reg__
+ 127 00a2 B105 cpc r27,__zero_reg__
+ 128 00a4 01F0 breq .+2
+ 129 00a6 00C0 rjmp .L7
+ 130 .LBB50:
+ 131 .LSM11:
+ 132 00a8 8581 ldd r24,Z+5
+ 133 .LBB51:
+ 134 .LBB52:
+ 135 .LSM12:
+ 136 00aa 8093 E900 sts 233,r24
+ 137 .LBE52:
+ 138 .LBE51:
+ 139 .LBB53:
+ 140 .LBB54:
+ 141 .LSM13:
+ 142 00ae 8091 E800 lds r24,232
+ 143 .LBE54:
+ 144 .LBE53:
+ 145 .LSM14:
+ 146 00b2 82FF sbrs r24,2
+ 147 00b4 00C0 rjmp .L5
+ 148 00b6 99E7 ldi r25,lo8(1657)
+ 149 00b8 E92E mov r14,r25
+ 150 00ba 96E0 ldi r25,hi8(1657)
+ 151 00bc F92E mov r15,r25
+ 152 00be E00E add r14,r16
+ 153 00c0 F11E adc r15,r17
+ 154 00c2 D701 movw r26,r14
+ 155 00c4 8C91 ld r24,X
+ 156 00c6 8823 tst r24
+ 157 00c8 01F4 brne .L5
+ 158 .LSM15:
+ 159 00ca CE01 movw r24,r28
+ 160 00cc 0196 adiw r24,1
+ 161 00ce 6CE2 ldi r22,lo8(44)
+ 162 00d0 70E0 ldi r23,hi8(44)
+ 163 00d2 40E0 ldi r20,lo8(0)
+ 164 00d4 50E0 ldi r21,hi8(0)
+ 165 00d6 0E94 0000 call Endpoint_Read_Stream_LE
+ 166 .LSM16:
+ 167 00da 2D85 ldd r18,Y+13
+ 168 00dc 3E85 ldd r19,Y+14
+ 169 00de 4F85 ldd r20,Y+15
+ 170 00e0 5889 ldd r21,Y+16
+ 171 00e2 2D3D cpi r18,lo8(1501)
+ 172 00e4 B5E0 ldi r27,hi8(1501)
+ 173 00e6 3B07 cpc r19,r27
+ 174 00e8 B0E0 ldi r27,hlo8(1501)
+ 175 00ea 4B07 cpc r20,r27
+ 176 00ec B0E0 ldi r27,hhi8(1501)
+ 177 00ee 5B07 cpc r21,r27
+ 178 00f0 00F0 brlo .L6
+ 179 .LBB55:
+ 180 .LBB56:
+ 181 .LSM17:
+ 182 00f2 8091 EB00 lds r24,235
+ 183 00f6 8062 ori r24,lo8(32)
+ 184 00f8 8093 EB00 sts 235,r24
+ 185 00fc 00C0 rjmp .L7
+ 186 .L6:
+ 187 .LBE56:
+ 188 .LBE55:
+ 189 .LSM18:
+ 190 00fe C801 movw r24,r16
+ 191 0100 8556 subi r24,lo8(-(155))
+ 192 0102 9F4F sbci r25,hi8(-(155))
+ 193 0104 B901 movw r22,r18
+ 194 0106 40E0 ldi r20,lo8(0)
+ 195 0108 50E0 ldi r21,hi8(0)
+ 196 010a 0E94 0000 call Endpoint_Read_Stream_LE
+ 197 .LBB57:
+ 198 .LBB58:
+ 199 .LSM19:
+ 200 010e 8091 E800 lds r24,232
+ 201 0112 8B77 andi r24,lo8(123)
+ 202 0114 8093 E800 sts 232,r24
+ 203 .LBE58:
+ 204 .LBE57:
+ 205 .LSM20:
+ 206 0118 0958 subi r16,lo8(-(1655))
+ 207 011a 194F sbci r17,hi8(-(1655))
+ 208 011c 8D85 ldd r24,Y+13
+ 209 011e 9E85 ldd r25,Y+14
+ 210 0120 F801 movw r30,r16
+ 211 0122 9183 std Z+1,r25
+ 212 0124 8083 st Z,r24
+ 213 0126 0757 subi r16,lo8(-(-1655))
+ 214 0128 1640 sbci r17,hi8(-(-1655))
+ 215 .LSM21:
+ 216 012a 81E0 ldi r24,lo8(1)
+ 217 012c D701 movw r26,r14
+ 218 012e 8C93 st X,r24
+ 219 .L5:
+ 220 .LSM22:
+ 221 0130 F801 movw r30,r16
+ 222 0132 8181 ldd r24,Z+1
+ 223 .LBB59:
+ 224 .LBB60:
+ 225 .LSM23:
+ 226 0134 8093 E900 sts 233,r24
+ 227 .LBE60:
+ 228 .LBE59:
+ 229 .LBB61:
+ 230 .LBB62:
+ 231 .LSM24:
+ 232 0138 8091 E800 lds r24,232
+ 233 .LBE62:
+ 234 .LBE61:
+ 235 .LSM25:
+ 236 013c 80FF sbrs r24,0
+ 237 013e 00C0 rjmp .L7
+ 238 0140 88E5 ldi r24,lo8(3160)
+ 239 0142 E82E mov r14,r24
+ 240 0144 8CE0 ldi r24,hi8(3160)
+ 241 0146 F82E mov r15,r24
+ 242 0148 E00E add r14,r16
+ 243 014a F11E adc r15,r17
+ 244 014c D701 movw r26,r14
+ 245 014e 8C91 ld r24,X
+ 246 0150 8823 tst r24
+ 247 0152 01F4 brne .+2
+ 248 0154 00C0 rjmp .L7
+ 249 .LSM26:
+ 250 0156 FE01 movw r30,r28
+ 251 0158 3196 adiw r30,1
+ 252 015a 8CE2 ldi r24,lo8(44)
+ 253 015c DF01 movw r26,r30
+ 254 015e 1D92 st X+,__zero_reg__
+ 255 0160 8A95 dec r24
+ 256 0162 01F4 brne .-6
+ 257 .LSM27:
+ 258 0164 81E0 ldi r24,lo8(1)
+ 259 0166 90E0 ldi r25,hi8(1)
+ 260 0168 A0E0 ldi r26,hlo8(1)
+ 261 016a B0E0 ldi r27,hhi8(1)
+ 262 016c 8983 std Y+1,r24
+ 263 016e 9A83 std Y+2,r25
+ 264 0170 AB83 std Y+3,r26
+ 265 0172 BC83 std Y+4,r27
+ 266 .LSM28:
+ 267 0174 0A5A subi r16,lo8(-(3158))
+ 268 0176 134F sbci r17,hi8(-(3158))
+ 269 0178 D801 movw r26,r16
+ 270 017a 8D91 ld r24,X+
+ 271 017c 9C91 ld r25,X
+ 272 017e 8C96 adiw r24,44
+ 273 0180 9C01 movw r18,r24
+ 274 0182 40E0 ldi r20,lo8(0)
+ 275 0184 50E0 ldi r21,hi8(0)
+ 276 0186 8C97 sbiw r24,44
+ 277 0188 2D83 std Y+5,r18
+ 278 018a 3E83 std Y+6,r19
+ 279 018c 4F83 std Y+7,r20
+ 280 018e 5887 std Y+8,r21
+ 281 .LSM29:
+ 282 0190 24E2 ldi r18,lo8(36)
+ 283 0192 30E0 ldi r19,hi8(36)
+ 284 0194 40E0 ldi r20,hlo8(36)
+ 285 0196 50E0 ldi r21,hhi8(36)
+ 286 0198 2987 std Y+9,r18
+ 287 019a 3A87 std Y+10,r19
+ 288 019c 4B87 std Y+11,r20
+ 289 019e 5C87 std Y+12,r21
+ 290 .LSM30:
+ 291 01a0 A0E0 ldi r26,lo8(0)
+ 292 01a2 B0E0 ldi r27,hi8(0)
+ 293 01a4 8D87 std Y+13,r24
+ 294 01a6 9E87 std Y+14,r25
+ 295 01a8 AF87 std Y+15,r26
+ 296 01aa B88B std Y+16,r27
+ 297 .LSM31:
+ 298 01ac CF01 movw r24,r30
+ 299 01ae 6CE2 ldi r22,lo8(44)
+ 300 01b0 70E0 ldi r23,hi8(44)
+ 301 01b2 40E0 ldi r20,lo8(0)
+ 302 01b4 50E0 ldi r21,hi8(0)
+ 303 01b6 0E94 0000 call Endpoint_Write_Stream_LE
+ 304 .LSM32:
+ 305 01ba 6D85 ldd r22,Y+13
+ 306 01bc 7E85 ldd r23,Y+14
+ 307 01be C801 movw r24,r16
+ 308 01c0 8C5D subi r24,lo8(-(-1500))
+ 309 01c2 9540 sbci r25,hi8(-(-1500))
+ 310 01c4 40E0 ldi r20,lo8(0)
+ 311 01c6 50E0 ldi r21,hi8(0)
+ 312 01c8 0E94 0000 call Endpoint_Write_Stream_LE
+ 313 .LBB63:
+ 314 .LBB64:
+ 315 .LSM33:
+ 316 01cc 8091 E800 lds r24,232
+ 317 01d0 8E77 andi r24,lo8(126)
+ 318 01d2 8093 E800 sts 232,r24
+ 319 .LBE64:
+ 320 .LBE63:
+ 321 .LSM34:
+ 322 01d6 F701 movw r30,r14
+ 323 01d8 1082 st Z,__zero_reg__
+ 324 .L7:
+ 325 /* epilogue start */
+ 326 .LBE50:
+ 327 .LSM35:
+ 328 01da AC96 adiw r28,44
+ 329 01dc 0FB6 in __tmp_reg__,__SREG__
+ 330 01de F894 cli
+ 331 01e0 DEBF out __SP_H__,r29
+ 332 01e2 0FBE out __SREG__,__tmp_reg__
+ 333 01e4 CDBF out __SP_L__,r28
+ 334 01e6 CF91 pop r28
+ 335 01e8 DF91 pop r29
+ 336 01ea 1F91 pop r17
+ 337 01ec 0F91 pop r16
+ 338 .LVL2:
+ 339 01ee FF90 pop r15
+ 340 01f0 EF90 pop r14
+ 341 01f2 0895 ret
+ 342 .LFE83:
+ 344 .section .text.RNDIS_Device_ConfigureEndpoints,"ax",@progbits
+ 345 .global RNDIS_Device_ConfigureEndpoints
+ 347 RNDIS_Device_ConfigureEndpoints:
+ 348 .LFB82:
+ 349 .LSM36:
+ 350 .LVL3:
+ 351 0000 1F93 push r17
+ 352 0002 CF93 push r28
+ 353 0004 DF93 push r29
+ 354 /* prologue: function */
+ 355 /* frame size = 0 */
+ 356 0006 EC01 movw r28,r24
+ 357 .LSM37:
+ 358 0008 4596 adiw r24,21
+ 359 .LVL4:
+ 360 000a FC01 movw r30,r24
+ 361 000c 84E4 ldi r24,lo8(3140)
+ 362 000e 9CE0 ldi r25,hi8(3140)
+ 363 0010 DF01 movw r26,r30
+ 364 0012 9C01 movw r18,r24
+ 365 0014 1D92 st X+,__zero_reg__
+ 366 0016 2150 subi r18,1
+ 367 0018 3040 sbci r19,0
+ 368 001a 01F4 brne .-8
+ 369 001c 11E0 ldi r17,lo8(1)
+ 370 .LVL5:
+ 371 .L19:
+ 372 .LBB65:
+ 373 .LBB66:
+ 374 .LSM38:
+ 375 001e 8981 ldd r24,Y+1
+ 376 0020 1817 cp r17,r24
+ 377 0022 01F4 brne .L10
+ 378 .LSM39:
+ 379 0024 EA81 ldd r30,Y+2
+ 380 0026 FB81 ldd r31,Y+3
+ 381 .LVL6:
+ 382 .LSM40:
+ 383 0028 8C81 ldd r24,Y+4
+ 384 .LVL7:
+ 385 002a 62E0 ldi r22,lo8(2)
+ 386 .LVL8:
+ 387 002c 00C0 rjmp .L22
+ 388 .LVL9:
+ 389 .L10:
+ 390 .LSM41:
+ 391 002e 8D81 ldd r24,Y+5
+ 392 0030 1817 cp r17,r24
+ 393 0032 01F4 brne .L12
+ 394 .LSM42:
+ 395 0034 EE81 ldd r30,Y+6
+ 396 0036 FF81 ldd r31,Y+7
+ 397 .LVL10:
+ 398 .LSM43:
+ 399 0038 8885 ldd r24,Y+8
+ 400 .LVL11:
+ 401 003a 62E0 ldi r22,lo8(2)
+ 402 .LVL12:
+ 403 003c 30E0 ldi r19,lo8(0)
+ 404 .LVL13:
+ 405 003e 00C0 rjmp .L11
+ 406 .LVL14:
+ 407 .L12:
+ 408 .LSM44:
+ 409 0040 8985 ldd r24,Y+9
+ 410 0042 1817 cp r17,r24
+ 411 0044 01F4 brne .L13
+ 412 .LSM45:
+ 413 0046 EA85 ldd r30,Y+10
+ 414 0048 FB85 ldd r31,Y+11
+ 415 .LVL15:
+ 416 .LSM46:
+ 417 004a 8C85 ldd r24,Y+12
+ 418 .LVL16:
+ 419 004c 63E0 ldi r22,lo8(3)
+ 420 .LVL17:
+ 421 .L22:
+ 422 004e 31E0 ldi r19,lo8(1)
+ 423 .LVL18:
+ 424 .L11:
+ 425 .LSM47:
+ 426 0050 8823 tst r24
+ 427 0052 01F4 brne .L14
+ 428 0054 40E0 ldi r20,lo8(0)
+ 429 0056 00C0 rjmp .L15
+ 430 .L14:
+ 431 0058 44E0 ldi r20,lo8(4)
+ 432 .L15:
+ 433 005a 20E0 ldi r18,lo8(0)
+ 434 .LVL19:
+ 435 005c 88E0 ldi r24,lo8(8)
+ 436 005e 90E0 ldi r25,hi8(8)
+ 437 .LVL20:
+ 438 0060 00C0 rjmp .L16
+ 439 .L17:
+ 440 .LBB67:
+ 441 .LBB68:
+ 442 .LBB69:
+ 443 .LBB70:
+ 444 .LSM48:
+ 445 0062 2F5F subi r18,lo8(-(1))
+ 446 .LSM49:
+ 447 0064 880F lsl r24
+ 448 0066 991F rol r25
+ 449 .L16:
+ 450 .LSM50:
+ 451 0068 8E17 cp r24,r30
+ 452 006a 9F07 cpc r25,r31
+ 453 006c 00F0 brlo .L17
+ 454 .LBE70:
+ 455 .LBE69:
+ 456 .LBE68:
+ 457 .LSM51:
+ 458 006e 6295 swap r22
+ 459 0070 660F lsl r22
+ 460 0072 660F lsl r22
+ 461 0074 607C andi r22,lo8(-64)
+ 462 0076 632B or r22,r19
+ 463 0078 4260 ori r20,lo8(2)
+ 464 007a 2295 swap r18
+ 465 007c 207F andi r18,lo8(-16)
+ 466 007e 422B or r20,r18
+ 467 0080 812F mov r24,r17
+ 468 .LVL21:
+ 469 0082 0E94 0000 call Endpoint_ConfigureEndpoint_Prv
+ 470 .LVL22:
+ 471 .LBE67:
+ 472 .LSM52:
+ 473 0086 8823 tst r24
+ 474 0088 01F0 breq .L18
+ 475 .L13:
+ 476 .LBE66:
+ 477 .LSM53:
+ 478 008a 1F5F subi r17,lo8(-(1))
+ 479 008c 1530 cpi r17,lo8(5)
+ 480 008e 01F4 brne .L19
+ 481 0090 81E0 ldi r24,lo8(1)
+ 482 .L18:
+ 483 /* epilogue start */
+ 484 .LBE65:
+ 485 .LSM54:
+ 486 0092 DF91 pop r29
+ 487 0094 CF91 pop r28
+ 488 .LVL23:
+ 489 0096 1F91 pop r17
+ 490 .LVL24:
+ 491 0098 0895 ret
+ 492 .LFE82:
+ 494 .section .text.RNDIS_Device_ProcessControlRequest,"ax",@progbits
+ 495 .global RNDIS_Device_ProcessControlRequest
+ 497 RNDIS_Device_ProcessControlRequest:
+ 498 .LFB81:
+ 499 .LSM55:
+ 500 .LVL25:
+ 501 0000 EF92 push r14
+ 502 0002 FF92 push r15
+ 503 0004 0F93 push r16
+ 504 0006 1F93 push r17
+ 505 0008 CF93 push r28
+ 506 000a DF93 push r29
+ 507 /* prologue: function */
+ 508 /* frame size = 0 */
+ 509 000c EC01 movw r28,r24
+ 510 .LBB89:
+ 511 .LBB90:
+ 512 .LSM56:
+ 513 000e 8091 E800 lds r24,232
+ 514 .LVL26:
+ 515 .LBE90:
+ 516 .LBE89:
+ 517 .LSM57:
+ 518 0012 83FF sbrs r24,3
+ 519 0014 00C0 rjmp .L63
+ 520 .LSM58:
+ 521 0016 8881 ld r24,Y
+ 522 0018 90E0 ldi r25,lo8(0)
+ 523 001a 2091 0000 lds r18,USB_ControlRequest+4
+ 524 001e 3091 0000 lds r19,(USB_ControlRequest+4)+1
+ 525 0022 2817 cp r18,r24
+ 526 0024 3907 cpc r19,r25
+ 527 0026 01F0 breq .+2
+ 528 0028 00C0 rjmp .L63
+ 529 .LSM59:
+ 530 002a 8091 0000 lds r24,USB_ControlRequest+1
+ 531 002e 8823 tst r24
+ 532 0030 01F0 breq .L25
+ 533 0032 8130 cpi r24,lo8(1)
+ 534 0034 01F0 breq .+2
+ 535 0036 00C0 rjmp .L63
+ 536 0038 00C0 rjmp .L71
+ 537 .L25:
+ 538 .LSM60:
+ 539 003a 8091 0000 lds r24,USB_ControlRequest
+ 540 003e 8132 cpi r24,lo8(33)
+ 541 0040 01F0 breq .+2
+ 542 0042 00C0 rjmp .L63
+ 543 .LBB91:
+ 544 .LBB92:
+ 545 .LSM61:
+ 546 0044 8091 E800 lds r24,232
+ 547 0048 877F andi r24,lo8(-9)
+ 548 004a 8093 E800 sts 232,r24
+ 549 .LBE92:
+ 550 .LBE91:
+ 551 .LSM62:
+ 552 004e 8E01 movw r16,r28
+ 553 0050 0B5E subi r16,lo8(-(21))
+ 554 0052 1F4F sbci r17,hi8(-(21))
+ 555 0054 6091 0000 lds r22,USB_ControlRequest+6
+ 556 0058 7091 0000 lds r23,(USB_ControlRequest+6)+1
+ 557 005c C801 movw r24,r16
+ 558 005e 0E94 0000 call Endpoint_Read_Control_Stream_LE
+ 559 .LBB93:
+ 560 .LBB94:
+ 561 .LSM63:
+ 562 0062 8091 E800 lds r24,232
+ 563 0066 8E77 andi r24,lo8(126)
+ 564 0068 8093 E800 sts 232,r24
+ 565 .LBE94:
+ 566 .LBE93:
+ 567 .LBB95:
+ 568 .LBB96:
+ 569 .LSM64:
+ 570 006c 8D89 ldd r24,Y+21
+ 571 006e 9E89 ldd r25,Y+22
+ 572 0070 AF89 ldd r26,Y+23
+ 573 0072 B88D ldd r27,Y+24
+ 574 0074 8430 cpi r24,lo8(4)
+ 575 0076 9105 cpc r25,__zero_reg__
+ 576 0078 A105 cpc r26,__zero_reg__
+ 577 007a B105 cpc r27,__zero_reg__
+ 578 007c 01F4 brne .+2
+ 579 007e 00C0 rjmp .L29
+ 580 0080 8530 cpi r24,lo8(5)
+ 581 0082 9105 cpc r25,__zero_reg__
+ 582 0084 A105 cpc r26,__zero_reg__
+ 583 0086 B105 cpc r27,__zero_reg__
+ 584 0088 00F4 brsh .L33
+ 585 008a 8230 cpi r24,lo8(2)
+ 586 008c 9105 cpc r25,__zero_reg__
+ 587 008e A105 cpc r26,__zero_reg__
+ 588 0090 B105 cpc r27,__zero_reg__
+ 589 0092 01F0 breq .L27
+ 590 0094 0397 sbiw r24,3
+ 591 0096 A105 cpc r26,__zero_reg__
+ 592 0098 B105 cpc r27,__zero_reg__
+ 593 009a 01F0 breq .+2
+ 594 009c 00C0 rjmp .L63
+ 595 009e 00C0 rjmp .L72
+ 596 .L33:
+ 597 00a0 8630 cpi r24,lo8(6)
+ 598 00a2 9105 cpc r25,__zero_reg__
+ 599 00a4 A105 cpc r26,__zero_reg__
+ 600 00a6 B105 cpc r27,__zero_reg__
+ 601 00a8 01F4 brne .+2
+ 602 00aa 00C0 rjmp .L31
+ 603 00ac 8630 cpi r24,lo8(6)
+ 604 00ae 9105 cpc r25,__zero_reg__
+ 605 00b0 A105 cpc r26,__zero_reg__
+ 606 00b2 B105 cpc r27,__zero_reg__
+ 607 00b4 00F4 brsh .+2
+ 608 00b6 00C0 rjmp .L30
+ 609 00b8 0897 sbiw r24,8
+ 610 00ba A105 cpc r26,__zero_reg__
+ 611 00bc B105 cpc r27,__zero_reg__
+ 612 00be 01F0 breq .+2
+ 613 00c0 00C0 rjmp .L63
+ 614 00c2 00C0 rjmp .L73
+ 615 .L27:
+ 616 .LBB97:
+ 617 .LSM65:
+ 618 00c4 CB56 subi r28,lo8(-(149))
+ 619 00c6 DF4F sbci r29,hi8(-(149))
+ 620 00c8 21E0 ldi r18,lo8(1)
+ 621 00ca 2883 st Y,r18
+ 622 00cc C559 subi r28,lo8(-(-149))
+ 623 00ce D040 sbci r29,hi8(-(-149))
+ 624 .LSM66:
+ 625 00d0 82E0 ldi r24,lo8(-2147483646)
+ 626 00d2 90E0 ldi r25,hi8(-2147483646)
+ 627 00d4 A0E0 ldi r26,hlo8(-2147483646)
+ 628 00d6 B0E8 ldi r27,hhi8(-2147483646)
+ 629 00d8 8D8B std Y+21,r24
+ 630 00da 9E8B std Y+22,r25
+ 631 00dc AF8B std Y+23,r26
+ 632 00de B88F std Y+24,r27
+ 633 .LSM67:
+ 634 00e0 84E3 ldi r24,lo8(52)
+ 635 00e2 90E0 ldi r25,hi8(52)
+ 636 00e4 A0E0 ldi r26,hlo8(52)
+ 637 00e6 B0E0 ldi r27,hhi8(52)
+ 638 00e8 F801 movw r30,r16
+ 639 00ea 8483 std Z+4,r24
+ 640 00ec 9583 std Z+5,r25
+ 641 00ee A683 std Z+6,r26
+ 642 00f0 B783 std Z+7,r27
+ 643 .LSM68:
+ 644 00f2 1486 std Z+12,__zero_reg__
+ 645 00f4 1586 std Z+13,__zero_reg__
+ 646 00f6 1686 std Z+14,__zero_reg__
+ 647 00f8 1786 std Z+15,__zero_reg__
+ 648 .LSM69:
+ 649 00fa 81E0 ldi r24,lo8(1)
+ 650 00fc 90E0 ldi r25,hi8(1)
+ 651 00fe A0E0 ldi r26,hlo8(1)
+ 652 0100 B0E0 ldi r27,hhi8(1)
+ 653 0102 808B std Z+16,r24
+ 654 0104 918B std Z+17,r25
+ 655 0106 A28B std Z+18,r26
+ 656 0108 B38B std Z+19,r27
+ 657 .LSM70:
+ 658 010a 148A std Z+20,__zero_reg__
+ 659 010c 158A std Z+21,__zero_reg__
+ 660 010e 168A std Z+22,__zero_reg__
+ 661 0110 178A std Z+23,__zero_reg__
+ 662 .LSM71:
+ 663 0112 808F std Z+24,r24
+ 664 0114 918F std Z+25,r25
+ 665 0116 A28F std Z+26,r26
+ 666 0118 B38F std Z+27,r27
+ 667 .LSM72:
+ 668 011a 148E std Z+28,__zero_reg__
+ 669 011c 158E std Z+29,__zero_reg__
+ 670 011e 168E std Z+30,__zero_reg__
+ 671 0120 178E std Z+31,__zero_reg__
+ 672 .LSM73:
+ 673 0122 80A3 std Z+32,r24
+ 674 0124 91A3 std Z+33,r25
+ 675 0126 A2A3 std Z+34,r26
+ 676 0128 B3A3 std Z+35,r27
+ 677 .LSM74:
+ 678 012a 88E0 ldi r24,lo8(1544)
+ 679 012c 96E0 ldi r25,hi8(1544)
+ 680 012e A0E0 ldi r26,hlo8(1544)
+ 681 0130 B0E0 ldi r27,hhi8(1544)
+ 682 0132 84A3 std Z+36,r24
+ 683 0134 95A3 std Z+37,r25
+ 684 0136 A6A3 std Z+38,r26
+ 685 0138 B7A3 std Z+39,r27
+ 686 .LSM75:
+ 687 013a 10A6 std Z+40,__zero_reg__
+ 688 013c 11A6 std Z+41,__zero_reg__
+ 689 013e 12A6 std Z+42,__zero_reg__
+ 690 0140 13A6 std Z+43,__zero_reg__
+ 691 .LSM76:
+ 692 0142 14A6 std Z+44,__zero_reg__
+ 693 0144 15A6 std Z+45,__zero_reg__
+ 694 0146 16A6 std Z+46,__zero_reg__
+ 695 0148 17A6 std Z+47,__zero_reg__
+ 696 .LSM77:
+ 697 014a 10AA std Z+48,__zero_reg__
+ 698 014c 11AA std Z+49,__zero_reg__
+ 699 014e 12AA std Z+50,__zero_reg__
+ 700 0150 13AA std Z+51,__zero_reg__
+ 701 .LSM78:
+ 702 0152 CA56 subi r28,lo8(-(150))
+ 703 0154 DF4F sbci r29,hi8(-(150))
+ 704 0156 2883 st Y,r18
+ 705 0158 00C0 rjmp .L63
+ 706 .L72:
+ 707 .LSM79:
+ 708 015a CB56 subi r28,lo8(-(149))
+ 709 015c DF4F sbci r29,hi8(-(149))
+ 710 015e 1992 st Y+,__zero_reg__
+ 711 .LSM80:
+ 712 0160 F801 movw r30,r16
+ 713 0162 1482 std Z+4,__zero_reg__
+ 714 0164 1582 std Z+5,__zero_reg__
+ 715 0166 1682 std Z+6,__zero_reg__
+ 716 0168 1782 std Z+7,__zero_reg__
+ 717 .LSM81:
+ 718 016a 1882 st Y,__zero_reg__
+ 719 .LVL27:
+ 720 016c 00C0 rjmp .L63
+ 721 .LVL28:
+ 722 .L29:
+ 723 .LSM82:
+ 724 016e CB56 subi r28,lo8(-(149))
+ 725 0170 DF4F sbci r29,hi8(-(149))
+ 726 0172 81E0 ldi r24,lo8(1)
+ 727 0174 8883 st Y,r24
+ 728 0176 C559 subi r28,lo8(-(-149))
+ 729 0178 D040 sbci r29,hi8(-(-149))
+ 730 .LSM83:
+ 731 017a F801 movw r30,r16
+ 732 017c 2485 ldd r18,Z+12
+ 733 017e 3585 ldd r19,Z+13
+ 734 0180 4685 ldd r20,Z+14
+ 735 0182 5785 ldd r21,Z+15
+ 736 .LVL29:
+ 737 .LSM84:
+ 738 0184 6DE2 ldi r22,lo8(45)
+ 739 0186 E62E mov r14,r22
+ 740 0188 F12C mov r15,__zero_reg__
+ 741 .LVL30:
+ 742 018a EC0E add r14,r28
+ 743 018c FD1E adc r15,r29
+ 744 .LSM85:
+ 745 018e 84E0 ldi r24,lo8(-2147483644)
+ 746 0190 90E0 ldi r25,hi8(-2147483644)
+ 747 0192 A0E0 ldi r26,hlo8(-2147483644)
+ 748 0194 B0E8 ldi r27,hhi8(-2147483644)
+ 749 0196 8D8B std Y+21,r24
+ 750 0198 9E8B std Y+22,r25
+ 751 019a AF8B std Y+23,r26
+ 752 019c B88F std Y+24,r27
+ 753 .LSM86:
+ 754 019e 88E1 ldi r24,lo8(24)
+ 755 01a0 90E0 ldi r25,hi8(24)
+ 756 01a2 A0E0 ldi r26,hlo8(24)
+ 757 01a4 B0E0 ldi r27,hhi8(24)
+ 758 01a6 8483 std Z+4,r24
+ 759 01a8 9583 std Z+5,r25
+ 760 01aa A683 std Z+6,r26
+ 761 01ac B783 std Z+7,r27
+ 762 .LBB100:
+ 763 .LBB101:
+ 764 .LSM87:
+ 765 01ae 2E30 cpi r18,lo8(65806)
+ 766 01b0 F1E0 ldi r31,hi8(65806)
+ 767 01b2 3F07 cpc r19,r31
+ 768 01b4 F1E0 ldi r31,hlo8(65806)
+ 769 01b6 4F07 cpc r20,r31
+ 770 01b8 F0E0 ldi r31,hhi8(65806)
+ 771 01ba 5F07 cpc r21,r31
+ 772 01bc 01F4 brne .+2
+ 773 01be 00C0 rjmp .L42
+ 774 01c0 2F30 cpi r18,lo8(65807)
+ 775 01c2 61E0 ldi r22,hi8(65807)
+ 776 01c4 3607 cpc r19,r22
+ 777 01c6 61E0 ldi r22,hlo8(65807)
+ 778 01c8 4607 cpc r20,r22
+ 779 01ca 60E0 ldi r22,hhi8(65807)
+ 780 01cc 5607 cpc r21,r22
+ 781 01ce 00F0 brlo .+2
+ 782 01d0 00C0 rjmp .L49
+ 783 01d2 2630 cpi r18,lo8(65798)
+ 784 01d4 81E0 ldi r24,hi8(65798)
+ 785 01d6 3807 cpc r19,r24
+ 786 01d8 81E0 ldi r24,hlo8(65798)
+ 787 01da 4807 cpc r20,r24
+ 788 01dc 80E0 ldi r24,hhi8(65798)
+ 789 01de 5807 cpc r21,r24
+ 790 01e0 01F4 brne .+2
+ 791 01e2 00C0 rjmp .L38
+ 792 01e4 2730 cpi r18,lo8(65799)
+ 793 01e6 E1E0 ldi r30,hi8(65799)
+ 794 01e8 3E07 cpc r19,r30
+ 795 01ea E1E0 ldi r30,hlo8(65799)
+ 796 01ec 4E07 cpc r20,r30
+ 797 01ee E0E0 ldi r30,hhi8(65799)
+ 798 01f0 5E07 cpc r21,r30
+ 799 01f2 00F4 brsh .L50
+ 800 01f4 2230 cpi r18,lo8(65794)
+ 801 01f6 F1E0 ldi r31,hi8(65794)
+ 802 01f8 3F07 cpc r19,r31
+ 803 01fa F1E0 ldi r31,hlo8(65794)
+ 804 01fc 4F07 cpc r20,r31
+ 805 01fe F0E0 ldi r31,hhi8(65794)
+ 806 0200 5F07 cpc r21,r31
+ 807 0202 01F4 brne .+2
+ 808 0204 00C0 rjmp .L46
+ 809 0206 2330 cpi r18,lo8(65795)
+ 810 0208 61E0 ldi r22,hi8(65795)
+ 811 020a 3607 cpc r19,r22
+ 812 020c 61E0 ldi r22,hlo8(65795)
+ 813 020e 4607 cpc r20,r22
+ 814 0210 60E0 ldi r22,hhi8(65795)
+ 815 0212 5607 cpc r21,r22
+ 816 0214 00F4 brsh .L51
+ 817 0216 2150 subi r18,lo8(65793)
+ 818 0218 3140 sbci r19,hi8(65793)
+ 819 021a 4140 sbci r20,hlo8(65793)
+ 820 021c 5040 sbci r21,hhi8(65793)
+ 821 021e 01F0 breq .+2
+ 822 0220 00C0 rjmp .L34
+ 823 0222 00C0 rjmp .L74
+ 824 .L51:
+ 825 0224 2550 subi r18,lo8(65797)
+ 826 0226 3140 sbci r19,hi8(65797)
+ 827 0228 4140 sbci r20,hlo8(65797)
+ 828 022a 5040 sbci r21,hhi8(65797)
+ 829 022c 00F0 brlo .+2
+ 830 022e 00C0 rjmp .L34
+ 831 0230 00C0 rjmp .L46
+ 832 .L50:
+ 833 0232 2C30 cpi r18,lo8(65804)
+ 834 0234 F1E0 ldi r31,hi8(65804)
+ 835 0236 3F07 cpc r19,r31
+ 836 0238 F1E0 ldi r31,hlo8(65804)
+ 837 023a 4F07 cpc r20,r31
+ 838 023c F0E0 ldi r31,hhi8(65804)
+ 839 023e 5F07 cpc r21,r31
+ 840 0240 00F4 brsh .L52
+ 841 0242 2A30 cpi r18,lo8(65802)
+ 842 0244 61E0 ldi r22,hi8(65802)
+ 843 0246 3607 cpc r19,r22
+ 844 0248 61E0 ldi r22,hlo8(65802)
+ 845 024a 4607 cpc r20,r22
+ 846 024c 60E0 ldi r22,hhi8(65802)
+ 847 024e 5607 cpc r21,r22
+ 848 0250 00F0 brlo .+2
+ 849 0252 00C0 rjmp .L38
+ 850 0254 2750 subi r18,lo8(65799)
+ 851 0256 3140 sbci r19,hi8(65799)
+ 852 0258 4140 sbci r20,hlo8(65799)
+ 853 025a 5040 sbci r21,hhi8(65799)
+ 854 025c 01F0 breq .+2
+ 855 025e 00C0 rjmp .L34
+ 856 0260 00C0 rjmp .L75
+ 857 .L52:
+ 858 0262 2C30 cpi r18,lo8(65804)
+ 859 0264 E1E0 ldi r30,hi8(65804)
+ 860 0266 3E07 cpc r19,r30
+ 861 0268 E1E0 ldi r30,hlo8(65804)
+ 862 026a 4E07 cpc r20,r30
+ 863 026c E0E0 ldi r30,hhi8(65804)
+ 864 026e 5E07 cpc r21,r30
+ 865 0270 01F4 brne .+2
+ 866 0272 00C0 rjmp .L40
+ 867 0274 2D50 subi r18,lo8(65805)
+ 868 0276 3140 sbci r19,hi8(65805)
+ 869 0278 4140 sbci r20,hlo8(65805)
+ 870 027a 5040 sbci r21,hhi8(65805)
+ 871 027c 01F0 breq .+2
+ 872 027e 00C0 rjmp .L34
+ 873 0280 00C0 rjmp .L76
+ 874 .L49:
+ 875 0282 2630 cpi r18,lo8(131334)
+ 876 0284 61E0 ldi r22,hi8(131334)
+ 877 0286 3607 cpc r19,r22
+ 878 0288 62E0 ldi r22,hlo8(131334)
+ 879 028a 4607 cpc r20,r22
+ 880 028c 60E0 ldi r22,hhi8(131334)
+ 881 028e 5607 cpc r21,r22
+ 882 0290 00F4 brsh .L53
+ 883 0292 2130 cpi r18,lo8(131329)
+ 884 0294 81E0 ldi r24,hi8(131329)
+ 885 0296 3807 cpc r19,r24
+ 886 0298 82E0 ldi r24,hlo8(131329)
+ 887 029a 4807 cpc r20,r24
+ 888 029c 80E0 ldi r24,hhi8(131329)
+ 889 029e 5807 cpc r21,r24
+ 890 02a0 00F0 brlo .+2
+ 891 02a2 00C0 rjmp .L46
+ 892 02a4 2431 cpi r18,lo8(65812)
+ 893 02a6 E1E0 ldi r30,hi8(65812)
+ 894 02a8 3E07 cpc r19,r30
+ 895 02aa E1E0 ldi r30,hlo8(65812)
+ 896 02ac 4E07 cpc r20,r30
+ 897 02ae E0E0 ldi r30,hhi8(65812)
+ 898 02b0 5E07 cpc r21,r30
+ 899 02b2 01F4 brne .+2
+ 900 02b4 00C0 rjmp .L46
+ 901 02b6 2230 cpi r18,lo8(66050)
+ 902 02b8 F2E0 ldi r31,hi8(66050)
+ 903 02ba 3F07 cpc r19,r31
+ 904 02bc F1E0 ldi r31,hlo8(66050)
+ 905 02be 4F07 cpc r20,r31
+ 906 02c0 F0E0 ldi r31,hhi8(66050)
+ 907 02c2 5F07 cpc r21,r31
+ 908 02c4 01F4 brne .+2
+ 909 02c6 00C0 rjmp .L46
+ 910 02c8 2151 subi r18,lo8(65809)
+ 911 02ca 3140 sbci r19,hi8(65809)
+ 912 02cc 4140 sbci r20,hlo8(65809)
+ 913 02ce 5040 sbci r21,hhi8(65809)
+ 914 02d0 01F0 breq .+2
+ 915 02d2 00C0 rjmp .L34
+ 916 02d4 00C0 rjmp .L77
+ 917 .L53:
+ 918 02d6 2430 cpi r18,lo8(16843012)
+ 919 02d8 81E0 ldi r24,hi8(16843012)
+ 920 02da 3807 cpc r19,r24
+ 921 02dc 81E0 ldi r24,hlo8(16843012)
+ 922 02de 4807 cpc r20,r24
+ 923 02e0 81E0 ldi r24,hhi8(16843012)
+ 924 02e2 5807 cpc r21,r24
+ 925 02e4 01F4 brne .+2
+ 926 02e6 00C0 rjmp .L48
+ 927 02e8 2530 cpi r18,lo8(16843013)
+ 928 02ea E1E0 ldi r30,hi8(16843013)
+ 929 02ec 3E07 cpc r19,r30
+ 930 02ee E1E0 ldi r30,hlo8(16843013)
+ 931 02f0 4E07 cpc r20,r30
+ 932 02f2 E1E0 ldi r30,hhi8(16843013)
+ 933 02f4 5E07 cpc r21,r30
+ 934 02f6 00F4 brsh .L54
+ 935 02f8 2150 subi r18,lo8(-(-16843009))
+ 936 02fa 3140 sbci r19,hi8(-(-16843009))
+ 937 02fc 4140 sbci r20,hlo8(-(-16843009))
+ 938 02fe 5140 sbci r21,hhi8(-(-16843009))
+ 939 0300 2230 cpi r18,lo8(2)
+ 940 0302 3105 cpc r19,__zero_reg__
+ 941 0304 4105 cpc r20,__zero_reg__
+ 942 0306 5105 cpc r21,__zero_reg__
+ 943 0308 00F0 brlo .+2
+ 944 030a 00C0 rjmp .L34
+ 945 030c 00C0 rjmp .L78
+ 946 .L54:
+ 947 030e 2150 subi r18,lo8(-(-16908545))
+ 948 0310 3140 sbci r19,hi8(-(-16908545))
+ 949 0312 4240 sbci r20,hlo8(-(-16908545))
+ 950 0314 5140 sbci r21,hhi8(-(-16908545))
+ 951 0316 2330 cpi r18,lo8(3)
+ 952 0318 3105 cpc r19,__zero_reg__
+ 953 031a 4105 cpc r20,__zero_reg__
+ 954 031c 5105 cpc r21,__zero_reg__
+ 955 031e 00F0 brlo .+2
+ 956 0320 00C0 rjmp .L34
+ 957 0322 00C0 rjmp .L46
+ 958 .L74:
+ 959 .LSM88:
+ 960 0324 C701 movw r24,r14
+ 961 0326 60E0 ldi r22,lo8(AdapterSupportedOIDList)
+ 962 0328 70E0 ldi r23,hi8(AdapterSupportedOIDList)
+ 963 032a 4CE6 ldi r20,lo8(108)
+ 964 032c 50E0 ldi r21,hi8(108)
+ 965 032e 0E94 0000 call memcpy_P
+ 966 .LVL31:
+ 967 0332 CCE6 ldi r28,lo8(108)
+ 968 0334 D0E0 ldi r29,hi8(108)
+ 969 .LVL32:
+ 970 0336 00C0 rjmp .L55
+ 971 .LVL33:
+ 972 .L40:
+ 973 .LSM89:
+ 974 0338 8FEF ldi r24,lo8(16777215)
+ 975 033a 9FEF ldi r25,hi8(16777215)
+ 976 033c AFEF ldi r26,hlo8(16777215)
+ 977 033e B0E0 ldi r27,hhi8(16777215)
+ 978 0340 00C0 rjmp .L70
+ 979 .L38:
+ 980 .LSM90:
+ 981 0342 8CED ldi r24,lo8(1500)
+ 982 0344 95E0 ldi r25,hi8(1500)
+ 983 0346 A0E0 ldi r26,hlo8(1500)
+ 984 0348 B0E0 ldi r27,hhi8(1500)
+ 985 034a 00C0 rjmp .L70
+ 986 .L76:
+ 987 .LSM91:
+ 988 034c 6D85 ldd r22,Y+13
+ 989 034e 7E85 ldd r23,Y+14
+ 990 .LBE101:
+ 991 0350 FB01 movw r30,r22
+ 992 0352 EF01 movw r28,r30
+ 993 .LVL34:
+ 994 0354 0990 ld __tmp_reg__,Y+
+ 995 0356 0020 tst __tmp_reg__
+ 996 0358 01F4 brne .-6
+ 997 .LBB102:
+ 998 035a CE1B sub r28,r30
+ 999 035c DF0B sbc r29,r31
+ 1000 .LSM92:
+ 1001 035e C701 movw r24,r14
+ 1002 .LVL35:
+ 1003 0360 AE01 movw r20,r28
+ 1004 .LVL36:
+ 1005 0362 0E94 0000 call memcpy
+ 1006 .LVL37:
+ 1007 0366 00C0 rjmp .L55
+ 1008 .LVL38:
+ 1009 .L75:
+ 1010 .LSM93:
+ 1011 0368 80EA ldi r24,lo8(100000)
+ 1012 036a 96E8 ldi r25,hi8(100000)
+ 1013 036c A1E0 ldi r26,hlo8(100000)
+ 1014 036e B0E0 ldi r27,hhi8(100000)
+ 1015 0370 00C0 rjmp .L70
+ 1016 .L78:
+ 1017 .LSM94:
+ 1018 0372 D701 movw r26,r14
+ 1019 0374 FE01 movw r30,r28
+ 1020 0376 3F96 adiw r30,15
+ 1021 0378 86E0 ldi r24,lo8(6)
+ 1022 .LVL39:
+ 1023 .L57:
+ 1024 037a 0190 ld r0,Z+
+ 1025 037c 0D92 st X+,r0
+ 1026 037e 8150 subi r24,lo8(-(-1))
+ 1027 0380 01F4 brne .L57
+ 1028 0382 C6E0 ldi r28,lo8(6)
+ 1029 0384 D0E0 ldi r29,hi8(6)
+ 1030 .LVL40:
+ 1031 0386 00C0 rjmp .L55
+ 1032 .LVL41:
+ 1033 .L48:
+ 1034 .LSM95:
+ 1035 0388 81E0 ldi r24,lo8(1)
+ 1036 038a 90E0 ldi r25,hi8(1)
+ 1037 038c A0E0 ldi r26,hlo8(1)
+ 1038 038e B0E0 ldi r27,hhi8(1)
+ 1039 0390 00C0 rjmp .L70
+ 1040 .L42:
+ 1041 .LSM96:
+ 1042 0392 C956 subi r28,lo8(-(151))
+ 1043 0394 DF4F sbci r29,hi8(-(151))
+ 1044 0396 8881 ld r24,Y
+ 1045 0398 9981 ldd r25,Y+1
+ 1046 039a AA81 ldd r26,Y+2
+ 1047 039c BB81 ldd r27,Y+3
+ 1048 039e C759 subi r28,lo8(-(-151))
+ 1049 03a0 D040 sbci r29,hi8(-(-151))
+ 1050 03a2 00C0 rjmp .L70
+ 1051 .L46:
+ 1052 .LSM97:
+ 1053 03a4 1DA6 std Y+45,__zero_reg__
+ 1054 03a6 1EA6 std Y+46,__zero_reg__
+ 1055 03a8 1FA6 std Y+47,__zero_reg__
+ 1056 03aa 18AA std Y+48,__zero_reg__
+ 1057 03ac 00C0 rjmp .L68
+ 1058 .L77:
+ 1059 .LSM98:
+ 1060 03ae 8CE5 ldi r24,lo8(1628)
+ 1061 03b0 96E0 ldi r25,hi8(1628)
+ 1062 03b2 A0E0 ldi r26,hlo8(1628)
+ 1063 03b4 B0E0 ldi r27,hhi8(1628)
+ 1064 .L70:
+ 1065 03b6 8DA7 std Y+45,r24
+ 1066 03b8 9EA7 std Y+46,r25
+ 1067 03ba AFA7 std Y+47,r26
+ 1068 03bc B8AB std Y+48,r27
+ 1069 .L68:
+ 1070 03be C4E0 ldi r28,lo8(4)
+ 1071 03c0 D0E0 ldi r29,hi8(4)
+ 1072 .LVL42:
+ 1073 03c2 00C0 rjmp .L55
+ 1074 .LVL43:
+ 1075 .L34:
+ 1076 .LBE102:
+ 1077 .LBE100:
+ 1078 .LSM99:
+ 1079 03c4 8BEB ldi r24,lo8(-1073741637)
+ 1080 03c6 90E0 ldi r25,hi8(-1073741637)
+ 1081 03c8 A0E0 ldi r26,hlo8(-1073741637)
+ 1082 03ca B0EC ldi r27,hhi8(-1073741637)
+ 1083 03cc F801 movw r30,r16
+ 1084 03ce 8487 std Z+12,r24
+ 1085 03d0 9587 std Z+13,r25
+ 1086 03d2 A687 std Z+14,r26
+ 1087 03d4 B787 std Z+15,r27
+ 1088 .LSM100:
+ 1089 03d6 108A std Z+16,__zero_reg__
+ 1090 03d8 118A std Z+17,__zero_reg__
+ 1091 03da 128A std Z+18,__zero_reg__
+ 1092 03dc 138A std Z+19,__zero_reg__
+ 1093 .LSM101:
+ 1094 03de 148A std Z+20,__zero_reg__
+ 1095 03e0 158A std Z+21,__zero_reg__
+ 1096 03e2 168A std Z+22,__zero_reg__
+ 1097 03e4 178A std Z+23,__zero_reg__
+ 1098 03e6 00C0 rjmp .L63
+ 1099 .LVL44:
+ 1100 .L30:
+ 1101 .LSM102:
+ 1102 03e8 CB56 subi r28,lo8(-(149))
+ 1103 03ea DF4F sbci r29,hi8(-(149))
+ 1104 03ec 81E0 ldi r24,lo8(1)
+ 1105 03ee 8883 st Y,r24
+ 1106 03f0 C559 subi r28,lo8(-(-149))
+ 1107 03f2 D040 sbci r29,hi8(-(-149))
+ 1108 .LSM103:
+ 1109 03f4 F801 movw r30,r16
+ 1110 03f6 2485 ldd r18,Z+12
+ 1111 03f8 3585 ldd r19,Z+13
+ 1112 03fa 4685 ldd r20,Z+14
+ 1113 03fc 5785 ldd r21,Z+15
+ 1114 .LVL45:
+ 1115 .LSM104:
+ 1116 03fe 85E0 ldi r24,lo8(-2147483643)
+ 1117 0400 90E0 ldi r25,hi8(-2147483643)
+ 1118 0402 A0E0 ldi r26,hlo8(-2147483643)
+ 1119 0404 B0E8 ldi r27,hhi8(-2147483643)
+ 1120 0406 8D8B std Y+21,r24
+ 1121 0408 9E8B std Y+22,r25
+ 1122 040a AF8B std Y+23,r26
+ 1123 040c B88F std Y+24,r27
+ 1124 .LSM105:
+ 1125 040e 80E1 ldi r24,lo8(16)
+ 1126 0410 90E0 ldi r25,hi8(16)
+ 1127 0412 A0E0 ldi r26,hlo8(16)
+ 1128 0414 B0E0 ldi r27,hhi8(16)
+ 1129 0416 8483 std Z+4,r24
+ 1130 0418 9583 std Z+5,r25
+ 1131 041a A683 std Z+6,r26
+ 1132 041c B783 std Z+7,r27
+ 1133 .LSM106:
+ 1134 041e 8489 ldd r24,Z+20
+ 1135 0420 9589 ldd r25,Z+21
+ 1136 0422 A689 ldd r26,Z+22
+ 1137 0424 B789 ldd r27,Z+23
+ 1138 .LBB98:
+ 1139 .LBB99:
+ 1140 .LSM107:
+ 1141 0426 2E30 cpi r18,lo8(65806)
+ 1142 0428 F1E0 ldi r31,hi8(65806)
+ 1143 042a 3F07 cpc r19,r31
+ 1144 042c F1E0 ldi r31,hlo8(65806)
+ 1145 042e 4F07 cpc r20,r31
+ 1146 0430 F0E0 ldi r31,hhi8(65806)
+ 1147 0432 5F07 cpc r21,r31
+ 1148 0434 01F0 breq .L59
+ 1149 0436 2350 subi r18,lo8(16843011)
+ 1150 0438 3140 sbci r19,hi8(16843011)
+ 1151 043a 4140 sbci r20,hlo8(16843011)
+ 1152 043c 5140 sbci r21,hhi8(16843011)
+ 1153 043e 01F0 breq .L67
+ 1154 0440 8BEB ldi r24,lo8(-1073741637)
+ 1155 0442 90E0 ldi r25,hi8(-1073741637)
+ 1156 0444 A0E0 ldi r26,hlo8(-1073741637)
+ 1157 0446 B0EC ldi r27,hhi8(-1073741637)
+ 1158 0448 00C0 rjmp .L61
+ 1159 .L59:
+ 1160 .LSM108:
+ 1161 044a FE01 movw r30,r28
+ 1162 044c E80F add r30,r24
+ 1163 044e F91F adc r31,r25
+ 1164 0450 858D ldd r24,Z+29
+ 1165 0452 968D ldd r25,Z+30
+ 1166 0454 A78D ldd r26,Z+31
+ 1167 0456 B0A1 ldd r27,Z+32
+ 1168 0458 C956 subi r28,lo8(-(151))
+ 1169 045a DF4F sbci r29,hi8(-(151))
+ 1170 045c 8883 st Y,r24
+ 1171 045e 9983 std Y+1,r25
+ 1172 0460 AA83 std Y+2,r26
+ 1173 0462 BB83 std Y+3,r27
+ 1174 .LSM109:
+ 1175 0464 FE01 movw r30,r28
+ 1176 0466 82E0 ldi r24,lo8(2)
+ 1177 0468 8293 st -Z,r24
+ 1178 .L67:
+ 1179 046a 80E0 ldi r24,lo8(0)
+ 1180 046c 90E0 ldi r25,hi8(0)
+ 1181 046e A0E0 ldi r26,hlo8(0)
+ 1182 0470 B0E0 ldi r27,hhi8(0)
+ 1183 .L61:
+ 1184 .LBE99:
+ 1185 .LBE98:
+ 1186 .LSM110:
+ 1187 0472 F801 movw r30,r16
+ 1188 0474 8487 std Z+12,r24
+ 1189 0476 9587 std Z+13,r25
+ 1190 0478 A687 std Z+14,r26
+ 1191 047a B787 std Z+15,r27
+ 1192 047c 00C0 rjmp .L63
+ 1193 .LVL46:
+ 1194 .L31:
+ 1195 .LSM111:
+ 1196 047e CB56 subi r28,lo8(-(149))
+ 1197 0480 DF4F sbci r29,hi8(-(149))
+ 1198 0482 81E0 ldi r24,lo8(1)
+ 1199 0484 8883 st Y,r24
+ 1200 0486 C559 subi r28,lo8(-(-149))
+ 1201 0488 D040 sbci r29,hi8(-(-149))
+ 1202 .LSM112:
+ 1203 048a 86E0 ldi r24,lo8(-2147483642)
+ 1204 048c 90E0 ldi r25,hi8(-2147483642)
+ 1205 048e A0E0 ldi r26,hlo8(-2147483642)
+ 1206 0490 B0E8 ldi r27,hhi8(-2147483642)
+ 1207 0492 8D8B std Y+21,r24
+ 1208 0494 9E8B std Y+22,r25
+ 1209 0496 AF8B std Y+23,r26
+ 1210 0498 B88F std Y+24,r27
+ 1211 .LSM113:
+ 1212 049a 80E1 ldi r24,lo8(16)
+ 1213 049c 90E0 ldi r25,hi8(16)
+ 1214 049e A0E0 ldi r26,hlo8(16)
+ 1215 04a0 B0E0 ldi r27,hhi8(16)
+ 1216 04a2 F801 movw r30,r16
+ 1217 04a4 8483 std Z+4,r24
+ 1218 04a6 9583 std Z+5,r25
+ 1219 04a8 A683 std Z+6,r26
+ 1220 04aa B783 std Z+7,r27
+ 1221 .LSM114:
+ 1222 04ac 1086 std Z+8,__zero_reg__
+ 1223 04ae 1186 std Z+9,__zero_reg__
+ 1224 04b0 1286 std Z+10,__zero_reg__
+ 1225 04b2 1386 std Z+11,__zero_reg__
+ 1226 04b4 00C0 rjmp .L69
+ 1227 .L73:
+ 1228 .LSM115:
+ 1229 04b6 CB56 subi r28,lo8(-(149))
+ 1230 04b8 DF4F sbci r29,hi8(-(149))
+ 1231 04ba 81E0 ldi r24,lo8(1)
+ 1232 04bc 8883 st Y,r24
+ 1233 04be C559 subi r28,lo8(-(-149))
+ 1234 04c0 D040 sbci r29,hi8(-(-149))
+ 1235 .LSM116:
+ 1236 04c2 88E0 ldi r24,lo8(-2147483640)
+ 1237 04c4 90E0 ldi r25,hi8(-2147483640)
+ 1238 04c6 A0E0 ldi r26,hlo8(-2147483640)
+ 1239 04c8 B0E8 ldi r27,hhi8(-2147483640)
+ 1240 04ca 8D8B std Y+21,r24
+ 1241 04cc 9E8B std Y+22,r25
+ 1242 04ce AF8B std Y+23,r26
+ 1243 04d0 B88F std Y+24,r27
+ 1244 .LSM117:
+ 1245 04d2 80E1 ldi r24,lo8(16)
+ 1246 04d4 90E0 ldi r25,hi8(16)
+ 1247 04d6 A0E0 ldi r26,hlo8(16)
+ 1248 04d8 B0E0 ldi r27,hhi8(16)
+ 1249 04da F801 movw r30,r16
+ 1250 04dc 8483 std Z+4,r24
+ 1251 04de 9583 std Z+5,r25
+ 1252 04e0 A683 std Z+6,r26
+ 1253 04e2 B783 std Z+7,r27
+ 1254 .L69:
+ 1255 .LSM118:
+ 1256 04e4 1486 std Z+12,__zero_reg__
+ 1257 04e6 1586 std Z+13,__zero_reg__
+ 1258 04e8 1686 std Z+14,__zero_reg__
+ 1259 04ea 1786 std Z+15,__zero_reg__
+ 1260 04ec 00C0 rjmp .L63
+ 1261 .L71:
+ 1262 .LBE97:
+ 1263 .LBE96:
+ 1264 .LBE95:
+ 1265 .LSM119:
+ 1266 04ee 8091 0000 lds r24,USB_ControlRequest
+ 1267 04f2 813A cpi r24,lo8(-95)
+ 1268 04f4 01F0 breq .+2
+ 1269 04f6 00C0 rjmp .L63
+ 1270 .LBB105:
+ 1271 .LSM120:
+ 1272 04f8 8E01 movw r16,r28
+ 1273 .LVL47:
+ 1274 04fa 0B5E subi r16,lo8(-(21))
+ 1275 04fc 1F4F sbci r17,hi8(-(21))
+ 1276 .LSM121:
+ 1277 04fe F801 movw r30,r16
+ 1278 0500 8481 ldd r24,Z+4
+ 1279 0502 9581 ldd r25,Z+5
+ 1280 0504 A681 ldd r26,Z+6
+ 1281 0506 B781 ldd r27,Z+7
+ 1282 0508 0097 sbiw r24,0
+ 1283 050a A105 cpc r26,__zero_reg__
+ 1284 050c B105 cpc r27,__zero_reg__
+ 1285 050e 01F4 brne .L62
+ 1286 .LSM122:
+ 1287 0510 1D8A std Y+21,__zero_reg__
+ 1288 .LSM123:
+ 1289 0512 81E0 ldi r24,lo8(1)
+ 1290 0514 90E0 ldi r25,hi8(1)
+ 1291 0516 A0E0 ldi r26,hlo8(1)
+ 1292 0518 B0E0 ldi r27,hhi8(1)
+ 1293 051a 8483 std Z+4,r24
+ 1294 051c 9583 std Z+5,r25
+ 1295 051e A683 std Z+6,r26
+ 1296 0520 B783 std Z+7,r27
+ 1297 .L62:
+ 1298 .LBB106:
+ 1299 .LBB107:
+ 1300 .LSM124:
+ 1301 0522 8091 E800 lds r24,232
+ 1302 0526 877F andi r24,lo8(-9)
+ 1303 0528 8093 E800 sts 232,r24
+ 1304 .LBE107:
+ 1305 .LBE106:
+ 1306 .LSM125:
+ 1307 052c F801 movw r30,r16
+ 1308 052e 6481 ldd r22,Z+4
+ 1309 0530 7581 ldd r23,Z+5
+ 1310 0532 CE01 movw r24,r28
+ 1311 0534 4596 adiw r24,21
+ 1312 0536 0E94 0000 call Endpoint_Write_Control_Stream_LE
+ 1313 .LBB108:
+ 1314 .LBB109:
+ 1315 .LSM126:
+ 1316 053a 8091 E800 lds r24,232
+ 1317 053e 8B77 andi r24,lo8(123)
+ 1318 0540 8093 E800 sts 232,r24
+ 1319 .LBE109:
+ 1320 .LBE108:
+ 1321 .LSM127:
+ 1322 0544 F801 movw r30,r16
+ 1323 0546 1482 std Z+4,__zero_reg__
+ 1324 0548 1582 std Z+5,__zero_reg__
+ 1325 054a 1682 std Z+6,__zero_reg__
+ 1326 054c 1782 std Z+7,__zero_reg__
+ 1327 054e 00C0 rjmp .L63
+ 1328 .LVL48:
+ 1329 .L55:
+ 1330 .LBE105:
+ 1331 .LBB110:
+ 1332 .LBB104:
+ 1333 .LBB103:
+ 1334 .LSM128:
+ 1335 0550 F801 movw r30,r16
+ 1336 0552 1486 std Z+12,__zero_reg__
+ 1337 0554 1586 std Z+13,__zero_reg__
+ 1338 0556 1686 std Z+14,__zero_reg__
+ 1339 0558 1786 std Z+15,__zero_reg__
+ 1340 .LSM129:
+ 1341 055a CE01 movw r24,r28
+ 1342 055c A0E0 ldi r26,lo8(0)
+ 1343 055e B0E0 ldi r27,hi8(0)
+ 1344 0560 2481 ldd r18,Z+4
+ 1345 0562 3581 ldd r19,Z+5
+ 1346 0564 4681 ldd r20,Z+6
+ 1347 0566 5781 ldd r21,Z+7
+ 1348 .LVL49:
+ 1349 0568 280F add r18,r24
+ 1350 056a 391F adc r19,r25
+ 1351 056c 4A1F adc r20,r26
+ 1352 056e 5B1F adc r21,r27
+ 1353 0570 2483 std Z+4,r18
+ 1354 0572 3583 std Z+5,r19
+ 1355 0574 4683 std Z+6,r20
+ 1356 0576 5783 std Z+7,r21
+ 1357 .LSM130:
+ 1358 0578 808B std Z+16,r24
+ 1359 057a 918B std Z+17,r25
+ 1360 057c A28B std Z+18,r26
+ 1361 057e B38B std Z+19,r27
+ 1362 .LSM131:
+ 1363 0580 80E1 ldi r24,lo8(16)
+ 1364 0582 90E0 ldi r25,hi8(16)
+ 1365 0584 A0E0 ldi r26,hlo8(16)
+ 1366 0586 B0E0 ldi r27,hhi8(16)
+ 1367 0588 848B std Z+20,r24
+ 1368 058a 958B std Z+21,r25
+ 1369 058c A68B std Z+22,r26
+ 1370 058e B78B std Z+23,r27
+ 1371 .LVL50:
+ 1372 .L63:
+ 1373 /* epilogue start */
+ 1374 .LBE103:
+ 1375 .LBE104:
+ 1376 .LBE110:
+ 1377 .LSM132:
+ 1378 0590 DF91 pop r29
+ 1379 0592 CF91 pop r28
+ 1380 .LVL51:
+ 1381 0594 1F91 pop r17
+ 1382 0596 0F91 pop r16
+ 1383 .LVL52:
+ 1384 0598 FF90 pop r15
+ 1385 059a EF90 pop r14
+ 1386 .LVL53:
+ 1387 059c 0895 ret
+ 1388 .LFE81:
+ 1390 .data
+ 1393 C.9.3485:
+ 1394 0000 A1 .byte -95
+ 1395 0001 01 .byte 1
+ 1396 0002 0000 .word 0
+ 1397 0004 0000 .word 0
+ 1398 0006 0000 .word 0
+ 1399 .section .progmem.data,"a",@progbits
+ 1402 AdapterSupportedOIDList:
+ 1403 0000 01 .byte 1
+ 1404 0001 01 .byte 1
+ 1405 0002 01 .byte 1
+ 1406 0003 00 .byte 0
+ 1407 0004 02 .byte 2
+ 1408 0005 02 .byte 2
+ 1409 0006 01 .byte 1
+ 1410 0007 00 .byte 0
+ 1411 0008 02 .byte 2
+ 1412 0009 01 .byte 1
+ 1413 000a 01 .byte 1
+ 1414 000b 00 .byte 0
+ 1415 000c 03 .byte 3
+ 1416 000d 01 .byte 1
+ 1417 000e 01 .byte 1
+ 1418 000f 00 .byte 0
+ 1419 0010 04 .byte 4
+ 1420 0011 01 .byte 1
+ 1421 0012 01 .byte 1
+ 1422 0013 00 .byte 0
+ 1423 0014 06 .byte 6
+ 1424 0015 01 .byte 1
+ 1425 0016 01 .byte 1
+ 1426 0017 00 .byte 0
+ 1427 0018 11 .byte 17
+ 1428 0019 01 .byte 1
+ 1429 001a 01 .byte 1
+ 1430 001b 00 .byte 0
+ 1431 001c 07 .byte 7
+ 1432 001d 01 .byte 1
+ 1433 001e 01 .byte 1
+ 1434 001f 00 .byte 0
+ 1435 0020 0A .byte 10
+ 1436 0021 01 .byte 1
+ 1437 0022 01 .byte 1
+ 1438 0023 00 .byte 0
+ 1439 0024 0B .byte 11
+ 1440 0025 01 .byte 1
+ 1441 0026 01 .byte 1
+ 1442 0027 00 .byte 0
+ 1443 0028 0C .byte 12
+ 1444 0029 01 .byte 1
+ 1445 002a 01 .byte 1
+ 1446 002b 00 .byte 0
+ 1447 002c 0D .byte 13
+ 1448 002d 01 .byte 1
+ 1449 002e 01 .byte 1
+ 1450 002f 00 .byte 0
+ 1451 0030 0E .byte 14
+ 1452 0031 01 .byte 1
+ 1453 0032 01 .byte 1
+ 1454 0033 00 .byte 0
+ 1455 0034 11 .byte 17
+ 1456 0035 01 .byte 1
+ 1457 0036 01 .byte 1
+ 1458 0037 00 .byte 0
+ 1459 0038 14 .byte 20
+ 1460 0039 01 .byte 1
+ 1461 003a 01 .byte 1
+ 1462 003b 00 .byte 0
+ 1463 003c 01 .byte 1
+ 1464 003d 01 .byte 1
+ 1465 003e 02 .byte 2
+ 1466 003f 00 .byte 0
+ 1467 0040 02 .byte 2
+ 1468 0041 01 .byte 1
+ 1469 0042 02 .byte 2
+ 1470 0043 00 .byte 0
+ 1471 0044 03 .byte 3
+ 1472 0045 01 .byte 1
+ 1473 0046 02 .byte 2
+ 1474 0047 00 .byte 0
+ 1475 0048 04 .byte 4
+ 1476 0049 01 .byte 1
+ 1477 004a 02 .byte 2
+ 1478 004b 00 .byte 0
+ 1479 004c 05 .byte 5
+ 1480 004d 01 .byte 1
+ 1481 004e 02 .byte 2
+ 1482 004f 00 .byte 0
+ 1483 0050 01 .byte 1
+ 1484 0051 01 .byte 1
+ 1485 0052 01 .byte 1
+ 1486 0053 01 .byte 1
+ 1487 0054 02 .byte 2
+ 1488 0055 01 .byte 1
+ 1489 0056 01 .byte 1
+ 1490 0057 01 .byte 1
+ 1491 0058 03 .byte 3
+ 1492 0059 01 .byte 1
+ 1493 005a 01 .byte 1
+ 1494 005b 01 .byte 1
+ 1495 005c 04 .byte 4
+ 1496 005d 01 .byte 1
+ 1497 005e 01 .byte 1
+ 1498 005f 01 .byte 1
+ 1499 0060 01 .byte 1
+ 1500 0061 01 .byte 1
+ 1501 0062 02 .byte 2
+ 1502 0063 01 .byte 1
+ 1503 0064 02 .byte 2
+ 1504 0065 01 .byte 1
+ 1505 0066 02 .byte 2
+ 1506 0067 01 .byte 1
+ 1507 0068 03 .byte 3
+ 1508 0069 01 .byte 1
+ 1509 006a 02 .byte 2
+ 1510 006b 01 .byte 1
+ 1551 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 RNDIS.c
+ /tmp/ccEJ1rts.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccEJ1rts.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccEJ1rts.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccEJ1rts.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccEJ1rts.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccEJ1rts.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/ccEJ1rts.s:19 .text.RNDIS_Device_USBTask:0000000000000000 RNDIS_Device_USBTask
+ /tmp/ccEJ1rts.s:1393 .data:0000000000000000 C.9.3485
+ /tmp/ccEJ1rts.s:347 .text.RNDIS_Device_ConfigureEndpoints:0000000000000000 RNDIS_Device_ConfigureEndpoints
+ /tmp/ccEJ1rts.s:497 .text.RNDIS_Device_ProcessControlRequest:0000000000000000 RNDIS_Device_ProcessControlRequest
+ /tmp/ccEJ1rts.s:1402 .progmem.data:0000000000000000 AdapterSupportedOIDList
+
+UNDEFINED SYMBOLS
+USB_DeviceState
+Endpoint_Write_Stream_LE
+Endpoint_Read_Stream_LE
+Endpoint_ConfigureEndpoint_Prv
+USB_ControlRequest
+Endpoint_Read_Control_Stream_LE
+memcpy_P
+memcpy
+Endpoint_Write_Control_Stream_LE
+__do_copy_data
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/RNDIS.o b/firmware/LUFA/Drivers/USB/Class/Device/RNDIS.o
new file mode 100644
index 0000000..f525cda
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/RNDIS.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/Class/HID.h b/firmware/LUFA/Drivers/USB/Class/HID.h
new file mode 100644
index 0000000..7748f44
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/HID.h
@@ -0,0 +1,81 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the library USB HID Class driver.
+ *
+ * Master include file for the library USB HID Class driver, for both host and device modes, where available.
+ *
+ * This file should be included in all user projects making use of this optional class driver, instead of
+ * including any headers in the USB/ClassDriver/Device, USB/ClassDriver/Host or USB/ClassDriver/Common subdirectories.
+ */
+
+/** \ingroup Group_USBClassDrivers
+ * @defgroup Group_USBClassHID HID Class Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Device/HID.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ * - LUFA/Drivers/USB/Class/Host/HID.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ * - LUFA/Drivers/USB/Class/Host/HIDParser.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ *
+ * \section Module Description
+ * HID Class Driver module. This module contains an internal implementation of the USB HID Class, for both Device
+ * and Host USB modes. User applications can use this class driver instead of implementing the HID class manually
+ * via the low-level LUFA APIs.
+ *
+ * This module is designed to simplify the user code by exposing only the required interface needed to interface with
+ * Hosts or Devices using the USB HID Class.
+ *
+ * @{
+ */
+
+#ifndef _HID_CLASS_H_
+#define _HID_CLASS_H_
+
+ /* Macros: */
+ #define __INCLUDE_FROM_USB_DRIVER
+ #define __INCLUDE_FROM_HID_DRIVER
+
+ /* Includes: */
+ #include "../HighLevel/USBMode.h"
+
+ #if defined(USB_CAN_BE_DEVICE)
+ #include "Device/HID.h"
+ #endif
+
+ #if defined(USB_CAN_BE_HOST)
+ #include "Host/HID.h"
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/CDC.c b/firmware/LUFA/Drivers/USB/Class/Host/CDC.c
new file mode 100644
index 0000000..afa4629
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/CDC.c
@@ -0,0 +1,465 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../../HighLevel/USBMode.h"
+#if defined(USB_CAN_BE_HOST)
+
+#define __INCLUDE_FROM_CDC_DRIVER
+#define __INCLUDE_FROM_CDC_HOST_C
+#include "CDC.h"
+
+uint8_t CDC_Host_ConfigurePipes(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
+ uint16_t ConfigDescriptorSize,
+ void* ConfigDescriptorData)
+{
+ USB_Descriptor_Endpoint_t* DataINEndpoint = NULL;
+ USB_Descriptor_Endpoint_t* DataOUTEndpoint = NULL;
+ USB_Descriptor_Endpoint_t* NotificationEndpoint = NULL;
+ USB_Descriptor_Interface_t* CDCControlInterface = NULL;
+
+ memset(&CDCInterfaceInfo->State, 0x00, sizeof(CDCInterfaceInfo->State));
+
+ if (DESCRIPTOR_TYPE(ConfigDescriptorData) != DTYPE_Configuration)
+ return CDC_ENUMERROR_InvalidConfigDescriptor;
+
+ while (!(DataINEndpoint) || !(DataOUTEndpoint) || !(NotificationEndpoint))
+ {
+ if (!(CDCControlInterface) ||
+ USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_CDC_Host_NextCDCInterfaceEndpoint) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ if (NotificationEndpoint)
+ {
+ if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_CDC_Host_NextCDCDataInterface) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ return CDC_ENUMERROR_NoCompatibleInterfaceFound;
+ }
+
+ DataINEndpoint = NULL;
+ DataOUTEndpoint = NULL;
+ }
+ else
+ {
+ if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_CDC_Host_NextCDCControlInterface) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ return CDC_ENUMERROR_NoCompatibleInterfaceFound;
+ }
+
+ CDCControlInterface = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Interface_t);
+
+ NotificationEndpoint = NULL;
+ }
+
+ continue;
+ }
+
+ USB_Descriptor_Endpoint_t* EndpointData = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Endpoint_t);
+
+ if (EndpointData->EndpointAddress & ENDPOINT_DESCRIPTOR_DIR_IN)
+ {
+ if ((EndpointData->Attributes & EP_TYPE_MASK) == EP_TYPE_INTERRUPT)
+ NotificationEndpoint = EndpointData;
+ else
+ DataINEndpoint = EndpointData;
+ }
+ else
+ {
+ DataOUTEndpoint = EndpointData;
+ }
+ }
+
+ for (uint8_t PipeNum = 1; PipeNum < PIPE_TOTAL_PIPES; PipeNum++)
+ {
+ if (PipeNum == CDCInterfaceInfo->Config.DataINPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_BULK, PIPE_TOKEN_IN,
+ DataINEndpoint->EndpointAddress, DataINEndpoint->EndpointSize,
+ CDCInterfaceInfo->Config.DataINPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+
+ CDCInterfaceInfo->State.DataINPipeSize = DataINEndpoint->EndpointSize;
+ }
+ else if (PipeNum == CDCInterfaceInfo->Config.DataOUTPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_BULK, PIPE_TOKEN_OUT,
+ DataOUTEndpoint->EndpointAddress, DataOUTEndpoint->EndpointSize,
+ CDCInterfaceInfo->Config.DataOUTPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+
+ CDCInterfaceInfo->State.DataOUTPipeSize = DataOUTEndpoint->EndpointSize;
+ }
+ else if (PipeNum == CDCInterfaceInfo->Config.NotificationPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_INTERRUPT, PIPE_TOKEN_IN,
+ NotificationEndpoint->EndpointAddress, NotificationEndpoint->EndpointSize,
+ CDCInterfaceInfo->Config.NotificationPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+ Pipe_SetInterruptPeriod(NotificationEndpoint->PollingIntervalMS);
+
+ CDCInterfaceInfo->State.NotificationPipeSize = NotificationEndpoint->EndpointSize;
+ }
+ }
+
+ CDCInterfaceInfo->State.ControlInterfaceNumber = CDCControlInterface->InterfaceNumber;
+ CDCInterfaceInfo->State.ControlLineStates.HostToDevice = (CDC_CONTROL_LINE_OUT_RTS | CDC_CONTROL_LINE_OUT_DTR);
+ CDCInterfaceInfo->State.ControlLineStates.DeviceToHost = (CDC_CONTROL_LINE_IN_DCD | CDC_CONTROL_LINE_IN_DSR);
+ CDCInterfaceInfo->State.IsActive = true;
+
+ return CDC_ENUMERROR_NoError;
+}
+
+static uint8_t DCOMP_CDC_Host_NextCDCControlInterface(void* const CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Interface)
+ {
+ USB_Descriptor_Interface_t* Interface = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Interface_t);
+
+ if ((Interface->Class == CDC_CSCP_CDCClass) &&
+ (Interface->SubClass == CDC_CSCP_ACMSubclass) &&
+ (Interface->Protocol == CDC_CSCP_ATCommandProtocol))
+ {
+ return DESCRIPTOR_SEARCH_Found;
+ }
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+static uint8_t DCOMP_CDC_Host_NextCDCDataInterface(void* const CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Interface)
+ {
+ USB_Descriptor_Interface_t* Interface = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Interface_t);
+
+ if ((Interface->Class == CDC_CSCP_CDCDataClass) &&
+ (Interface->SubClass == CDC_CSCP_NoDataSubclass) &&
+ (Interface->Protocol == CDC_CSCP_NoDataProtocol))
+ {
+ return DESCRIPTOR_SEARCH_Found;
+ }
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+static uint8_t DCOMP_CDC_Host_NextCDCInterfaceEndpoint(void* const CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Endpoint)
+ {
+ USB_Descriptor_Endpoint_t* Endpoint = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Endpoint_t);
+
+ uint8_t EndpointType = (Endpoint->Attributes & EP_TYPE_MASK);
+
+ if (((EndpointType == EP_TYPE_BULK) || (EndpointType == EP_TYPE_INTERRUPT)) &&
+ !(Pipe_IsEndpointBound(Endpoint->EndpointAddress)))
+ {
+ return DESCRIPTOR_SEARCH_Found;
+ }
+ }
+ else if (Header->Type == DTYPE_Interface)
+ {
+ return DESCRIPTOR_SEARCH_Fail;
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+void CDC_Host_USBTask(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(CDCInterfaceInfo->State.IsActive))
+ return;
+
+ Pipe_SelectPipe(CDCInterfaceInfo->Config.NotificationPipeNumber);
+ Pipe_Unfreeze();
+
+ if (Pipe_IsINReceived())
+ {
+ USB_Request_Header_t Notification;
+ Pipe_Read_Stream_LE(&Notification, sizeof(USB_Request_Header_t), NO_STREAM_CALLBACK);
+
+ if ((Notification.bRequest == CDC_NOTIF_SerialState) &&
+ (Notification.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE)))
+ {
+ Pipe_Read_Stream_LE(&CDCInterfaceInfo->State.ControlLineStates.DeviceToHost,
+ sizeof(CDCInterfaceInfo->State.ControlLineStates.DeviceToHost),
+ NO_STREAM_CALLBACK);
+
+ Pipe_ClearIN();
+
+ EVENT_CDC_Host_ControLineStateChanged(CDCInterfaceInfo);
+ }
+ else
+ {
+ Pipe_ClearIN();
+ }
+ }
+
+ Pipe_Freeze();
+
+ #if !defined(NO_CLASS_DRIVER_AUTOFLUSH)
+ CDC_Host_Flush(CDCInterfaceInfo);
+ #endif
+}
+
+uint8_t CDC_Host_SetLineEncoding(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo)
+{
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = CDC_REQ_SetLineEncoding,
+ .wValue = 0,
+ .wIndex = CDCInterfaceInfo->State.ControlInterfaceNumber,
+ .wLength = sizeof(CDCInterfaceInfo->State.LineEncoding),
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ return USB_Host_SendControlRequest(&CDCInterfaceInfo->State.LineEncoding);
+}
+
+uint8_t CDC_Host_SendControlLineStateChange(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo)
+{
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = CDC_REQ_SetControlLineState,
+ .wValue = CDCInterfaceInfo->State.ControlLineStates.HostToDevice,
+ .wIndex = CDCInterfaceInfo->State.ControlInterfaceNumber,
+ .wLength = 0,
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ return USB_Host_SendControlRequest(NULL);
+}
+
+uint8_t CDC_Host_SendBreak(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
+ const uint8_t Duration)
+{
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = CDC_REQ_SendBreak,
+ .wValue = Duration,
+ .wIndex = CDCInterfaceInfo->State.ControlInterfaceNumber,
+ .wLength = 0,
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ return USB_Host_SendControlRequest(NULL);
+}
+
+uint8_t CDC_Host_SendString(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
+ const char* const Data,
+ const uint16_t Length)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(CDCInterfaceInfo->State.IsActive))
+ return PIPE_READYWAIT_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ Pipe_SelectPipe(CDCInterfaceInfo->Config.DataOUTPipeNumber);
+
+ Pipe_Unfreeze();
+ ErrorCode = Pipe_Write_Stream_LE(Data, Length, NO_STREAM_CALLBACK);
+ Pipe_Freeze();
+
+ return ErrorCode;
+}
+
+uint8_t CDC_Host_SendByte(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
+ const uint8_t Data)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(CDCInterfaceInfo->State.IsActive))
+ return PIPE_READYWAIT_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ Pipe_SelectPipe(CDCInterfaceInfo->Config.DataOUTPipeNumber);
+ Pipe_Unfreeze();
+
+ if (!(Pipe_IsReadWriteAllowed()))
+ {
+ Pipe_ClearOUT();
+
+ if ((ErrorCode = Pipe_WaitUntilReady()) != PIPE_READYWAIT_NoError)
+ return ErrorCode;
+ }
+
+ Pipe_Write_Byte(Data);
+ Pipe_Freeze();
+
+ return PIPE_READYWAIT_NoError;
+}
+
+uint16_t CDC_Host_BytesReceived(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(CDCInterfaceInfo->State.IsActive))
+ return 0;
+
+ Pipe_SelectPipe(CDCInterfaceInfo->Config.DataINPipeNumber);
+ Pipe_Unfreeze();
+
+ if (Pipe_IsINReceived())
+ {
+ if (!(Pipe_BytesInPipe()))
+ {
+ Pipe_ClearIN();
+ Pipe_Freeze();
+ return 0;
+ }
+ else
+ {
+ Pipe_Freeze();
+ return Pipe_BytesInPipe();
+ }
+ }
+ else
+ {
+ Pipe_Freeze();
+
+ return 0;
+ }
+}
+
+int16_t CDC_Host_ReceiveByte(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(CDCInterfaceInfo->State.IsActive))
+ return -1;
+
+ int16_t ReceivedByte = -1;
+
+ Pipe_SelectPipe(CDCInterfaceInfo->Config.DataINPipeNumber);
+ Pipe_Unfreeze();
+
+ if (Pipe_IsINReceived())
+ {
+ if (Pipe_BytesInPipe())
+ ReceivedByte = Pipe_Read_Byte();
+
+ if (!(Pipe_BytesInPipe()))
+ Pipe_ClearIN();
+ }
+
+ Pipe_Freeze();
+
+ return ReceivedByte;
+}
+
+uint8_t CDC_Host_Flush(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(CDCInterfaceInfo->State.IsActive))
+ return PIPE_READYWAIT_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ Pipe_SelectPipe(CDCInterfaceInfo->Config.DataOUTPipeNumber);
+ Pipe_Unfreeze();
+
+ if (!(Pipe_BytesInPipe()))
+ return PIPE_READYWAIT_NoError;
+
+ bool BankFull = !(Pipe_IsReadWriteAllowed());
+
+ Pipe_ClearOUT();
+
+ if (BankFull)
+ {
+ if ((ErrorCode = Pipe_WaitUntilReady()) != PIPE_READYWAIT_NoError)
+ return ErrorCode;
+
+ Pipe_ClearOUT();
+ }
+
+ Pipe_Freeze();
+
+ return PIPE_READYWAIT_NoError;
+}
+
+void CDC_Host_CreateStream(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
+ FILE* const Stream)
+{
+ *Stream = (FILE)FDEV_SETUP_STREAM(CDC_Host_putchar, CDC_Host_getchar, _FDEV_SETUP_RW);
+ fdev_set_udata(Stream, CDCInterfaceInfo);
+}
+
+void CDC_Host_CreateBlockingStream(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
+ FILE* const Stream)
+{
+ *Stream = (FILE)FDEV_SETUP_STREAM(CDC_Host_putchar, CDC_Host_getchar_Blocking, _FDEV_SETUP_RW);
+ fdev_set_udata(Stream, CDCInterfaceInfo);
+}
+
+static int CDC_Host_putchar(char c,
+ FILE* Stream)
+{
+ return CDC_Host_SendByte((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream), c) ? _FDEV_ERR : 0;
+}
+
+static int CDC_Host_getchar(FILE* Stream)
+{
+ int16_t ReceivedByte = CDC_Host_ReceiveByte((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream));
+
+ if (ReceivedByte < 0)
+ return _FDEV_EOF;
+
+ return ReceivedByte;
+}
+
+static int CDC_Host_getchar_Blocking(FILE* Stream)
+{
+ int16_t ReceivedByte;
+
+ while ((ReceivedByte = CDC_Host_ReceiveByte((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream))) < 0)
+ {
+ if (USB_HostState == HOST_STATE_Unattached)
+ return _FDEV_EOF;
+
+ CDC_Host_USBTask((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream));
+ USB_USBTask();
+ }
+
+ return ReceivedByte;
+}
+
+void CDC_Host_Event_Stub(void)
+{
+
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/CDC.h b/firmware/LUFA/Drivers/USB/Class/Host/CDC.h
new file mode 100644
index 0000000..4128fe1
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/CDC.h
@@ -0,0 +1,334 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Host mode driver for the library USB CDC Class driver.
+ *
+ * Host mode driver for the library USB CDC Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassCDC
+ * @defgroup Group_USBClassCDCHost CDC Class Host Mode Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Host/CDC.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Host Mode USB Class driver framework interface, for the CDC USB Class driver.
+ *
+ * @{
+ */
+
+#ifndef __CDC_CLASS_HOST_H__
+#define __CDC_CLASS_HOST_H__
+
+ /* Includes: */
+ #include "../../USB.h"
+ #include "../Common/CDC.h"
+
+ #include <stdio.h>
+ #include <string.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_CDC_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ #if defined(__INCLUDE_FROM_CDC_HOST_C) && defined(NO_STREAM_CALLBACKS)
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Type Defines: */
+ /** \brief CDC Class Host Mode Configuration and State Structure.
+ *
+ * Class state structure. An instance of this structure should be made within the user application,
+ * and passed to each of the CDC class driver functions as the CDCInterfaceInfo parameter. This
+ * stores each CDC interface's configuration and state information.
+ */
+ typedef struct
+ {
+ const struct
+ {
+ uint8_t DataINPipeNumber; /**< Pipe number of the CDC interface's IN data pipe. */
+ bool DataINPipeDoubleBank; /**< Indicates if the CDC interface's IN data pipe should use double banking. */
+
+ uint8_t DataOUTPipeNumber; /**< Pipe number of the CDC interface's OUT data pipe. */
+ bool DataOUTPipeDoubleBank; /**< Indicates if the CDC interface's OUT data pipe should use double banking. */
+
+ uint8_t NotificationPipeNumber; /**< Pipe number of the CDC interface's IN notification endpoint, if used. */
+ bool NotificationPipeDoubleBank; /**< Indicates if the CDC interface's notification pipe should use double banking. */
+ } Config; /**< Config data for the USB class interface within the device. All elements in this section
+ * <b>must</b> be set or the interface will fail to enumerate and operate correctly.
+ */
+ struct
+ {
+ bool IsActive; /**< Indicates if the current interface instance is connected to an attached device, valid
+ * after \ref CDC_Host_ConfigurePipes() is called and the Host state machine is in the
+ * Configured state.
+ */
+ uint8_t ControlInterfaceNumber; /**< Interface index of the CDC-ACM control interface within the attached device. */
+
+ uint16_t DataINPipeSize; /**< Size in bytes of the CDC interface's IN data pipe. */
+ uint16_t DataOUTPipeSize; /**< Size in bytes of the CDC interface's OUT data pipe. */
+ uint16_t NotificationPipeSize; /**< Size in bytes of the CDC interface's IN notification pipe, if used. */
+
+ struct
+ {
+ uint8_t HostToDevice; /**< Control line states from the host to device, as a set of CDC_CONTROL_LINE_OUT_*
+ * masks - to notify the device of changes to these values, call the
+ * \ref CDC_Host_SendControlLineStateChange() function.
+ */
+ uint8_t DeviceToHost; /**< Control line states from the device to host, as a set of CDC_CONTROL_LINE_IN_*
+ * masks. This value is updated each time \ref CDC_Host_USBTask() is called.
+ */
+ } ControlLineStates; /**< Current states of the virtual serial port's control lines between the device and host. */
+
+ CDC_LineEncoding_t LineEncoding; /**< Line encoding used in the virtual serial port, for the device's information.
+ * This is generally only used if the virtual serial port data is to be
+ * reconstructed on a physical UART. When set by the host application, the
+ * \ref CDC_Host_SetLineEncoding() function must be called to push the changes
+ * to the device.
+ */
+ } State; /**< State data for the USB class interface within the device. All elements in this section
+ * <b>may</b> be set to initial values, but may also be ignored to default to sane values when
+ * the interface is enumerated.
+ */
+ } USB_ClassInfo_CDC_Host_t;
+
+ /* Enums: */
+ /** Enum for the possible error codes returned by the \ref CDC_Host_ConfigurePipes() function. */
+ enum CDC_Host_EnumerationFailure_ErrorCodes_t
+ {
+ CDC_ENUMERROR_NoError = 0, /**< Configuration Descriptor was processed successfully. */
+ CDC_ENUMERROR_InvalidConfigDescriptor = 1, /**< The device returned an invalid Configuration Descriptor. */
+ CDC_ENUMERROR_NoCompatibleInterfaceFound = 2, /**< A compatible CDC interface was not found in the device's Configuration Descriptor. */
+ };
+
+ /* Function Prototypes: */
+ /** General management task for a given CDC host class interface, required for the correct operation of the interface. This should
+ * be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing an CDC Class host configuration and state.
+ */
+ void CDC_Host_USBTask(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Host interface configuration routine, to configure a given CDC host interface instance using the Configuration
+ * Descriptor read from an attached USB device. This function automatically updates the given CDC Host instance's
+ * state values and configures the pipes required to communicate with the interface if it is found within the device.
+ * This should be called once after the stack has enumerated the attached device, while the host state machine is in
+ * the Addressed state.
+ *
+ * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other
+ * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes
+ * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing an CDC Class host configuration and state.
+ * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor.
+ * \param[in] DeviceConfigDescriptor Pointer to a buffer containing the attached device's Configuration Descriptor.
+ *
+ * \return A value from the \ref CDC_Host_EnumerationFailure_ErrorCodes_t enum.
+ */
+ uint8_t CDC_Host_ConfigurePipes(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
+ uint16_t ConfigDescriptorSize,
+ void* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
+
+ /** Sets the line encoding for the attached device's virtual serial port. This should be called when the LineEncoding
+ * values of the interface have been changed to push the new settings to the USB device.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class host configuration and state.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum.
+ */
+ uint8_t CDC_Host_SetLineEncoding(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Sends a Serial Control Line State Change notification to the device. This should be called when the virtual serial
+ * control lines (DTR, RTS, etc.) have changed states. Line states persist until they are cleared via a second
+ * notification. This should be called each time the CDC class driver's ControlLineStates.HostToDevice value is updated
+ * to push the new states to the USB device.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class host configuration and state.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum.
+ */
+ uint8_t CDC_Host_SendControlLineStateChange(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Sends a Send Break request to the device. This is generally used to separate data data or to indicate a special condition
+ * to the receiving device.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class host configuration and state.
+ * \param[in] Duration Duration of the break, in milliseconds.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum.
+ */
+ uint8_t CDC_Host_SendBreak(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
+ const uint8_t Duration) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Sends a given string to the attached USB device, if connected. If a device is not connected when the function is called, the
+ * string is discarded. Bytes will be queued for transmission to the device until either the pipe bank becomes full, or the
+ * \ref CDC_Host_Flush() function is called to flush the pending data to the host. This allows for multiple bytes to be
+ * packed into a single pipe packet, increasing data throughput.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class host configuration and state.
+ * \param[in] Data Pointer to the string to send to the device.
+ * \param[in] Length Size in bytes of the string to send to the device.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t CDC_Host_SendString(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
+ const char* const Data,
+ const uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Sends a given byte to the attached USB device, if connected. If a device is not connected when the function is called, the
+ * byte is discarded. Bytes will be queued for transmission to the device until either the pipe bank becomes full, or the
+ * \ref CDC_Host_Flush() function is called to flush the pending data to the host. This allows for multiple bytes to be
+ * packed into a single pipe packet, increasing data throughput.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class host configuration and state.
+ * \param[in] Data Byte of data to send to the device.
+ *
+ * \return A value from the \ref Pipe_WaitUntilReady_ErrorCodes_t enum.
+ */
+ uint8_t CDC_Host_SendByte(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
+ const uint8_t Data) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Determines the number of bytes received by the CDC interface from the device, waiting to be read. This indicates the number
+ * of bytes in the IN pipe bank only, and thus the number of calls to \ref CDC_Host_ReceiveByte() which are guaranteed to succeed
+ * immediately. If multiple bytes are to be received, they should be buffered by the user application, as the pipe bank will not be
+ * released back to the USB controller until all bytes are read.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class host configuration and state.
+ *
+ * \return Total number of buffered bytes received from the device.
+ */
+ uint16_t CDC_Host_BytesReceived(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Reads a byte of data from the device. If no data is waiting to be read of if a USB device is not connected, the function
+ * returns a negative value. The \ref CDC_Host_BytesReceived() function may be queried in advance to determine how many bytes
+ * are currently buffered in the CDC interface's data receive pipe.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class host configuration and state.
+ *
+ * \return Next received byte from the device, or a negative value if no data received.
+ */
+ int16_t CDC_Host_ReceiveByte(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Flushes any data waiting to be sent, ensuring that the send buffer is cleared.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class host configuration and state.
+ *
+ * \return A value from the \ref Pipe_WaitUntilReady_ErrorCodes_t enum.
+ */
+ uint8_t CDC_Host_Flush(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Creates a standard character stream for the given CDC Device instance so that it can be used with all the regular
+ * functions in the avr-libc <stdio.h> library that accept a FILE stream as a destination (e.g. fprintf). The created
+ * stream is bidirectional and can be used for both input and output functions.
+ *
+ * \note The created stream can be given as stdout if desired to direct the standard output from all <stdio.h> functions
+ * to the given CDC interface.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ * \param[in,out] Stream Pointer to a FILE structure where the created stream should be placed.
+ */
+ void CDC_Host_CreateStream(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
+ FILE* const Stream);
+
+ /** Identical to CDC_Host_CreateStream(), except that reads are blocking until the calling stream function terminates
+ * the transfer. While blocking, the USB and CDC service tasks are called repeatedly to maintain USB communications.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state.
+ * \param[in,out] Stream Pointer to a FILE structure where the created stream should be placed.
+ */
+ void CDC_Host_CreateBlockingStream(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
+ FILE* const Stream);
+
+ /** CDC class driver event for a control line state change on a CDC host interface. This event fires each time the device notifies
+ * the host of a control line state change (containing the virtual serial control line states, such as DCD) and may be hooked in the
+ * user program by declaring a handler function with the same name and parameters listed here. The new control line states
+ * are available in the ControlLineStates.DeviceToHost value inside the CDC host interface structure passed as a parameter, set as
+ * a mask of CDC_CONTROL_LINE_IN_* masks.
+ *
+ * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class host configuration and state.
+ */
+ void EVENT_CDC_Host_ControLineStateChanged(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Function Prototypes: */
+ #if defined(__INCLUDE_FROM_CDC_HOST_C)
+ static int CDC_Host_putchar(char c,
+ FILE* Stream) ATTR_NON_NULL_PTR_ARG(2);
+ static int CDC_Host_getchar(FILE* Stream) ATTR_NON_NULL_PTR_ARG(1);
+ static int CDC_Host_getchar_Blocking(FILE* Stream) ATTR_NON_NULL_PTR_ARG(1);
+
+ void CDC_Host_Event_Stub(void);
+ void EVENT_CDC_Host_ControLineStateChanged(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo)
+ ATTR_WEAK ATTR_NON_NULL_PTR_ARG(1) ATTR_ALIAS(CDC_Host_Event_Stub);
+
+ static uint8_t DCOMP_CDC_Host_NextCDCControlInterface(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ static uint8_t DCOMP_CDC_Host_NextCDCDataInterface(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ static uint8_t DCOMP_CDC_Host_NextCDCInterfaceEndpoint(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ #endif
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/CDC.lst b/firmware/LUFA/Drivers/USB/Class/Host/CDC.lst
new file mode 100644
index 0000000..5243ec9
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/CDC.lst
@@ -0,0 +1,19 @@
+ 1 .file "CDC.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 CDC.c
+ /tmp/cck4n38w.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/cck4n38w.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/cck4n38w.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/cck4n38w.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/cck4n38w.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/cck4n38w.s:7 *ABS*:0000000000000001 __zero_reg__
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/CDC.o b/firmware/LUFA/Drivers/USB/Class/Host/CDC.o
new file mode 100644
index 0000000..c1333af
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/CDC.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/HID.c b/firmware/LUFA/Drivers/USB/Class/Host/HID.c
new file mode 100644
index 0000000..7343631
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/HID.c
@@ -0,0 +1,387 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../../HighLevel/USBMode.h"
+#if defined(USB_CAN_BE_HOST)
+
+#define __INCLUDE_FROM_HID_DRIVER
+#define __INCLUDE_FROM_HID_HOST_C
+#include "HID.h"
+
+uint8_t HID_Host_ConfigurePipes(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo,
+ uint16_t ConfigDescriptorSize,
+ void* ConfigDescriptorData)
+{
+ USB_Descriptor_Endpoint_t* DataINEndpoint = NULL;
+ USB_Descriptor_Endpoint_t* DataOUTEndpoint = NULL;
+ USB_Descriptor_Interface_t* HIDInterface = NULL;
+ USB_HID_Descriptor_HID_t* HIDDescriptor = NULL;
+
+ memset(&HIDInterfaceInfo->State, 0x00, sizeof(HIDInterfaceInfo->State));
+
+ if (DESCRIPTOR_TYPE(ConfigDescriptorData) != DTYPE_Configuration)
+ return HID_ENUMERROR_InvalidConfigDescriptor;
+
+ while (!(DataINEndpoint) || !(DataOUTEndpoint))
+ {
+ if (!(HIDInterface) ||
+ USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_HID_Host_NextHIDInterfaceEndpoint) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ if (DataINEndpoint || DataOUTEndpoint)
+ break;
+
+ do
+ {
+ if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_HID_Host_NextHIDInterface) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ return HID_ENUMERROR_NoCompatibleInterfaceFound;
+ }
+
+ HIDInterface = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Interface_t);
+ } while (HIDInterfaceInfo->Config.HIDInterfaceProtocol &&
+ (HIDInterface->Protocol != HIDInterfaceInfo->Config.HIDInterfaceProtocol));
+
+ if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_HID_Host_NextHID) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ return HID_ENUMERROR_NoCompatibleInterfaceFound;
+ }
+
+ HIDDescriptor = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_HID_Descriptor_HID_t);
+
+ DataINEndpoint = NULL;
+ DataOUTEndpoint = NULL;
+
+ continue;
+ }
+
+ USB_Descriptor_Endpoint_t* EndpointData = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Endpoint_t);
+
+ if (EndpointData->EndpointAddress & ENDPOINT_DESCRIPTOR_DIR_IN)
+ DataINEndpoint = EndpointData;
+ else
+ DataOUTEndpoint = EndpointData;
+ }
+
+ for (uint8_t PipeNum = 1; PipeNum < PIPE_TOTAL_PIPES; PipeNum++)
+ {
+ if (PipeNum == HIDInterfaceInfo->Config.DataINPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_INTERRUPT, PIPE_TOKEN_IN,
+ DataINEndpoint->EndpointAddress, DataINEndpoint->EndpointSize,
+ HIDInterfaceInfo->Config.DataINPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+ Pipe_SetInterruptPeriod(DataINEndpoint->PollingIntervalMS);
+
+ HIDInterfaceInfo->State.DataINPipeSize = DataINEndpoint->EndpointSize;
+ }
+ else if (PipeNum == HIDInterfaceInfo->Config.DataOUTPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_INTERRUPT, PIPE_TOKEN_OUT,
+ DataOUTEndpoint->EndpointAddress, DataOUTEndpoint->EndpointSize,
+ HIDInterfaceInfo->Config.DataOUTPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+ Pipe_SetInterruptPeriod(DataOUTEndpoint->PollingIntervalMS);
+
+ HIDInterfaceInfo->State.DataOUTPipeSize = DataOUTEndpoint->EndpointSize;
+ HIDInterfaceInfo->State.DeviceUsesOUTPipe = true;
+ }
+ }
+
+ HIDInterfaceInfo->State.InterfaceNumber = HIDInterface->InterfaceNumber;
+ HIDInterfaceInfo->State.HIDReportSize = HIDDescriptor->HIDReportLength;
+ HIDInterfaceInfo->State.SupportsBootProtocol = (HIDInterface->SubClass != HID_CSCP_NonBootProtocol);
+ HIDInterfaceInfo->State.LargestReportSize = 8;
+ HIDInterfaceInfo->State.IsActive = true;
+
+ return HID_ENUMERROR_NoError;
+}
+
+static uint8_t DCOMP_HID_Host_NextHIDInterface(void* const CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Interface)
+ {
+ USB_Descriptor_Interface_t* Interface = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Interface_t);
+
+ if (Interface->Class == HID_CSCP_HIDClass)
+ return DESCRIPTOR_SEARCH_Found;
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+static uint8_t DCOMP_HID_Host_NextHID(void* const CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == HID_DTYPE_HID)
+ return DESCRIPTOR_SEARCH_Found;
+ else if (Header->Type == DTYPE_Interface)
+ return DESCRIPTOR_SEARCH_Fail;
+ else
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+static uint8_t DCOMP_HID_Host_NextHIDInterfaceEndpoint(void* const CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Endpoint)
+ {
+ USB_Descriptor_Endpoint_t* Endpoint = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Endpoint_t);
+
+ if (!(Pipe_IsEndpointBound(Endpoint->EndpointAddress)))
+ return DESCRIPTOR_SEARCH_Found;
+ }
+ else if (Header->Type == DTYPE_Interface)
+ {
+ return DESCRIPTOR_SEARCH_Fail;
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+#if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
+uint8_t HID_Host_ReceiveReportByID(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo,
+ const uint8_t ReportID,
+ void* Buffer)
+{
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = HID_REQ_SetReport,
+ .wValue = ((HID_REPORT_ITEM_In + 1) << 8) | ReportID,
+ .wIndex = HIDInterfaceInfo->State.InterfaceNumber,
+ .wLength = USB_GetHIDReportSize(HIDInterfaceInfo->Config.HIDParserData, ReportID, HID_REPORT_ITEM_In),
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ return USB_Host_SendControlRequest(Buffer);
+}
+#endif
+
+uint8_t HID_Host_ReceiveReport(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo,
+ void* Buffer)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(HIDInterfaceInfo->State.IsActive))
+ return PIPE_READYWAIT_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ Pipe_SelectPipe(HIDInterfaceInfo->Config.DataINPipeNumber);
+ Pipe_Unfreeze();
+
+ uint16_t ReportSize;
+ uint8_t* BufferPos = Buffer;
+
+#if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
+ if (!(HIDInterfaceInfo->State.UsingBootProtocol))
+ {
+ uint8_t ReportID = 0;
+
+ if (HIDInterfaceInfo->Config.HIDParserData->UsingReportIDs)
+ {
+ ReportID = Pipe_Read_Byte();
+ *(BufferPos++) = ReportID;
+ }
+
+ ReportSize = USB_GetHIDReportSize(HIDInterfaceInfo->Config.HIDParserData, ReportID, HID_REPORT_ITEM_In);
+ }
+ else
+#endif
+ {
+ ReportSize = Pipe_BytesInPipe();
+ }
+
+ if ((ErrorCode = Pipe_Read_Stream_LE(BufferPos, ReportSize, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ Pipe_ClearIN();
+ Pipe_Freeze();
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+uint8_t HID_Host_SendReportByID(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo,
+#if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
+ const uint8_t ReportID,
+#endif
+ const uint8_t ReportType,
+ void* Buffer,
+ const uint16_t ReportSize)
+{
+#if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
+ if ((USB_HostState != HOST_STATE_Configured) || !(HIDInterfaceInfo->State.IsActive))
+ return false;
+
+ if (HIDInterfaceInfo->State.DeviceUsesOUTPipe && (ReportType == HID_REPORT_ITEM_Out))
+ {
+ uint8_t ErrorCode;
+
+ Pipe_SelectPipe(HIDInterfaceInfo->Config.DataOUTPipeNumber);
+ Pipe_Unfreeze();
+
+ if (ReportID)
+ Pipe_Write_Stream_LE(&ReportID, sizeof(ReportID), NO_STREAM_CALLBACK);
+
+ if ((ErrorCode = Pipe_Write_Stream_LE(Buffer, ReportSize, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ Pipe_ClearOUT();
+ Pipe_Freeze();
+
+ return PIPE_RWSTREAM_NoError;
+ }
+ else
+#endif
+ {
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = HID_REQ_SetReport,
+#if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
+ .wValue = ((ReportType + 1) << 8) | ReportID,
+#else
+ .wValue = ((ReportType + 1) << 8),
+#endif
+ .wIndex = HIDInterfaceInfo->State.InterfaceNumber,
+ .wLength = ReportSize,
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ return USB_Host_SendControlRequest(Buffer);
+ }
+}
+
+bool HID_Host_IsReportReceived(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(HIDInterfaceInfo->State.IsActive))
+ return false;
+
+ bool ReportReceived;
+
+ Pipe_SelectPipe(HIDInterfaceInfo->Config.DataINPipeNumber);
+ Pipe_Unfreeze();
+
+ ReportReceived = Pipe_IsINReceived();
+
+ Pipe_Freeze();
+
+ return ReportReceived;
+}
+
+uint8_t HID_Host_SetBootProtocol(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo)
+{
+ uint8_t ErrorCode;
+
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = HID_REQ_SetProtocol,
+ .wValue = 0,
+ .wIndex = HIDInterfaceInfo->State.InterfaceNumber,
+ .wLength = 0,
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ if (!(HIDInterfaceInfo->State.SupportsBootProtocol))
+ return HID_ERROR_LOGICAL;
+
+ if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)
+ return ErrorCode;
+
+ HIDInterfaceInfo->State.LargestReportSize = 8;
+ HIDInterfaceInfo->State.UsingBootProtocol = true;
+
+ return HOST_SENDCONTROL_Successful;
+}
+
+#if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
+uint8_t HID_Host_SetReportProtocol(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo)
+{
+ uint8_t ErrorCode;
+
+ uint8_t HIDReportData[HIDInterfaceInfo->State.HIDReportSize];
+
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_INTERFACE),
+ .bRequest = REQ_GetDescriptor,
+ .wValue = (HID_DTYPE_Report << 8),
+ .wIndex = HIDInterfaceInfo->State.InterfaceNumber,
+ .wLength = HIDInterfaceInfo->State.HIDReportSize,
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ if ((ErrorCode = USB_Host_SendControlRequest(HIDReportData)) != HOST_SENDCONTROL_Successful)
+ return ErrorCode;
+
+ if (HIDInterfaceInfo->State.UsingBootProtocol)
+ {
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = HID_REQ_SetProtocol,
+ .wValue = 1,
+ .wIndex = HIDInterfaceInfo->State.InterfaceNumber,
+ .wLength = 0,
+ };
+
+ if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)
+ return ErrorCode;
+
+ HIDInterfaceInfo->State.UsingBootProtocol = false;
+ }
+
+ if (HIDInterfaceInfo->Config.HIDParserData == NULL)
+ return HID_ERROR_LOGICAL;
+
+ if ((ErrorCode = USB_ProcessHIDReport(HIDReportData, HIDInterfaceInfo->State.HIDReportSize,
+ HIDInterfaceInfo->Config.HIDParserData)) != HID_PARSE_Successful)
+ {
+ return HID_ERROR_LOGICAL | ErrorCode;
+ }
+
+ uint8_t LargestReportSizeBits = HIDInterfaceInfo->Config.HIDParserData->LargestReportSizeBits;
+ HIDInterfaceInfo->State.LargestReportSize = (LargestReportSizeBits >> 3) + ((LargestReportSizeBits & 0x07) != 0);
+
+ return 0;
+}
+#endif
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/HID.h b/firmware/LUFA/Drivers/USB/Class/Host/HID.h
new file mode 100644
index 0000000..2d6fd9e
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/HID.h
@@ -0,0 +1,316 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Host mode driver for the library USB HID Class driver.
+ *
+ * Host mode driver for the library USB HID Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassHID
+ * @defgroup Group_USBClassHIDHost HID Class Host Mode Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Host/HID.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ * - LUFA/Drivers/USB/Class/Host/HIDParser.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ *
+ * \section Module Description
+ * Host Mode USB Class driver framework interface, for the HID USB Class driver.
+ *
+ * @{
+ */
+
+#ifndef __HID_CLASS_HOST_H__
+#define __HID_CLASS_HOST_H__
+
+ /* Includes: */
+ #include "../../USB.h"
+ #include "../Common/HID.h"
+ #include "HIDParser.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_HID_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ #if defined(__INCLUDE_FROM_HID_HOST_C) && defined(NO_STREAM_CALLBACKS)
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.
+ #endif
+
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Error code for some HID Host functions, indicating a logical (and not hardware) error. */
+ #define HID_ERROR_LOGICAL 0x80
+
+ /* Type Defines: */
+ /** \brief HID Class Host Mode Configuration and State Structure.
+ *
+ * Class state structure. An instance of this structure should be made within the user application,
+ * and passed to each of the HID class driver functions as the HIDInterfaceInfo parameter. This
+ * stores each HID interface's configuration and state information.
+ */
+ typedef struct
+ {
+ const struct
+ {
+ uint8_t DataINPipeNumber; /**< Pipe number of the HID interface's IN data pipe. */
+ bool DataINPipeDoubleBank; /**< Indicates if the HID interface's IN data pipe should use double banking. */
+
+ uint8_t DataOUTPipeNumber; /**< Pipe number of the HID interface's OUT data pipe. */
+ bool DataOUTPipeDoubleBank; /**< Indicates if the HID interface's OUT data pipe should use double banking. */
+
+ uint8_t HIDInterfaceProtocol; /**< HID interface protocol value to match against if a specific
+ * boot subclass protocol is required, a protocol value from the
+ * \ref HID_Descriptor_ClassSubclassProtocol_t enum.
+ */
+ #if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
+ HID_ReportInfo_t* HIDParserData; /**< HID parser data to store the parsed HID report data, when boot protocol
+ * is not used.
+ *
+ * \note When the HID_HOST_BOOT_PROTOCOL_ONLY compile time token is defined,
+ * this method is unavailable.
+ */
+ #endif
+ } Config; /**< Config data for the USB class interface within the device. All elements in this section
+ * <b>must</b> be set or the interface will fail to enumerate and operate correctly.
+ */
+ struct
+ {
+ bool IsActive; /**< Indicates if the current interface instance is connected to an attached device, valid
+ * after \ref HID_Host_ConfigurePipes() is called and the Host state machine is in the
+ * Configured state.
+ */
+ uint8_t InterfaceNumber; /**< Interface index of the HID interface within the attached device. */
+
+ uint16_t DataINPipeSize; /**< Size in bytes of the HID interface's IN data pipe. */
+ uint16_t DataOUTPipeSize; /**< Size in bytes of the HID interface's OUT data pipe. */
+
+ bool SupportsBootProtocol; /**< Indicates if the current interface instance supports the HID Boot
+ * Protocol when enabled via \ref HID_Host_SetBootProtocol().
+ */
+ bool DeviceUsesOUTPipe; /**< Indicates if the current interface instance uses a separate OUT data pipe for
+ * OUT reports, or if OUT reports are sent via the control pipe instead.
+ */
+ bool UsingBootProtocol; /**< Indicates that the interface is currently initialized in Boot Protocol mode */
+ uint16_t HIDReportSize; /**< Size in bytes of the HID report descriptor in the device. */
+
+ uint8_t LargestReportSize; /**< Largest report the device will send, in bytes. */
+ } State; /**< State data for the USB class interface within the device. All elements in this section
+ * <b>may</b> be set to initial values, but may also be ignored to default to sane values when
+ * the interface is enumerated.
+ */
+ } USB_ClassInfo_HID_Host_t;
+
+ /* Enums: */
+ /** Enum for the possible error codes returned by the \ref HID_Host_ConfigurePipes() function. */
+ enum HID_Host_EnumerationFailure_ErrorCodes_t
+ {
+ HID_ENUMERROR_NoError = 0, /**< Configuration Descriptor was processed successfully. */
+ HID_ENUMERROR_InvalidConfigDescriptor = 1, /**< The device returned an invalid Configuration Descriptor. */
+ HID_ENUMERROR_NoCompatibleInterfaceFound = 2, /**< A compatible HID interface was not found in the device's Configuration Descriptor. */
+ };
+
+ /* Function Prototypes: */
+ /** Host interface configuration routine, to configure a given HID host interface instance using the Configuration
+ * Descriptor read from an attached USB device. This function automatically updates the given HID Host instance's
+ * state values and configures the pipes required to communicate with the interface if it is found within the
+ * device. This should be called once after the stack has enumerated the attached device, while the host state
+ * machine is in the Addressed state.
+ *
+ * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other
+ * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes
+ * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes.
+ * \n\n
+ *
+ * \note Once the device pipes are configured, the HID device's reporting protocol <b>must</b> be set via a call
+ * to either the \ref HID_Host_SetBootProtocol() or \ref HID_Host_SetReportProtocol() function.
+ *
+ * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class host configuration and state.
+ * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor.
+ * \param[in] DeviceConfigDescriptor Pointer to a buffer containing the attached device's Configuration Descriptor.
+ *
+ * \return A value from the \ref HID_Host_EnumerationFailure_ErrorCodes_t enum.
+ */
+ uint8_t HID_Host_ConfigurePipes(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo,
+ uint16_t ConfigDescriptorSize,
+ void* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
+
+
+ /** Receives a HID IN report from the attached HID device, when a report has been received on the HID IN Data pipe.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \note The destination buffer should be large enough to accommodate the largest report that the attached device
+ * can generate.
+ *
+ * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class host configuration and state.
+ * \param[in] Buffer Buffer to store the received report into.
+ *
+ * \return An error code from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t HID_Host_ReceiveReport(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo,
+ void* Buffer) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ #if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
+ /** Receives a HID IN report from the attached device, by the report ID.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \note When the HID_HOST_BOOT_PROTOCOL_ONLY compile time token is defined, this method is unavailable.
+ *
+ * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class host configuration and state.
+ * \param[in] ReportID Report ID of the received report if ControlRequest is false, set by the to the Report ID to fetch.
+ * \param[in] Buffer Buffer to store the received report into.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum.
+ */
+ uint8_t HID_Host_ReceiveReportByID(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo,
+ const uint8_t ReportID,
+ void* Buffer) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
+ #endif
+
+ /** Sends an OUT or FEATURE report to the currently attached HID device, using the device's OUT pipe if available,
+ * or the device's Control pipe if not.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \note When the HID_HOST_BOOT_PROTOCOL_ONLY compile time token is defined, the ReportID parameter is removed
+ * from the parameter list of this function.
+ *
+ * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class host configuration and state.
+ * \param[in] ReportID Report ID of the report to send to the device, or 0 if the device does not use report IDs.
+ * \param[in] ReportType Type of report to issue to the device, either \ref HID_REPORT_ITEM_Out or \ref HID_REPORT_ITEM_Feature.
+ * \param[in] Buffer Buffer containing the report to send to the attached device.
+ * \param[in] ReportSize Report size in bytes to send to the attached device.
+ *
+ * \return An error code from the \ref USB_Host_SendControlErrorCodes_t enum if the DeviceUsesOUTPipe flag is set in
+ * the interface's state structure, a value from the \ref Pipe_Stream_RW_ErrorCodes_t enum otherwise.
+ */
+ uint8_t HID_Host_SendReportByID(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo,
+ #if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
+ const uint8_t ReportID,
+ #endif
+ const uint8_t ReportType,
+ void* Buffer,
+ const uint16_t ReportSize) ATTR_NON_NULL_PTR_ARG(1)
+ #if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
+ ATTR_NON_NULL_PTR_ARG(4);
+ #else
+ ATTR_NON_NULL_PTR_ARG(3);
+ #endif
+
+ /** Determines if a HID IN report has been received from the attached device on the data IN pipe.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class host configuration and state.
+ *
+ * \return Boolean true if a report has been received, false otherwise.
+ */
+ bool HID_Host_IsReportReceived(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Switches the attached HID device's reporting protocol over to the Boot Report protocol mode, on supported devices.
+ *
+ * \note When the HID_HOST_BOOT_PROTOCOL_ONLY compile time token is defined, this method must still be called
+ * to explicitly place the attached device into boot protocol mode before use.
+ *
+ * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class host configuration and state.
+ *
+ * \return \ref HID_ERROR_LOGICAL if the device does not support Boot Protocol mode, a value from the
+ * \ref USB_Host_SendControlErrorCodes_t enum otherwise.
+ */
+ uint8_t HID_Host_SetBootProtocol(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ #if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
+ /** Switches the attached HID device's reporting protocol over to the standard Report protocol mode. This also retrieves
+ * and parses the device's HID report descriptor, so that the size of each report can be determined in advance.
+ *
+ * \note Whether this function is used or not, the \ref CALLBACK_HIDParser_FilterHIDReportItem() callback from the HID
+ * Report Parser this function references <b>must</b> be implemented in the user code.
+ * \n\n
+ *
+ * \note When the HID_HOST_BOOT_PROTOCOL_ONLY compile time token is defined, this method is unavailable.
+ *
+ * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class host configuration and state.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum if an error occurs while retrieving the HID
+ * Report descriptor or the setting of the Report protocol, \ref HID_ERROR_LOGICAL if the HID interface does
+ * not have a valid \ref HID_ReportInfo_t structure set in its configuration, a mask of \ref HID_ERROR_LOGICAL
+ * and a value from the \ref HID_Parse_ErrorCodes_t otherwise.
+ */
+ uint8_t HID_Host_SetReportProtocol(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+ #endif
+
+ /* Inline Functions: */
+ /** General management task for a given Human Interface Class host class interface, required for the correct operation of
+ * the interface. This should be called frequently in the main program loop, before the master USB management task
+ * \ref USB_USBTask().
+ *
+ * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class host configuration and state.
+ */
+ static inline void HID_Host_USBTask(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo);
+ static inline void HID_Host_USBTask(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo)
+ {
+ (void)HIDInterfaceInfo;
+ }
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Function Prototypes: */
+ #if defined(__INCLUDE_FROM_HID_HOST_C)
+ static uint8_t DCOMP_HID_Host_NextHIDInterface(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ static uint8_t DCOMP_HID_Host_NextHID(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ static uint8_t DCOMP_HID_Host_NextHIDInterfaceEndpoint(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ #endif
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/HID.lst b/firmware/LUFA/Drivers/USB/Class/Host/HID.lst
new file mode 100644
index 0000000..ac15d24
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/HID.lst
@@ -0,0 +1,19 @@
+ 1 .file "HID.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 HID.c
+ /tmp/ccOMFwTz.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccOMFwTz.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccOMFwTz.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccOMFwTz.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccOMFwTz.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccOMFwTz.s:7 *ABS*:0000000000000001 __zero_reg__
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/HID.o b/firmware/LUFA/Drivers/USB/Class/Host/HID.o
new file mode 100644
index 0000000..ab0765d
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/HID.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/HIDParser.c b/firmware/LUFA/Drivers/USB/Class/Host/HIDParser.c
new file mode 100644
index 0000000..f0e7db8
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/HIDParser.c
@@ -0,0 +1,361 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../../HighLevel/USBMode.h"
+#if defined(USB_CAN_BE_HOST)
+
+#define __INCLUDE_FROM_HID_DRIVER
+#include "HIDParser.h"
+
+uint8_t USB_ProcessHIDReport(const uint8_t* ReportData,
+ uint16_t ReportSize,
+ HID_ReportInfo_t* const ParserData)
+{
+ HID_StateTable_t StateTable[HID_STATETABLE_STACK_DEPTH];
+ HID_StateTable_t* CurrStateTable = &StateTable[0];
+ HID_CollectionPath_t* CurrCollectionPath = NULL;
+ HID_ReportSizeInfo_t* CurrReportIDInfo = &ParserData->ReportIDSizes[0];
+ uint16_t UsageList[HID_USAGE_STACK_DEPTH];
+ uint8_t UsageListSize = 0;
+ HID_MinMax_t UsageMinMax = {0, 0};
+
+ memset(ParserData, 0x00, sizeof(HID_ReportInfo_t));
+ memset(CurrStateTable, 0x00, sizeof(HID_StateTable_t));
+ memset(CurrReportIDInfo, 0x00, sizeof(HID_ReportSizeInfo_t));
+
+ ParserData->TotalDeviceReports = 1;
+
+ while (ReportSize)
+ {
+ uint8_t HIDReportItem = *ReportData;
+ uint32_t ReportItemData = 0;
+
+ ReportData++;
+ ReportSize--;
+
+ switch (HIDReportItem & DATA_SIZE_MASK)
+ {
+ case DATA_SIZE_4:
+ ReportItemData = *((uint32_t*)ReportData);
+ ReportSize -= 4;
+ ReportData += 4;
+ break;
+ case DATA_SIZE_2:
+ ReportItemData = *((uint16_t*)ReportData);
+ ReportSize -= 2;
+ ReportData += 2;
+ break;
+ case DATA_SIZE_1:
+ ReportItemData = *((uint8_t*)ReportData);
+ ReportSize -= 1;
+ ReportData += 1;
+ break;
+ }
+
+ switch (HIDReportItem & (TYPE_MASK | TAG_MASK))
+ {
+ case (TYPE_GLOBAL | TAG_GLOBAL_PUSH):
+ if (CurrStateTable == &StateTable[HID_STATETABLE_STACK_DEPTH - 1])
+ return HID_PARSE_HIDStackOverflow;
+
+ memcpy((CurrStateTable + 1),
+ CurrStateTable,
+ sizeof(HID_ReportItem_t));
+
+ CurrStateTable++;
+ break;
+ case (TYPE_GLOBAL | TAG_GLOBAL_POP):
+ if (CurrStateTable == &StateTable[0])
+ return HID_PARSE_HIDStackUnderflow;
+
+ CurrStateTable--;
+ break;
+ case (TYPE_GLOBAL | TAG_GLOBAL_USAGEPAGE):
+ CurrStateTable->Attributes.Usage.Page = ReportItemData;
+ break;
+ case (TYPE_GLOBAL | TAG_GLOBAL_LOGICALMIN):
+ CurrStateTable->Attributes.Logical.Minimum = ReportItemData;
+ break;
+ case (TYPE_GLOBAL | TAG_GLOBAL_LOGICALMAX):
+ CurrStateTable->Attributes.Logical.Maximum = ReportItemData;
+ break;
+ case (TYPE_GLOBAL | TAG_GLOBAL_PHYSMIN):
+ CurrStateTable->Attributes.Physical.Minimum = ReportItemData;
+ break;
+ case (TYPE_GLOBAL | TAG_GLOBAL_PHYSMAX):
+ CurrStateTable->Attributes.Physical.Maximum = ReportItemData;
+ break;
+ case (TYPE_GLOBAL | TAG_GLOBAL_UNITEXP):
+ CurrStateTable->Attributes.Unit.Exponent = ReportItemData;
+ break;
+ case (TYPE_GLOBAL | TAG_GLOBAL_UNIT):
+ CurrStateTable->Attributes.Unit.Type = ReportItemData;
+ break;
+ case (TYPE_GLOBAL | TAG_GLOBAL_REPORTSIZE):
+ CurrStateTable->Attributes.BitSize = ReportItemData;
+ break;
+ case (TYPE_GLOBAL | TAG_GLOBAL_REPORTCOUNT):
+ CurrStateTable->ReportCount = ReportItemData;
+ break;
+ case (TYPE_GLOBAL | TAG_GLOBAL_REPORTID):
+ CurrStateTable->ReportID = ReportItemData;
+
+ if (ParserData->UsingReportIDs)
+ {
+ CurrReportIDInfo = NULL;
+
+ for (uint8_t i = 0; i < ParserData->TotalDeviceReports; i++)
+ {
+ if (ParserData->ReportIDSizes[i].ReportID == CurrStateTable->ReportID)
+ {
+ CurrReportIDInfo = &ParserData->ReportIDSizes[i];
+ break;
+ }
+ }
+
+ if (CurrReportIDInfo == NULL)
+ {
+ if (ParserData->TotalDeviceReports == HID_MAX_REPORT_IDS)
+ return HID_PARSE_InsufficientReportIDItems;
+
+ CurrReportIDInfo = &ParserData->ReportIDSizes[ParserData->TotalDeviceReports++];
+ memset(CurrReportIDInfo, 0x00, sizeof(HID_ReportSizeInfo_t));
+ }
+ }
+
+ ParserData->UsingReportIDs = true;
+
+ CurrReportIDInfo->ReportID = CurrStateTable->ReportID;
+ break;
+ case (TYPE_LOCAL | TAG_LOCAL_USAGE):
+ if (UsageListSize == HID_USAGE_STACK_DEPTH)
+ return HID_PARSE_UsageListOverflow;
+
+ UsageList[UsageListSize++] = ReportItemData;
+ break;
+ case (TYPE_LOCAL | TAG_LOCAL_USAGEMIN):
+ UsageMinMax.Minimum = ReportItemData;
+ break;
+ case (TYPE_LOCAL | TAG_LOCAL_USAGEMAX):
+ UsageMinMax.Maximum = ReportItemData;
+ break;
+ case (TYPE_MAIN | TAG_MAIN_COLLECTION):
+ if (CurrCollectionPath == NULL)
+ {
+ CurrCollectionPath = &ParserData->CollectionPaths[0];
+ }
+ else
+ {
+ HID_CollectionPath_t* ParentCollectionPath = CurrCollectionPath;
+
+ CurrCollectionPath = &ParserData->CollectionPaths[1];
+
+ while (CurrCollectionPath->Parent != NULL)
+ {
+ if (CurrCollectionPath == &ParserData->CollectionPaths[HID_MAX_COLLECTIONS - 1])
+ return HID_PARSE_InsufficientCollectionPaths;
+
+ CurrCollectionPath++;
+ }
+
+ CurrCollectionPath->Parent = ParentCollectionPath;
+ }
+
+ CurrCollectionPath->Type = ReportItemData;
+ CurrCollectionPath->Usage.Page = CurrStateTable->Attributes.Usage.Page;
+
+ if (UsageListSize)
+ {
+ CurrCollectionPath->Usage.Usage = UsageList[0];
+
+ for (uint8_t i = 0; i < UsageListSize; i++)
+ UsageList[i] = UsageList[i + 1];
+
+ UsageListSize--;
+ }
+ else if (UsageMinMax.Minimum <= UsageMinMax.Maximum)
+ {
+ CurrCollectionPath->Usage.Usage = UsageMinMax.Minimum++;
+ }
+
+ break;
+ case (TYPE_MAIN | TAG_MAIN_ENDCOLLECTION):
+ if (CurrCollectionPath == NULL)
+ return HID_PARSE_UnexpectedEndCollection;
+
+ CurrCollectionPath = CurrCollectionPath->Parent;
+ break;
+ case (TYPE_MAIN | TAG_MAIN_INPUT):
+ case (TYPE_MAIN | TAG_MAIN_OUTPUT):
+ case (TYPE_MAIN | TAG_MAIN_FEATURE):
+ for (uint8_t ReportItemNum = 0; ReportItemNum < CurrStateTable->ReportCount; ReportItemNum++)
+ {
+ HID_ReportItem_t NewReportItem;
+
+ memcpy(&NewReportItem.Attributes,
+ &CurrStateTable->Attributes,
+ sizeof(HID_ReportItem_Attributes_t));
+
+ NewReportItem.ItemFlags = ReportItemData;
+ NewReportItem.CollectionPath = CurrCollectionPath;
+ NewReportItem.ReportID = CurrStateTable->ReportID;
+
+ if (UsageListSize)
+ {
+ NewReportItem.Attributes.Usage.Usage = UsageList[0];
+
+ for (uint8_t i = 0; i < UsageListSize; i++)
+ UsageList[i] = UsageList[i + 1];
+
+ UsageListSize--;
+ }
+ else if (UsageMinMax.Minimum <= UsageMinMax.Maximum)
+ {
+ NewReportItem.Attributes.Usage.Usage = UsageMinMax.Minimum++;
+ }
+
+ uint8_t ItemTag = (HIDReportItem & TAG_MASK);
+
+ if (ItemTag == TAG_MAIN_INPUT)
+ NewReportItem.ItemType = HID_REPORT_ITEM_In;
+ else if (ItemTag == TAG_MAIN_OUTPUT)
+ NewReportItem.ItemType = HID_REPORT_ITEM_Out;
+ else
+ NewReportItem.ItemType = HID_REPORT_ITEM_Feature;
+
+ NewReportItem.BitOffset = CurrReportIDInfo->ReportSizeBits[NewReportItem.ItemType];
+
+ CurrReportIDInfo->ReportSizeBits[NewReportItem.ItemType] += CurrStateTable->Attributes.BitSize;
+
+ if (ParserData->LargestReportSizeBits < NewReportItem.BitOffset)
+ ParserData->LargestReportSizeBits = NewReportItem.BitOffset;
+
+ if (!(ReportItemData & IOF_CONSTANT) && CALLBACK_HIDParser_FilterHIDReportItem(&NewReportItem))
+ {
+ if (ParserData->TotalReportItems == HID_MAX_REPORTITEMS)
+ return HID_PARSE_InsufficientReportItems;
+
+ memcpy(&ParserData->ReportItems[ParserData->TotalReportItems],
+ &NewReportItem, sizeof(HID_ReportItem_t));
+
+ ParserData->TotalReportItems++;
+ }
+ }
+
+ break;
+ }
+
+ if ((HIDReportItem & TYPE_MASK) == TYPE_MAIN)
+ {
+ UsageMinMax.Minimum = 0;
+ UsageMinMax.Maximum = 0;
+ UsageListSize = 0;
+ }
+ }
+
+ if (!(ParserData->TotalReportItems))
+ return HID_PARSE_NoUnfilteredReportItems;
+
+ return HID_PARSE_Successful;
+}
+
+bool USB_GetHIDReportItemInfo(const uint8_t* ReportData,
+ HID_ReportItem_t* const ReportItem)
+{
+ uint16_t DataBitsRem = ReportItem->Attributes.BitSize;
+ uint16_t CurrentBit = ReportItem->BitOffset;
+ uint32_t BitMask = (1 << 0);
+
+ if (ReportItem->ReportID)
+ {
+ if (ReportItem->ReportID != ReportData[0])
+ return false;
+
+ ReportData++;
+ }
+
+ ReportItem->PreviousValue = ReportItem->Value;
+ ReportItem->Value = 0;
+
+ while (DataBitsRem--)
+ {
+ if (ReportData[CurrentBit / 8] & (1 << (CurrentBit % 8)))
+ ReportItem->Value |= BitMask;
+
+ CurrentBit++;
+ BitMask <<= 1;
+ }
+
+ return true;
+}
+
+void USB_SetHIDReportItemInfo(uint8_t* ReportData,
+ HID_ReportItem_t* const ReportItem)
+{
+ uint16_t DataBitsRem = ReportItem->Attributes.BitSize;
+ uint16_t CurrentBit = ReportItem->BitOffset;
+ uint32_t BitMask = (1 << 0);
+
+ if (ReportItem->ReportID)
+ {
+ ReportData[0] = ReportItem->ReportID;
+ ReportData++;
+ }
+
+ ReportItem->PreviousValue = ReportItem->Value;
+
+ while (DataBitsRem--)
+ {
+ if (ReportItem->Value & (1 << (CurrentBit % 8)))
+ ReportData[CurrentBit / 8] |= BitMask;
+
+ CurrentBit++;
+ BitMask <<= 1;
+ }
+}
+
+uint16_t USB_GetHIDReportSize(HID_ReportInfo_t* const ParserData,
+ const uint8_t ReportID,
+ const uint8_t ReportType)
+{
+ for (uint8_t i = 0; i < HID_MAX_REPORT_IDS; i++)
+ {
+ uint16_t ReportSizeBits = ParserData->ReportIDSizes[i].ReportSizeBits[ReportType];
+
+ if (ParserData->ReportIDSizes[i].ReportID == ReportID)
+ return ((ReportSizeBits >> 3) + ((ReportSizeBits & 0x07) ? 1 : 0));
+ }
+
+ return 0;
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/HIDParser.h b/firmware/LUFA/Drivers/USB/Class/Host/HIDParser.h
new file mode 100644
index 0000000..cb3b98f
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/HIDParser.h
@@ -0,0 +1,356 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB Human Interface Device (HID) Class report descriptor parser.
+ *
+ * This file allows for the easy parsing of complex HID report descriptors, which describes the data that
+ * a HID device transmits to the host. It also provides an easy API for extracting and processing the data
+ * elements inside a HID report sent from an attached HID device.
+ */
+
+/** \ingroup Group_USB
+ * @defgroup Group_HIDParser HID Report Parser
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Host/HIDParser.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ *
+ * \section Module Description
+ * Functions, macros, variables, enums and types related to the parsing of HID class device report descriptors.
+ *
+ * The processed HID report is presented back to the user application as a flat structure containing each report
+ * item's IN, OUT and FEATURE items along with each item's attributes.
+ *
+ * This library portion also allows for easy setting and retrieval of data from a HID report, including devices
+ * with multiple reports on the one HID interface.
+ *
+ * @{
+ */
+
+#ifndef __HIDPARSER_H__
+#define __HIDPARSER_H__
+
+ /* Includes: */
+ #include <string.h>
+ #include <stdbool.h>
+
+ #include "HIDReportData.h"
+ #include "../Common/HID.h"
+
+ #include "../../../../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Macros: */
+ #if !defined(HID_STATETABLE_STACK_DEPTH) || defined(__DOXYGEN__)
+ /** Constant indicating the maximum stack depth of the state table. A larger state table
+ * allows for more PUSH/POP report items to be nested, but consumes more memory. By default
+ * this is set to 2 levels (allowing non-nested PUSH items) but this can be overridden by
+ * defining HID_STATETABLE_STACK_DEPTH to another value in the user project makefile, passing the
+ * define to the compiler using the -D compiler switch.
+ */
+ #define HID_STATETABLE_STACK_DEPTH 2
+ #endif
+
+ #if !defined(HID_USAGE_STACK_DEPTH) || defined(__DOXYGEN__)
+ /** Constant indicating the maximum stack depth of the usage table. A larger usage table
+ * allows for more USAGE items to be indicated sequentially for REPORT COUNT entries of more than
+ * one, but requires more stack space. By default this is set to 8 levels (allowing for a report
+ * item with a count of 8) but this can be overridden by defining HID_USAGE_STACK_DEPTH to another
+ * value in the user project makefile, passing the define to the compiler using the -D compiler
+ * switch.
+ */
+ #define HID_USAGE_STACK_DEPTH 8
+ #endif
+
+ #if !defined(HID_MAX_COLLECTIONS) || defined(__DOXYGEN__)
+ /** Constant indicating the maximum number of COLLECTION items (nested or unnested) that can be
+ * processed in the report item descriptor. A large value allows for more COLLECTION items to be
+ * processed, but consumes more memory. By default this is set to 10 collections, but this can be
+ * overridden by defining HID_MAX_COLLECTIONS to another value in the user project makefile, passing
+ * the define to the compiler using the -D compiler switch.
+ */
+ #define HID_MAX_COLLECTIONS 10
+ #endif
+
+ #if !defined(HID_MAX_REPORTITEMS) || defined(__DOXYGEN__)
+ /** Constant indicating the maximum number of report items (IN, OUT or FEATURE) that can be processed
+ * in the report item descriptor and stored in the user HID Report Info structure. A large value allows
+ * for more report items to be stored, but consumes more memory. By default this is set to 20 items,
+ * but this can be overridden by defining HID_MAX_REPORTITEMS to another value in the user project
+ * makefile, and passing the define to the compiler using the -D compiler switch.
+ */
+ #define HID_MAX_REPORTITEMS 20
+ #endif
+
+ #if !defined(HID_MAX_REPORT_IDS) || defined(__DOXYGEN__)
+ /** Constant indicating the maximum number of unique report IDs that can be processed in the report item
+ * descriptor for the report size information array in the user HID Report Info structure. A large value
+ * allows for more report ID report sizes to be stored, but consumes more memory. By default this is set
+ * to 10 items, but this can be overridden by defining HID_MAX_REPORT_IDS to another value in the user project
+ * makefile, and passing the define to the compiler using the -D compiler switch. Note that IN, OUT and FEATURE
+ * items sharing the same report ID consume only one size item in the array.
+ */
+ #define HID_MAX_REPORT_IDS 10
+ #endif
+
+ /** Returns the value a given HID report item (once its value has been fetched via \ref USB_GetHIDReportItemInfo())
+ * left-aligned to the given data type. This allows for signed data to be interpreted correctly, by shifting the data
+ * leftwards until the data's sign bit is in the correct position.
+ *
+ * \param[in] ReportItem HID Report Item whose retrieved value is to be aligned.
+ * \param[in] Type Data type to align the HID report item's value to.
+ *
+ * \return Left-aligned data of the given report item's pre-retrieved value for the given datatype.
+ */
+ #define HID_ALIGN_DATA(ReportItem, Type) ((Type)(ReportItem->Value << ((8 * sizeof(Type)) - ReportItem->Attributes.BitSize)))
+
+ /* Public Interface - May be used in end-application: */
+ /* Enums: */
+ /** Enum for the possible error codes in the return value of the \ref USB_ProcessHIDReport() function. */
+ enum HID_Parse_ErrorCodes_t
+ {
+ HID_PARSE_Successful = 0, /**< Successful parse of the HID report descriptor, no error. */
+ HID_PARSE_HIDStackOverflow = 1, /**< More than \ref HID_STATETABLE_STACK_DEPTH nested PUSHes in the report. */
+ HID_PARSE_HIDStackUnderflow = 2, /**< A POP was found when the state table stack was empty. */
+ HID_PARSE_InsufficientReportItems = 3, /**< More than \ref HID_MAX_REPORTITEMS report items in the report. */
+ HID_PARSE_UnexpectedEndCollection = 4, /**< An END COLLECTION item found without matching COLLECTION item. */
+ HID_PARSE_InsufficientCollectionPaths = 5, /**< More than \ref HID_MAX_COLLECTIONS collections in the report. */
+ HID_PARSE_UsageListOverflow = 6, /**< More than \ref HID_USAGE_STACK_DEPTH usages listed in a row. */
+ HID_PARSE_InsufficientReportIDItems = 7, /**< More than \ref HID_MAX_REPORT_IDS report IDs in the device. */
+ HID_PARSE_NoUnfilteredReportItems = 8, /**< All report items from the device were filtered by the filtering callback routine. */
+ };
+
+ /* Type Defines: */
+ /** \brief HID Parser Report Item Min/Max Structure.
+ *
+ * Type define for an attribute with both minimum and maximum values (e.g. Logical Min/Max).
+ */
+ typedef struct
+ {
+ uint32_t Minimum; /**< Minimum value for the attribute. */
+ uint32_t Maximum; /**< Maximum value for the attribute. */
+ } HID_MinMax_t;
+
+ /** \brief HID Parser Report Item Unit Structure.
+ *
+ * Type define for the Unit attributes of a report item.
+ */
+ typedef struct
+ {
+ uint32_t Type; /**< Unit type (refer to HID specifications for details). */
+ uint8_t Exponent; /**< Unit exponent (refer to HID specifications for details). */
+ } HID_Unit_t;
+
+ /** \brief HID Parser Report Item Usage Structure.
+ *
+ * Type define for the Usage attributes of a report item.
+ */
+ typedef struct
+ {
+ uint16_t Page; /**< Usage page of the report item. */
+ uint16_t Usage; /**< Usage of the report item. */
+ } HID_Usage_t;
+
+ /** \brief HID Parser Report Item Collection Path Structure.
+ *
+ * Type define for a COLLECTION object. Contains the collection attributes and a reference to the
+ * parent collection if any.
+ */
+ typedef struct CollectionPath
+ {
+ uint8_t Type; /**< Collection type (e.g. "Generic Desktop"). */
+ HID_Usage_t Usage; /**< Collection usage. */
+ struct CollectionPath* Parent; /**< Reference to parent collection, or NULL if root collection. */
+ } HID_CollectionPath_t;
+
+ /** \brief HID Parser Report Item Attributes Structure.
+ *
+ * Type define for all the data attributes of a report item, except flags.
+ */
+ typedef struct
+ {
+ uint8_t BitSize; /**< Size in bits of the report item's data. */
+
+ HID_Usage_t Usage; /**< Usage of the report item. */
+ HID_Unit_t Unit; /**< Unit type and exponent of the report item. */
+ HID_MinMax_t Logical; /**< Logical minimum and maximum of the report item. */
+ HID_MinMax_t Physical; /**< Physical minimum and maximum of the report item. */
+ } HID_ReportItem_Attributes_t;
+
+ /** \brief HID Parser Report Item Details Structure.
+ *
+ * Type define for a report item (IN, OUT or FEATURE) layout attributes and other details.
+ */
+ typedef struct
+ {
+ uint16_t BitOffset; /**< Bit offset in the IN, OUT or FEATURE report of the item. */
+ uint8_t ItemType; /**< Report item type, a value in HID_ReportItemTypes_t. */
+ uint16_t ItemFlags; /**< Item data flags, such as constant/variable, etc. */
+ uint8_t ReportID; /**< Report ID this item belongs to, or 0x00 if device has only one report */
+ HID_CollectionPath_t* CollectionPath; /**< Collection path of the item. */
+
+ HID_ReportItem_Attributes_t Attributes; /**< Report item attributes. */
+
+ uint32_t Value; /**< Current value of the report item - use \ref HID_ALIGN_DATA() when processing
+ * a retrieved value so that it is aligned to a specific type.
+ */
+ uint32_t PreviousValue; /**< Previous value of the report item. */
+ } HID_ReportItem_t;
+
+ /** \brief HID Parser Report Size Structure.
+ *
+ * Type define for a report item size information structure, to retain the size of a device's reports by ID.
+ */
+ typedef struct
+ {
+ uint8_t ReportID; /**< Report ID of the report within the HID interface. */
+ uint16_t ReportSizeBits[3]; /**< Total number of bits in each report type for the given Report ID,
+ * indexed by the \ref HID_ReportItemTypes_t enum.
+ */
+ } HID_ReportSizeInfo_t;
+
+ /** \brief HID Parser State Structure.
+ *
+ * Type define for a complete processed HID report, including all report item data and collections.
+ */
+ typedef struct
+ {
+ uint8_t TotalReportItems; /**< Total number of report items stored in the
+ * ReportItems array.
+ */
+ HID_ReportItem_t ReportItems[HID_MAX_REPORTITEMS]; /**< Report items array, including
+ * all IN, OUT and FEATURE items.
+ */
+ HID_CollectionPath_t CollectionPaths[HID_MAX_COLLECTIONS]; /**< All collection items, referenced
+ * by the report items.
+ */
+ uint8_t TotalDeviceReports; /**< Number of reports within the HID interface */
+ HID_ReportSizeInfo_t ReportIDSizes[HID_MAX_REPORT_IDS]; /**< Report sizes for each report in the interface */
+ uint16_t LargestReportSizeBits; /**< Largest report that the attached device will generate, in bits */
+ bool UsingReportIDs; /**< Indicates if the device has at least one REPORT ID
+ * element in its HID report descriptor.
+ */
+ } HID_ReportInfo_t;
+
+ /* Function Prototypes: */
+ /** Function to process a given HID report returned from an attached device, and store it into a given
+ * \ref HID_ReportInfo_t structure.
+ *
+ * \param[in] ReportData Buffer containing the device's HID report table.
+ * \param[in] ReportSize Size in bytes of the HID report table.
+ * \param[out] ParserData Pointer to a \ref HID_ReportInfo_t instance for the parser output.
+ *
+ * \return A value in the \ref HID_Parse_ErrorCodes_t enum.
+ */
+ uint8_t USB_ProcessHIDReport(const uint8_t* ReportData,
+ uint16_t ReportSize,
+ HID_ReportInfo_t* const ParserData) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
+
+ /** Extracts the given report item's value out of the given HID report and places it into the Value
+ * member of the report item's \ref HID_ReportItem_t structure.
+ *
+ * When called on a report with an item that exists in that report, this copies the report item's Value
+ * to it's PreviousValue element for easy checking to see if an item's value has changed before processing
+ * a report. If the given item does not exist in the report, the function does not modify the report item's
+ * data.
+ *
+ * \param[in] ReportData Buffer containing an IN or FEATURE report from an attached device.
+ * \param[in,out] ReportItem Pointer to the report item of interest in a \ref HID_ReportInfo_t ReportItem array.
+ *
+ * \returns Boolean true if the item to retrieve was located in the given report, false otherwise.
+ */
+ bool USB_GetHIDReportItemInfo(const uint8_t* ReportData,
+ HID_ReportItem_t* const ReportItem) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Retrieves the given report item's value out of the Value member of the report item's
+ * \ref HID_ReportItem_t structure and places it into the correct position in the HID report
+ * buffer. The report buffer is assumed to have the appropriate bits cleared before calling
+ * this function (i.e., the buffer should be explicitly cleared before report values are added).
+ *
+ * When called, this copies the report item's Value element to it's PreviousValue element for easy
+ * checking to see if an item's value has changed before sending a report.
+ *
+ * If the device has multiple HID reports, the first byte in the report is set to the report ID of the given item.
+ *
+ * \param[out] ReportData Buffer holding the current OUT or FEATURE report data.
+ * \param[in] ReportItem Pointer to the report item of interest in a \ref HID_ReportInfo_t ReportItem array.
+ */
+ void USB_SetHIDReportItemInfo(uint8_t* ReportData,
+ HID_ReportItem_t* const ReportItem) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Retrieves the size of a given HID report in bytes from it's Report ID.
+ *
+ * \param[in] ParserData Pointer to a \ref HID_ReportInfo_t instance containing the parser output.
+ * \param[in] ReportID Report ID of the report whose size is to be retrieved.
+ * \param[in] ReportType Type of the report whose size is to be determined, a valued from the
+ * \ref HID_ReportItemTypes_t enum.
+ *
+ * \return Size of the report in bytes, or 0 if the report does not exist.
+ */
+ uint16_t USB_GetHIDReportSize(HID_ReportInfo_t* const ParserData,
+ const uint8_t ReportID,
+ const uint8_t ReportType) ATTR_CONST ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Callback routine for the HID Report Parser. This callback <b>must</b> be implemented by the user code when
+ * the parser is used, to determine what report IN, OUT and FEATURE item's information is stored into the user
+ * HID_ReportInfo_t structure. This can be used to filter only those items the application will be using, so that
+ * no RAM is wasted storing the attributes for report items which will never be referenced by the application.
+ *
+ * \param[in] CurrentItem Pointer to the current report item for user checking.
+ *
+ * \return Boolean true if the item should be stored into the HID_ReportInfo_t structure, false if it should be ignored.
+ */
+ bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_t* const CurrentItem);
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Type Defines: */
+ typedef struct
+ {
+ HID_ReportItem_Attributes_t Attributes;
+ uint8_t ReportCount;
+ uint8_t ReportID;
+ } HID_StateTable_t;
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/HIDParser.lst b/firmware/LUFA/Drivers/USB/Class/Host/HIDParser.lst
new file mode 100644
index 0000000..79add07
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/HIDParser.lst
@@ -0,0 +1,19 @@
+ 1 .file "HIDParser.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 HIDParser.c
+ /tmp/ccpm8Lt2.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccpm8Lt2.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccpm8Lt2.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccpm8Lt2.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccpm8Lt2.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccpm8Lt2.s:7 *ABS*:0000000000000001 __zero_reg__
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/HIDParser.o b/firmware/LUFA/Drivers/USB/Class/Host/HIDParser.o
new file mode 100644
index 0000000..da84c79
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/HIDParser.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/HIDReportData.h b/firmware/LUFA/Drivers/USB/Class/Host/HIDReportData.h
new file mode 100644
index 0000000..6ce6b8a
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/HIDReportData.h
@@ -0,0 +1,142 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Constants for HID report item attributes.
+ *
+ * HID report item constants for report item attributes. Refer to the HID specification for
+ * details on each flag's meaning when applied to an IN, OUT or FEATURE item.
+ */
+
+/** \ingroup Group_HIDParser
+ * @defgroup Group_HIDIOFConst Input/Output/Feature Masks
+ *
+ * Masks indicating the type of Input, Output of Feature HID report item.
+ *
+ * @{
+ */
+
+#ifndef __HIDREPORTDATA_H__
+#define __HIDREPORTDATA_H__
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** \ref HID_ReportItem_t.ItemFlags flag for constant data. */
+ #define IOF_CONSTANT (1 << 0)
+
+ /** \ref HID_ReportItem_t.ItemFlags flag for data. */
+ #define IOF_DATA (0 << 0)
+
+ /** \ref HID_ReportItem_t.ItemFlags flag for variable data. */
+ #define IOF_VARIABLE (1 << 1)
+
+ /** \ref HID_ReportItem_t.ItemFlags flag for array data. */
+ #define IOF_ARRAY (0 << 1)
+
+ /** \ref HID_ReportItem_t.ItemFlags flag for relative data. */
+ #define IOF_RELATIVE (1 << 2)
+
+ /** \ref HID_ReportItem_t.ItemFlags flag for absolute data. */
+ #define IOF_ABSOLUTE (0 << 2)
+
+ /** \ref HID_ReportItem_t.ItemFlags flag for wrapped value data. */
+ #define IOF_WRAP (1 << 3)
+
+ /** \ref HID_ReportItem_t.ItemFlags flag for non-wrapped value data. */
+ #define IOF_NOWRAP (0 << 3)
+
+ /** \ref HID_ReportItem_t.ItemFlags flag for non linear data. */
+ #define IOF_NONLINEAR (1 << 4)
+
+ /** \ref HID_ReportItem_t.ItemFlags flag for linear data. */
+ #define IOF_LINEAR (0 << 4)
+
+ /** \ref HID_ReportItem_t.ItemFlags flag for no preferred state. */
+ #define IOF_NOPREFERRED (1 << 5)
+
+ /** \ref HID_ReportItem_t.ItemFlags flag for preferred state items. */
+ #define IOF_PREFERREDSTATE (0 << 5)
+
+ /** \ref HID_ReportItem_t.ItemFlags flag for null state items. */
+ #define IOF_NULLSTATE (1 << 6)
+
+ /** \ref HID_ReportItem_t.ItemFlags flag for no null position data. */
+ #define IOF_NONULLPOSITION (0 << 6)
+
+ /** \ref HID_ReportItem_t.ItemFlags flag for buffered bytes. */
+ #define IOF_BUFFEREDBYTES (1 << 8)
+
+ /** \ref HID_ReportItem_t.ItemFlags flag for bit field data. */
+ #define IOF_BITFIELD (0 << 8)
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define DATA_SIZE_MASK 0x03
+ #define TYPE_MASK 0x0C
+ #define TAG_MASK 0xF0
+
+ #define DATA_SIZE_0 0x00
+ #define DATA_SIZE_1 0x01
+ #define DATA_SIZE_2 0x02
+ #define DATA_SIZE_4 0x03
+
+ #define TYPE_MAIN 0x00
+ #define TYPE_GLOBAL 0x04
+ #define TYPE_LOCAL 0x08
+
+ #define TAG_MAIN_INPUT 0x80
+ #define TAG_MAIN_OUTPUT 0x90
+ #define TAG_MAIN_COLLECTION 0xA0
+ #define TAG_MAIN_FEATURE 0xB0
+ #define TAG_MAIN_ENDCOLLECTION 0xC0
+
+ #define TAG_GLOBAL_USAGEPAGE 0x00
+ #define TAG_GLOBAL_LOGICALMIN 0x10
+ #define TAG_GLOBAL_LOGICALMAX 0x20
+ #define TAG_GLOBAL_PHYSMIN 0x30
+ #define TAG_GLOBAL_PHYSMAX 0x40
+ #define TAG_GLOBAL_UNITEXP 0x50
+ #define TAG_GLOBAL_UNIT 0x60
+ #define TAG_GLOBAL_REPORTSIZE 0x70
+ #define TAG_GLOBAL_REPORTID 0x80
+ #define TAG_GLOBAL_REPORTCOUNT 0x90
+ #define TAG_GLOBAL_PUSH 0xA0
+ #define TAG_GLOBAL_POP 0xB0
+
+ #define TAG_LOCAL_USAGE 0x00
+ #define TAG_LOCAL_USAGEMIN 0x10
+ #define TAG_LOCAL_USAGEMAX 0x20
+ #endif
+
+/** @} */
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/MIDI.c b/firmware/LUFA/Drivers/USB/Class/Host/MIDI.c
new file mode 100644
index 0000000..4877dbe
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/MIDI.c
@@ -0,0 +1,215 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../../HighLevel/USBMode.h"
+#if defined(USB_CAN_BE_HOST)
+
+#define __INCLUDE_FROM_MIDI_DRIVER
+#define __INCLUDE_FROM_MIDI_HOST_C
+#include "MIDI.h"
+
+uint8_t MIDI_Host_ConfigurePipes(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo,
+ uint16_t ConfigDescriptorSize,
+ void* ConfigDescriptorData)
+{
+ USB_Descriptor_Endpoint_t* DataINEndpoint = NULL;
+ USB_Descriptor_Endpoint_t* DataOUTEndpoint = NULL;
+ USB_Descriptor_Interface_t* MIDIInterface = NULL;
+
+ memset(&MIDIInterfaceInfo->State, 0x00, sizeof(MIDIInterfaceInfo->State));
+
+ if (DESCRIPTOR_TYPE(ConfigDescriptorData) != DTYPE_Configuration)
+ return MIDI_ENUMERROR_InvalidConfigDescriptor;
+
+ while (!(DataINEndpoint) || !(DataOUTEndpoint))
+ {
+ if (!(MIDIInterface) ||
+ USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_MIDI_Host_NextMIDIStreamingDataEndpoint) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_MIDI_Host_NextMIDIStreamingInterface) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ return MIDI_ENUMERROR_NoCompatibleInterfaceFound;
+ }
+
+ MIDIInterface = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Interface_t);
+
+ DataINEndpoint = NULL;
+ DataOUTEndpoint = NULL;
+
+ continue;
+ }
+
+ USB_Descriptor_Endpoint_t* EndpointData = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Endpoint_t);
+
+ if (EndpointData->EndpointAddress & ENDPOINT_DESCRIPTOR_DIR_IN)
+ DataINEndpoint = EndpointData;
+ else
+ DataOUTEndpoint = EndpointData;
+ }
+
+ for (uint8_t PipeNum = 1; PipeNum < PIPE_TOTAL_PIPES; PipeNum++)
+ {
+ if (PipeNum == MIDIInterfaceInfo->Config.DataINPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_BULK, PIPE_TOKEN_IN,
+ DataINEndpoint->EndpointAddress, DataINEndpoint->EndpointSize,
+ MIDIInterfaceInfo->Config.DataINPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+
+ MIDIInterfaceInfo->State.DataINPipeSize = DataINEndpoint->EndpointSize;
+ }
+ else if (PipeNum == MIDIInterfaceInfo->Config.DataOUTPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_BULK, PIPE_TOKEN_OUT,
+ DataOUTEndpoint->EndpointAddress, DataOUTEndpoint->EndpointSize,
+ MIDIInterfaceInfo->Config.DataOUTPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+
+ MIDIInterfaceInfo->State.DataOUTPipeSize = DataOUTEndpoint->EndpointSize;
+ }
+ }
+
+ MIDIInterfaceInfo->State.InterfaceNumber = MIDIInterface->InterfaceNumber;
+ MIDIInterfaceInfo->State.IsActive = true;
+
+ return MIDI_ENUMERROR_NoError;
+}
+
+static uint8_t DCOMP_MIDI_Host_NextMIDIStreamingInterface(void* const CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Interface)
+ {
+ USB_Descriptor_Interface_t* Interface = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Interface_t);
+
+ if ((Interface->Class == AUDIO_CSCP_AudioClass) &&
+ (Interface->SubClass == AUDIO_CSCP_MIDIStreamingSubclass) &&
+ (Interface->Protocol == AUDIO_CSCP_StreamingProtocol))
+ {
+ return DESCRIPTOR_SEARCH_Found;
+ }
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+static uint8_t DCOMP_MIDI_Host_NextMIDIStreamingDataEndpoint(void* const CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Endpoint)
+ {
+ USB_Descriptor_Endpoint_t* Endpoint = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Endpoint_t);
+
+ uint8_t EndpointType = (Endpoint->Attributes & EP_TYPE_MASK);
+
+ if ((EndpointType == EP_TYPE_BULK) && !(Pipe_IsEndpointBound(Endpoint->EndpointAddress)))
+ return DESCRIPTOR_SEARCH_Found;
+ }
+ else if (Header->Type == DTYPE_Interface)
+ {
+ return DESCRIPTOR_SEARCH_Fail;
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+void MIDI_Host_USBTask(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(MIDIInterfaceInfo->State.IsActive))
+ return;
+
+ #if !defined(NO_CLASS_DRIVER_AUTOFLUSH)
+ MIDI_Host_Flush(MIDIInterfaceInfo);
+ #endif
+}
+
+uint8_t MIDI_Host_Flush(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(MIDIInterfaceInfo->State.IsActive))
+ return PIPE_RWSTREAM_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ Pipe_SelectPipe(MIDIInterfaceInfo->Config.DataOUTPipeNumber);
+
+ if (Pipe_BytesInPipe())
+ {
+ Pipe_ClearOUT();
+
+ if ((ErrorCode = Pipe_WaitUntilReady()) != PIPE_READYWAIT_NoError)
+ return ErrorCode;
+ }
+
+ return PIPE_READYWAIT_NoError;
+}
+
+uint8_t MIDI_Host_SendEventPacket(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo,
+ MIDI_EventPacket_t* const Event)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(MIDIInterfaceInfo->State.IsActive))
+ return HOST_SENDCONTROL_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ Pipe_SelectPipe(MIDIInterfaceInfo->Config.DataOUTPipeNumber);
+
+ if ((ErrorCode = Pipe_Write_Stream_LE(Event, sizeof(MIDI_EventPacket_t), NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ if (!(Pipe_IsReadWriteAllowed()))
+ Pipe_ClearOUT();
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+bool MIDI_Host_ReceiveEventPacket(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo,
+ MIDI_EventPacket_t* const Event)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(MIDIInterfaceInfo->State.IsActive))
+ return HOST_SENDCONTROL_DeviceDisconnected;
+
+ Pipe_SelectPipe(MIDIInterfaceInfo->Config.DataINPipeNumber);
+
+ if (!(Pipe_IsReadWriteAllowed()))
+ return false;
+
+ Pipe_Read_Stream_LE(Event, sizeof(MIDI_EventPacket_t), NO_STREAM_CALLBACK);
+
+ if (!(Pipe_IsReadWriteAllowed()))
+ Pipe_ClearIN();
+
+ return true;
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/MIDI.h b/firmware/LUFA/Drivers/USB/Class/Host/MIDI.h
new file mode 100644
index 0000000..0cb778f
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/MIDI.h
@@ -0,0 +1,201 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Host mode driver for the library USB MIDI Class driver.
+ *
+ * Host mode driver for the library USB MIDI Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassMIDI
+ * @defgroup Group_USBClassMIDIHost MIDI Class Host Mode Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Host/MIDI.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Host Mode USB Class driver framework interface, for the MIDI USB Class driver.
+ *
+ * @{
+ */
+
+#ifndef __MIDI_CLASS_HOST_H__
+#define __MIDI_CLASS_HOST_H__
+
+ /* Includes: */
+ #include "../../USB.h"
+ #include "../Common/MIDI.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_MIDI_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ #if defined(__INCLUDE_FROM_MIDI_HOST_C) && defined(NO_STREAM_CALLBACKS)
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Type Defines: */
+ /** \brief MIDI Class Host Mode Configuration and State Structure.
+ *
+ * Class state structure. An instance of this structure should be made within the user application,
+ * and passed to each of the MIDI class driver functions as the MIDIInterfaceInfo parameter. This
+ * stores each MIDI interface's configuration and state information.
+ */
+ typedef struct
+ {
+ const struct
+ {
+ uint8_t DataINPipeNumber; /**< Pipe number of the MIDI interface's streaming IN data pipe. */
+ bool DataINPipeDoubleBank; /**< Indicates if the MIDI interface's IN data pipe should use double banking. */
+
+ uint8_t DataOUTPipeNumber; /**< Pipe number of the MIDI interface's streaming OUT data pipe. */
+ bool DataOUTPipeDoubleBank; /**< Indicates if the MIDI interface's OUT data pipe should use double banking. */
+ } Config; /**< Config data for the USB class interface within the device. All elements in this section
+ * <b>must</b> be set or the interface will fail to enumerate and operate correctly.
+ */
+ struct
+ {
+ bool IsActive; /**< Indicates if the current interface instance is connected to an attached device, valid
+ * after \ref MIDI_Host_ConfigurePipes() is called and the Host state machine is in the
+ * Configured state.
+ */
+ uint8_t InterfaceNumber; /**< Interface index of the MIDI interface within the attached device. */
+
+ uint16_t DataINPipeSize; /**< Size in bytes of the MIDI Streaming Data interface's IN data pipe. */
+ uint16_t DataOUTPipeSize; /**< Size in bytes of the MIDI Streaming Data interface's OUT data pipe. */
+ } State; /**< State data for the USB class interface within the device. All elements in this section
+ * <b>may</b> be set to initial values, but may also be ignored to default to sane values when
+ * the interface is enumerated.
+ */
+ } USB_ClassInfo_MIDI_Host_t;
+
+ /* Enums: */
+ /** Enum for the possible error codes returned by the \ref MIDI_Host_ConfigurePipes() function. */
+ enum MIDI_Host_EnumerationFailure_ErrorCodes_t
+ {
+ MIDI_ENUMERROR_NoError = 0, /**< Configuration Descriptor was processed successfully. */
+ MIDI_ENUMERROR_InvalidConfigDescriptor = 1, /**< The device returned an invalid Configuration Descriptor. */
+ MIDI_ENUMERROR_NoCompatibleInterfaceFound = 2, /**< A compatible MIDI interface was not found in the device's Configuration Descriptor. */
+ };
+
+ /* Function Prototypes: */
+ /** Host interface configuration routine, to configure a given MIDI host interface instance using the Configuration
+ * Descriptor read from an attached USB device. This function automatically updates the given MIDI Host instance's
+ * state values and configures the pipes required to communicate with the interface if it is found within the device.
+ * This should be called once after the stack has enumerated the attached device, while the host state machine is in
+ * the Addressed state.
+ *
+ * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other
+ * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes
+ * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes.
+ *
+ * \param[in,out] MIDIInterfaceInfo Pointer to a structure containing an MIDI Class host configuration and state.
+ * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor.
+ * \param[in] DeviceConfigDescriptor Pointer to a buffer containing the attached device's Configuration Descriptor.
+ *
+ * \return A value from the \ref MIDI_Host_EnumerationFailure_ErrorCodes_t enum.
+ */
+ uint8_t MIDI_Host_ConfigurePipes(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo,
+ uint16_t ConfigDescriptorSize,
+ void* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
+
+ /** General management task for a given MIDI host class interface, required for the correct operation of the interface. This should
+ * be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().
+ *
+ * \param[in,out] MIDIInterfaceInfo Pointer to a structure containing an MIDI Class host configuration and state.
+ */
+ void MIDI_Host_USBTask(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Sends a MIDI event packet to the device. If no device is connected, the event packet is discarded.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] MIDIInterfaceInfo Pointer to a structure containing a MIDI Class configuration and state.
+ * \param[in] Event Pointer to a populated USB_MIDI_EventPacket_t structure containing the MIDI event to send.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t MIDI_Host_SendEventPacket(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo,
+ MIDI_EventPacket_t* const Event) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Flushes the MIDI send buffer, sending any queued MIDI events to the device. This should be called to override the
+ * \ref MIDI_Host_SendEventPacket() function's packing behaviour, to flush queued events. Events are queued into the
+ * pipe bank until either the pipe bank is full, or \ref MIDI_Host_Flush() is called. This allows for multiple MIDI
+ * events to be packed into a single pipe packet, increasing data throughput.
+ *
+ * \param[in,out] MIDIInterfaceInfo Pointer to a structure containing a MIDI Class configuration and state.
+ *
+ * \return A value from the \ref Pipe_WaitUntilReady_ErrorCodes_t enum.
+ */
+ uint8_t MIDI_Host_Flush(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Receives a MIDI event packet from the device.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] MIDIInterfaceInfo Pointer to a structure containing a MIDI Class configuration and state.
+ * \param[out] Event Pointer to a USB_MIDI_EventPacket_t structure where the received MIDI event is to be placed.
+ *
+ * \return Boolean true if a MIDI event packet was received, false otherwise.
+ */
+ bool MIDI_Host_ReceiveEventPacket(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo,
+ MIDI_EventPacket_t* const Event) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Function Prototypes: */
+ #if defined(__INCLUDE_FROM_MIDI_HOST_C)
+ static uint8_t DCOMP_MIDI_Host_NextMIDIStreamingInterface(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ static uint8_t DCOMP_MIDI_Host_NextMIDIStreamingDataEndpoint(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ #endif
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/MIDI.lst b/firmware/LUFA/Drivers/USB/Class/Host/MIDI.lst
new file mode 100644
index 0000000..eb26be7
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/MIDI.lst
@@ -0,0 +1,19 @@
+ 1 .file "MIDI.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 MIDI.c
+ /tmp/cc5LIYAF.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/cc5LIYAF.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/cc5LIYAF.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/cc5LIYAF.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/cc5LIYAF.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/cc5LIYAF.s:7 *ABS*:0000000000000001 __zero_reg__
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/MIDI.o b/firmware/LUFA/Drivers/USB/Class/Host/MIDI.o
new file mode 100644
index 0000000..bb3defc
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/MIDI.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/MassStorage.c b/firmware/LUFA/Drivers/USB/Class/Host/MassStorage.c
new file mode 100644
index 0000000..0ecaca9
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/MassStorage.c
@@ -0,0 +1,629 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../../HighLevel/USBMode.h"
+#if defined(USB_CAN_BE_HOST)
+
+#define __INCLUDE_FROM_MS_DRIVER
+#define __INCLUDE_FROM_MASSSTORAGE_HOST_C
+#include "MassStorage.h"
+
+uint8_t MS_Host_ConfigurePipes(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ uint16_t ConfigDescriptorSize,
+ void* ConfigDescriptorData)
+{
+ USB_Descriptor_Endpoint_t* DataINEndpoint = NULL;
+ USB_Descriptor_Endpoint_t* DataOUTEndpoint = NULL;
+ USB_Descriptor_Interface_t* MassStorageInterface = NULL;
+
+ memset(&MSInterfaceInfo->State, 0x00, sizeof(MSInterfaceInfo->State));
+
+ if (DESCRIPTOR_TYPE(ConfigDescriptorData) != DTYPE_Configuration)
+ return MS_ENUMERROR_InvalidConfigDescriptor;
+
+ while (!(DataINEndpoint) || !(DataOUTEndpoint))
+ {
+ if (!(MassStorageInterface) ||
+ USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_MS_Host_NextMSInterfaceEndpoint) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_MS_Host_NextMSInterface) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ return MS_ENUMERROR_NoCompatibleInterfaceFound;
+ }
+
+ MassStorageInterface = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Interface_t);
+
+ DataINEndpoint = NULL;
+ DataOUTEndpoint = NULL;
+
+ continue;
+ }
+
+ USB_Descriptor_Endpoint_t* EndpointData = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Endpoint_t);
+
+ if (EndpointData->EndpointAddress & ENDPOINT_DESCRIPTOR_DIR_IN)
+ DataINEndpoint = EndpointData;
+ else
+ DataOUTEndpoint = EndpointData;
+ }
+
+ for (uint8_t PipeNum = 1; PipeNum < PIPE_TOTAL_PIPES; PipeNum++)
+ {
+ if (PipeNum == MSInterfaceInfo->Config.DataINPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_BULK, PIPE_TOKEN_IN,
+ DataINEndpoint->EndpointAddress, DataINEndpoint->EndpointSize,
+ MSInterfaceInfo->Config.DataINPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+
+ MSInterfaceInfo->State.DataINPipeSize = DataINEndpoint->EndpointSize;
+ }
+ else if (PipeNum == MSInterfaceInfo->Config.DataOUTPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_BULK, PIPE_TOKEN_OUT,
+ DataOUTEndpoint->EndpointAddress, DataOUTEndpoint->EndpointSize,
+ MSInterfaceInfo->Config.DataOUTPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+
+ MSInterfaceInfo->State.DataOUTPipeSize = DataOUTEndpoint->EndpointSize;
+ }
+ }
+
+ MSInterfaceInfo->State.InterfaceNumber = MassStorageInterface->InterfaceNumber;
+ MSInterfaceInfo->State.IsActive = true;
+
+ return MS_ENUMERROR_NoError;
+}
+
+static uint8_t DCOMP_MS_Host_NextMSInterface(void* const CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Interface)
+ {
+ USB_Descriptor_Interface_t* Interface = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Interface_t);
+
+ if ((Interface->Class == MS_CSCP_MassStorageClass) &&
+ (Interface->SubClass == MS_CSCP_SCSITransparentSubclass) &&
+ (Interface->Protocol == MS_CSCP_BulkOnlyTransportProtocol))
+ {
+ return DESCRIPTOR_SEARCH_Found;
+ }
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+static uint8_t DCOMP_MS_Host_NextMSInterfaceEndpoint(void* const CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Endpoint)
+ {
+ USB_Descriptor_Endpoint_t* Endpoint = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Endpoint_t);
+
+ uint8_t EndpointType = (Endpoint->Attributes & EP_TYPE_MASK);
+
+ if ((EndpointType == EP_TYPE_BULK) && (!(Pipe_IsEndpointBound(Endpoint->EndpointAddress))))
+ {
+ return DESCRIPTOR_SEARCH_Found;
+ }
+ }
+ else if (Header->Type == DTYPE_Interface)
+ {
+ return DESCRIPTOR_SEARCH_Fail;
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+static uint8_t MS_Host_SendCommand(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ MS_CommandBlockWrapper_t* const SCSICommandBlock,
+ const void* const BufferPtr)
+{
+ uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
+
+ SCSICommandBlock->Signature = MS_CBW_SIGNATURE;
+ SCSICommandBlock->Tag = ++MSInterfaceInfo->State.TransactionTag;
+
+ if (MSInterfaceInfo->State.TransactionTag == 0xFFFFFFFF)
+ MSInterfaceInfo->State.TransactionTag = 1;
+
+ Pipe_SelectPipe(MSInterfaceInfo->Config.DataOUTPipeNumber);
+ Pipe_Unfreeze();
+
+ if ((ErrorCode = Pipe_Write_Stream_LE(SCSICommandBlock, sizeof(MS_CommandBlockWrapper_t),
+ NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ Pipe_ClearOUT();
+ Pipe_WaitUntilReady();
+
+ Pipe_Freeze();
+
+ if ((BufferPtr != NULL) &&
+ ((ErrorCode = MS_Host_SendReceiveData(MSInterfaceInfo, SCSICommandBlock, (void*)BufferPtr)) != PIPE_RWSTREAM_NoError))
+ {
+ Pipe_Freeze();
+ return ErrorCode;
+ }
+
+ return ErrorCode;
+}
+
+static uint8_t MS_Host_WaitForDataReceived(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo)
+{
+ uint16_t TimeoutMSRem = MS_COMMAND_DATA_TIMEOUT_MS;
+ uint16_t PreviousFrameNumber = USB_Host_GetFrameNumber();
+
+ Pipe_SelectPipe(MSInterfaceInfo->Config.DataINPipeNumber);
+ Pipe_Unfreeze();
+
+ while (!(Pipe_IsINReceived()))
+ {
+ uint16_t CurrentFrameNumber = USB_Host_GetFrameNumber();
+
+ if (CurrentFrameNumber != PreviousFrameNumber)
+ {
+ PreviousFrameNumber = CurrentFrameNumber;
+
+ if (!(TimeoutMSRem--))
+ return PIPE_RWSTREAM_Timeout;
+ }
+
+ Pipe_Freeze();
+ Pipe_SelectPipe(MSInterfaceInfo->Config.DataOUTPipeNumber);
+ Pipe_Unfreeze();
+
+ if (Pipe_IsStalled())
+ {
+ USB_Host_ClearPipeStall(MSInterfaceInfo->Config.DataOUTPipeNumber);
+
+ return PIPE_RWSTREAM_PipeStalled;
+ }
+
+ Pipe_Freeze();
+ Pipe_SelectPipe(MSInterfaceInfo->Config.DataINPipeNumber);
+ Pipe_Unfreeze();
+
+ if (Pipe_IsStalled())
+ {
+ USB_Host_ClearPipeStall(MSInterfaceInfo->Config.DataINPipeNumber);
+
+ return PIPE_RWSTREAM_PipeStalled;
+ }
+
+ if (USB_HostState == HOST_STATE_Unattached)
+ return PIPE_RWSTREAM_DeviceDisconnected;
+ };
+
+ Pipe_SelectPipe(MSInterfaceInfo->Config.DataINPipeNumber);
+ Pipe_Freeze();
+
+ Pipe_SelectPipe(MSInterfaceInfo->Config.DataOUTPipeNumber);
+ Pipe_Freeze();
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+static uint8_t MS_Host_SendReceiveData(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ MS_CommandBlockWrapper_t* const SCSICommandBlock,
+ void* BufferPtr)
+{
+ uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
+ uint16_t BytesRem = SCSICommandBlock->DataTransferLength;
+
+ if (SCSICommandBlock->Flags & MS_COMMAND_DIR_DATA_IN)
+ {
+ if ((ErrorCode = MS_Host_WaitForDataReceived(MSInterfaceInfo)) != PIPE_RWSTREAM_NoError)
+ {
+ Pipe_Freeze();
+ return ErrorCode;
+ }
+
+ Pipe_SelectPipe(MSInterfaceInfo->Config.DataINPipeNumber);
+ Pipe_Unfreeze();
+
+ if ((ErrorCode = Pipe_Read_Stream_LE(BufferPtr, BytesRem, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ Pipe_ClearIN();
+ }
+ else
+ {
+ Pipe_SelectPipe(MSInterfaceInfo->Config.DataOUTPipeNumber);
+ Pipe_Unfreeze();
+
+ if ((ErrorCode = Pipe_Write_Stream_LE(BufferPtr, BytesRem, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ Pipe_ClearOUT();
+
+ while (!(Pipe_IsOUTReady()))
+ {
+ if (USB_HostState == HOST_STATE_Unattached)
+ return PIPE_RWSTREAM_DeviceDisconnected;
+ }
+ }
+
+ Pipe_Freeze();
+
+ return ErrorCode;
+}
+
+static uint8_t MS_Host_GetReturnedStatus(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ MS_CommandStatusWrapper_t* const SCSICommandStatus)
+{
+ uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
+
+ if ((ErrorCode = MS_Host_WaitForDataReceived(MSInterfaceInfo)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ Pipe_SelectPipe(MSInterfaceInfo->Config.DataINPipeNumber);
+ Pipe_Unfreeze();
+
+ if ((ErrorCode = Pipe_Read_Stream_LE(SCSICommandStatus, sizeof(MS_CommandStatusWrapper_t),
+ NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
+ {
+ return ErrorCode;
+ }
+
+ Pipe_ClearIN();
+ Pipe_Freeze();
+
+ if (SCSICommandStatus->Status != MS_SCSI_COMMAND_Pass)
+ ErrorCode = MS_ERROR_LOGICAL_CMD_FAILED;
+
+ return ErrorCode;
+}
+
+uint8_t MS_Host_ResetMSInterface(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo)
+{
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = MS_REQ_MassStorageReset,
+ .wValue = 0,
+ .wIndex = MSInterfaceInfo->State.InterfaceNumber,
+ .wLength = 0,
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ return USB_Host_SendControlRequest(NULL);
+}
+
+uint8_t MS_Host_GetMaxLUN(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ uint8_t* const MaxLUNIndex)
+{
+ uint8_t ErrorCode = HOST_SENDCONTROL_Successful;
+
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = MS_REQ_GetMaxLUN,
+ .wValue = 0,
+ .wIndex = MSInterfaceInfo->State.InterfaceNumber,
+ .wLength = 1,
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ if ((ErrorCode = USB_Host_SendControlRequest(MaxLUNIndex)) != HOST_SENDCONTROL_Successful)
+ {
+ *MaxLUNIndex = 0;
+ ErrorCode = HOST_SENDCONTROL_Successful;
+ }
+
+ return ErrorCode;
+}
+
+uint8_t MS_Host_GetInquiryData(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ const uint8_t LUNIndex,
+ SCSI_Inquiry_Response_t* const InquiryData)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(MSInterfaceInfo->State.IsActive))
+ return HOST_SENDCONTROL_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
+ {
+ .DataTransferLength = sizeof(SCSI_Inquiry_Response_t),
+ .Flags = MS_COMMAND_DIR_DATA_IN,
+ .LUN = LUNIndex,
+ .SCSICommandLength = 6,
+ .SCSICommandData =
+ {
+ SCSI_CMD_INQUIRY,
+ 0x00, // Reserved
+ 0x00, // Reserved
+ 0x00, // Reserved
+ sizeof(SCSI_Inquiry_Response_t), // Allocation Length
+ 0x00 // Unused (control)
+ }
+ };
+
+ MS_CommandStatusWrapper_t SCSICommandStatus;
+
+ if ((ErrorCode = MS_Host_SendCommand(MSInterfaceInfo, &SCSICommandBlock, InquiryData)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ if ((ErrorCode = MS_Host_GetReturnedStatus(MSInterfaceInfo, &SCSICommandStatus)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+uint8_t MS_Host_TestUnitReady(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ const uint8_t LUNIndex)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(MSInterfaceInfo->State.IsActive))
+ return HOST_SENDCONTROL_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
+ {
+ .DataTransferLength = 0,
+ .Flags = MS_COMMAND_DIR_DATA_IN,
+ .LUN = LUNIndex,
+ .SCSICommandLength = 6,
+ .SCSICommandData =
+ {
+ SCSI_CMD_TEST_UNIT_READY,
+ 0x00, // Reserved
+ 0x00, // Reserved
+ 0x00, // Reserved
+ 0x00, // Reserved
+ 0x00 // Unused (control)
+ }
+ };
+
+ MS_CommandStatusWrapper_t SCSICommandStatus;
+
+ if ((ErrorCode = MS_Host_SendCommand(MSInterfaceInfo, &SCSICommandBlock, NULL)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ if ((ErrorCode = MS_Host_GetReturnedStatus(MSInterfaceInfo, &SCSICommandStatus)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+uint8_t MS_Host_ReadDeviceCapacity(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ const uint8_t LUNIndex,
+ SCSI_Capacity_t* const DeviceCapacity)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(MSInterfaceInfo->State.IsActive))
+ return HOST_SENDCONTROL_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
+ {
+ .DataTransferLength = sizeof(SCSI_Capacity_t),
+ .Flags = MS_COMMAND_DIR_DATA_IN,
+ .LUN = LUNIndex,
+ .SCSICommandLength = 10,
+ .SCSICommandData =
+ {
+ SCSI_CMD_READ_CAPACITY_10,
+ 0x00, // Reserved
+ 0x00, // MSB of Logical block address
+ 0x00,
+ 0x00,
+ 0x00, // LSB of Logical block address
+ 0x00, // Reserved
+ 0x00, // Reserved
+ 0x00, // Partial Medium Indicator
+ 0x00 // Unused (control)
+ }
+ };
+
+ MS_CommandStatusWrapper_t SCSICommandStatus;
+
+ if ((ErrorCode = MS_Host_SendCommand(MSInterfaceInfo, &SCSICommandBlock, DeviceCapacity)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ SwapEndian_n(&DeviceCapacity->Blocks, sizeof(DeviceCapacity->Blocks));
+ SwapEndian_n(&DeviceCapacity->BlockSize, sizeof(DeviceCapacity->BlockSize));
+
+ if ((ErrorCode = MS_Host_GetReturnedStatus(MSInterfaceInfo, &SCSICommandStatus)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+uint8_t MS_Host_RequestSense(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ const uint8_t LUNIndex,
+ SCSI_Request_Sense_Response_t* const SenseData)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(MSInterfaceInfo->State.IsActive))
+ return HOST_SENDCONTROL_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
+ {
+ .DataTransferLength = sizeof(SCSI_Request_Sense_Response_t),
+ .Flags = MS_COMMAND_DIR_DATA_IN,
+ .LUN = LUNIndex,
+ .SCSICommandLength = 6,
+ .SCSICommandData =
+ {
+ SCSI_CMD_REQUEST_SENSE,
+ 0x00, // Reserved
+ 0x00, // Reserved
+ 0x00, // Reserved
+ sizeof(SCSI_Request_Sense_Response_t), // Allocation Length
+ 0x00 // Unused (control)
+ }
+ };
+
+ MS_CommandStatusWrapper_t SCSICommandStatus;
+
+ if ((ErrorCode = MS_Host_SendCommand(MSInterfaceInfo, &SCSICommandBlock, SenseData)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ if ((ErrorCode = MS_Host_GetReturnedStatus(MSInterfaceInfo, &SCSICommandStatus)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+uint8_t MS_Host_PreventAllowMediumRemoval(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ const uint8_t LUNIndex,
+ const bool PreventRemoval)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(MSInterfaceInfo->State.IsActive))
+ return HOST_SENDCONTROL_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
+ {
+ .DataTransferLength = 0,
+ .Flags = MS_COMMAND_DIR_DATA_OUT,
+ .LUN = LUNIndex,
+ .SCSICommandLength = 6,
+ .SCSICommandData =
+ {
+ SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL,
+ 0x00, // Reserved
+ 0x00, // Reserved
+ PreventRemoval, // Prevent flag
+ 0x00, // Reserved
+ 0x00 // Unused (control)
+ }
+ };
+
+ MS_CommandStatusWrapper_t SCSICommandStatus;
+
+ if ((ErrorCode = MS_Host_SendCommand(MSInterfaceInfo, &SCSICommandBlock, NULL)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ if ((ErrorCode = MS_Host_GetReturnedStatus(MSInterfaceInfo, &SCSICommandStatus)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+uint8_t MS_Host_ReadDeviceBlocks(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ const uint8_t LUNIndex,
+ const uint32_t BlockAddress,
+ const uint8_t Blocks,
+ const uint16_t BlockSize,
+ void* BlockBuffer)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(MSInterfaceInfo->State.IsActive))
+ return HOST_SENDCONTROL_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
+ {
+ .DataTransferLength = ((uint32_t)Blocks * BlockSize),
+ .Flags = MS_COMMAND_DIR_DATA_IN,
+ .LUN = LUNIndex,
+ .SCSICommandLength = 10,
+ .SCSICommandData =
+ {
+ SCSI_CMD_READ_10,
+ 0x00, // Unused (control bits, all off)
+ (BlockAddress >> 24), // MSB of Block Address
+ (BlockAddress >> 16),
+ (BlockAddress >> 8),
+ (BlockAddress & 0xFF), // LSB of Block Address
+ 0x00, // Reserved
+ 0x00, // MSB of Total Blocks to Read
+ Blocks, // LSB of Total Blocks to Read
+ 0x00 // Unused (control)
+ }
+ };
+
+ MS_CommandStatusWrapper_t SCSICommandStatus;
+
+ if ((ErrorCode = MS_Host_SendCommand(MSInterfaceInfo, &SCSICommandBlock, BlockBuffer)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ if ((ErrorCode = MS_Host_GetReturnedStatus(MSInterfaceInfo, &SCSICommandStatus)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+uint8_t MS_Host_WriteDeviceBlocks(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ const uint8_t LUNIndex,
+ const uint32_t BlockAddress,
+ const uint8_t Blocks,
+ const uint16_t BlockSize,
+ const void* BlockBuffer)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(MSInterfaceInfo->State.IsActive))
+ return HOST_SENDCONTROL_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
+ {
+ .DataTransferLength = ((uint32_t)Blocks * BlockSize),
+ .Flags = MS_COMMAND_DIR_DATA_OUT,
+ .LUN = LUNIndex,
+ .SCSICommandLength = 10,
+ .SCSICommandData =
+ {
+ SCSI_CMD_WRITE_10,
+ 0x00, // Unused (control bits, all off)
+ (BlockAddress >> 24), // MSB of Block Address
+ (BlockAddress >> 16),
+ (BlockAddress >> 8),
+ (BlockAddress & 0xFF), // LSB of Block Address
+ 0x00, // Reserved
+ 0x00, // MSB of Total Blocks to Write
+ Blocks, // LSB of Total Blocks to Write
+ 0x00 // Unused (control)
+ }
+ };
+
+ MS_CommandStatusWrapper_t SCSICommandStatus;
+
+ if ((ErrorCode = MS_Host_SendCommand(MSInterfaceInfo, &SCSICommandBlock, BlockBuffer)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ if ((ErrorCode = MS_Host_GetReturnedStatus(MSInterfaceInfo, &SCSICommandStatus)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/MassStorage.h b/firmware/LUFA/Drivers/USB/Class/Host/MassStorage.h
new file mode 100644
index 0000000..ad4286d
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/MassStorage.h
@@ -0,0 +1,344 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Host mode driver for the library USB Mass Storage Class driver.
+ *
+ * Host mode driver for the library USB Mass Storage Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassMS
+ * @defgroup Group_USBClassMassStorageHost Mass Storage Class Host Mode Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Host/MassStorage.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Host Mode USB Class driver framework interface, for the Mass Storage USB Class driver.
+ *
+ * @{
+ */
+
+#ifndef __MS_CLASS_HOST_H__
+#define __MS_CLASS_HOST_H__
+
+ /* Includes: */
+ #include "../../USB.h"
+ #include "../Common/MassStorage.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_MS_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ #if defined(__INCLUDE_FROM_MASSSTORAGE_HOST_C) && defined(NO_STREAM_CALLBACKS)
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Error code for some Mass Storage Host functions, indicating a logical (and not hardware) error. */
+ #define MS_ERROR_LOGICAL_CMD_FAILED 0x80
+
+ /* Type Defines: */
+ /** \brief Mass Storage Class Host Mode Configuration and State Structure.
+ *
+ * Class state structure. An instance of this structure should be made within the user application,
+ * and passed to each of the Mass Storage class driver functions as the MSInterfaceInfo parameter. This
+ * stores each Mass Storage interface's configuration and state information.
+ */
+ typedef struct
+ {
+ const struct
+ {
+ uint8_t DataINPipeNumber; /**< Pipe number of the Mass Storage interface's IN data pipe. */
+ bool DataINPipeDoubleBank; /**< Indicates if the Mass Storage interface's IN data pipe should use double banking. */
+
+ uint8_t DataOUTPipeNumber; /**< Pipe number of the Mass Storage interface's OUT data pipe. */
+ bool DataOUTPipeDoubleBank; /**< Indicates if the Mass Storage interface's OUT data pipe should use double banking. */
+ } Config; /**< Config data for the USB class interface within the device. All elements in this section
+ * <b>must</b> be set or the interface will fail to enumerate and operate correctly.
+ */
+ struct
+ {
+ bool IsActive; /**< Indicates if the current interface instance is connected to an attached device, valid
+ * after \ref MS_Host_ConfigurePipes() is called and the Host state machine is in the
+ * Configured state.
+ */
+ uint8_t InterfaceNumber; /**< Interface index of the Mass Storage interface within the attached device. */
+
+ uint16_t DataINPipeSize; /**< Size in bytes of the Mass Storage interface's IN data pipe. */
+ uint16_t DataOUTPipeSize; /**< Size in bytes of the Mass Storage interface's OUT data pipe. */
+
+ uint32_t TransactionTag; /**< Current transaction tag for data synchronizing of packets. */
+ } State; /**< State data for the USB class interface within the device. All elements in this section
+ * <b>may</b> be set to initial values, but may also be ignored to default to sane values when
+ * the interface is enumerated.
+ */
+ } USB_ClassInfo_MS_Host_t;
+
+ /** \brief SCSI Device LUN Capacity Structure.
+ *
+ * SCSI capacity structure, to hold the total capacity of the device in both the number
+ * of blocks in the current LUN, and the size of each block. This structure is filled by
+ * the device when the \ref MS_Host_ReadDeviceCapacity() function is called.
+ */
+ typedef struct
+ {
+ uint32_t Blocks; /**< Number of blocks in the addressed LUN of the device. */
+ uint32_t BlockSize; /**< Number of bytes in each block in the addressed LUN. */
+ } SCSI_Capacity_t;
+
+ /* Enums: */
+ enum MS_Host_EnumerationFailure_ErrorCodes_t
+ {
+ MS_ENUMERROR_NoError = 0, /**< Configuration Descriptor was processed successfully. */
+ MS_ENUMERROR_InvalidConfigDescriptor = 1, /**< The device returned an invalid Configuration Descriptor. */
+ MS_ENUMERROR_NoCompatibleInterfaceFound = 2, /**< A compatible Mass Storage interface was not found in the device's Configuration Descriptor. */
+ };
+
+ /* Function Prototypes: */
+ /** Host interface configuration routine, to configure a given Mass Storage host interface instance using the
+ * Configuration Descriptor read from an attached USB device. This function automatically updates the given Mass
+ * Storage Host instance's state values and configures the pipes required to communicate with the interface if it
+ * is found within the device. This should be called once after the stack has enumerated the attached device, while
+ * the host state machine is in the Addressed state.
+ *
+ * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other
+ * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes
+ * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes.
+ *
+ * \param[in,out] MSInterfaceInfo Pointer to a structure containing an MS Class host configuration and state.
+ * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor.
+ * \param[in] ConfigDescriptorData Pointer to a buffer containing the attached device's Configuration Descriptor.
+ *
+ * \return A value from the \ref MS_Host_EnumerationFailure_ErrorCodes_t enum.
+ */
+ uint8_t MS_Host_ConfigurePipes(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ uint16_t ConfigDescriptorSize,
+ void* ConfigDescriptorData) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
+
+ /** Sends a MASS STORAGE RESET control request to the attached device, resetting the Mass Storage Interface
+ * and readying it for the next Mass Storage command.
+ *
+ * \param[in,out] MSInterfaceInfo Pointer to a structure containing a MS Class host configuration and state.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum.
+ */
+ uint8_t MS_Host_ResetMSInterface(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Sends a GET MAX LUN control request to the attached device, retrieving the index of the highest LUN (Logical
+ * UNit, a logical drive) in the device. This value can then be used in the other functions of the Mass Storage
+ * Host mode Class driver to address a specific LUN within the device.
+ *
+ * \note Some devices do not support this request, and will STALL it when issued. To get around this,
+ * on unsupported devices the max LUN index will be reported as zero and no error will be returned
+ * if the device STALLs the request.
+ *
+ * \param[in,out] MSInterfaceInfo Pointer to a structure containing a MS Class host configuration and state.
+ * \param[out] MaxLUNIndex Pointer to a location where the highest LUN index value should be stored.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum.
+ */
+ uint8_t MS_Host_GetMaxLUN(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ uint8_t* const MaxLUNIndex) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Retrieves the Mass Storage device's inquiry data for the specified LUN, indicating the device characteristics and
+ * properties.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] MSInterfaceInfo Pointer to a structure containing a MS Class host configuration and state.
+ * \param[in] LUNIndex LUN index within the device the command is being issued to.
+ * \param[out] InquiryData Location where the read inquiry data should be stored.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum or \ref MS_ERROR_LOGICAL_CMD_FAILED.
+ */
+ uint8_t MS_Host_GetInquiryData(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ const uint8_t LUNIndex,
+ SCSI_Inquiry_Response_t* const InquiryData) ATTR_NON_NULL_PTR_ARG(1)
+ ATTR_NON_NULL_PTR_ARG(3);
+
+ /** Sends a TEST UNIT READY command to the device, to determine if it is ready to accept other SCSI commands.
+ *
+ * \param[in,out] MSInterfaceInfo Pointer to a structure containing a MS Class host configuration and state.
+ * \param[in] LUNIndex LUN index within the device the command is being issued to.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum or \ref MS_ERROR_LOGICAL_CMD_FAILED if not ready.
+ */
+ uint8_t MS_Host_TestUnitReady(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ const uint8_t LUNIndex) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Retrieves the total capacity of the attached USB Mass Storage device, in blocks, and block size.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] MSInterfaceInfo Pointer to a structure containing a MS Class host configuration and state.
+ * \param[in] LUNIndex LUN index within the device the command is being issued to.
+ * \param[out] DeviceCapacity Pointer to the location where the capacity information should be stored.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum or \ref MS_ERROR_LOGICAL_CMD_FAILED if not ready.
+ */
+ uint8_t MS_Host_ReadDeviceCapacity(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ const uint8_t LUNIndex,
+ SCSI_Capacity_t* const DeviceCapacity) ATTR_NON_NULL_PTR_ARG(1)
+ ATTR_NON_NULL_PTR_ARG(3);
+
+ /** Retrieves the device sense data, indicating the current device state and error codes for the previously
+ * issued command.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] MSInterfaceInfo Pointer to a structure containing a MS Class host configuration and state.
+ * \param[in] LUNIndex LUN index within the device the command is being issued to.
+ * \param[out] SenseData Pointer to the location where the sense information should be stored.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum or \ref MS_ERROR_LOGICAL_CMD_FAILED if not ready.
+ */
+ uint8_t MS_Host_RequestSense(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ const uint8_t LUNIndex,
+ SCSI_Request_Sense_Response_t* const SenseData) ATTR_NON_NULL_PTR_ARG(1)
+ ATTR_NON_NULL_PTR_ARG(3);
+
+ /** Issues a PREVENT MEDIUM REMOVAL command, to logically (or, depending on the type of device, physically) lock
+ * the device from removal so that blocks of data on the medium can be read or altered.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] MSInterfaceInfo Pointer to a structure containing a MS Class host configuration and state.
+ * \param[in] LUNIndex LUN index within the device the command is being issued to.
+ * \param[in] PreventRemoval Boolean true if the device should be locked from removal, false otherwise.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum or \ref MS_ERROR_LOGICAL_CMD_FAILED if not ready.
+ */
+ uint8_t MS_Host_PreventAllowMediumRemoval(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ const uint8_t LUNIndex,
+ const bool PreventRemoval) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Reads blocks of data from the attached Mass Storage device's medium.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] MSInterfaceInfo Pointer to a structure containing a MS Class host configuration and state.
+ * \param[in] LUNIndex LUN index within the device the command is being issued to.
+ * \param[in] BlockAddress Starting block address within the device to read from.
+ * \param[in] Blocks Total number of blocks to read.
+ * \param[in] BlockSize Size in bytes of each block within the device.
+ * \param[out] BlockBuffer Pointer to where the read data from the device should be stored.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum or \ref MS_ERROR_LOGICAL_CMD_FAILED if not ready.
+ */
+ uint8_t MS_Host_ReadDeviceBlocks(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ const uint8_t LUNIndex,
+ const uint32_t BlockAddress,
+ const uint8_t Blocks,
+ const uint16_t BlockSize,
+ void* BlockBuffer) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(6);
+
+ /** Writes blocks of data to the attached Mass Storage device's medium.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] MSInterfaceInfo Pointer to a structure containing a MS Class host configuration and state.
+ * \param[in] LUNIndex LUN index within the device the command is being issued to.
+ * \param[in] BlockAddress Starting block address within the device to write to.
+ * \param[in] Blocks Total number of blocks to read.
+ * \param[in] BlockSize Size in bytes of each block within the device.
+ * \param[in] BlockBuffer Pointer to where the data to write should be sourced from.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum or \ref MS_ERROR_LOGICAL_CMD_FAILED if not ready.
+ */
+ uint8_t MS_Host_WriteDeviceBlocks(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ const uint8_t LUNIndex,
+ const uint32_t BlockAddress,
+ const uint8_t Blocks,
+ const uint16_t BlockSize,
+ const void* BlockBuffer) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(6);
+
+ /* Inline Functions: */
+ /** General management task for a given Mass Storage host class interface, required for the correct operation of
+ * the interface. This should be called frequently in the main program loop, before the master USB management task
+ * \ref USB_USBTask().
+ *
+ * \param[in,out] MSInterfaceInfo Pointer to a structure containing an Mass Storage Class host configuration and state.
+ */
+ static inline void MS_Host_USBTask(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo);
+ static inline void MS_Host_USBTask(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo)
+ {
+ (void)MSInterfaceInfo;
+ }
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define MS_COMMAND_DATA_TIMEOUT_MS 10000
+
+ /* Function Prototypes: */
+ #if defined(__INCLUDE_FROM_MASSSTORAGE_HOST_C)
+ static uint8_t DCOMP_MS_Host_NextMSInterface(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ static uint8_t DCOMP_MS_Host_NextMSInterfaceEndpoint(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+
+ static uint8_t MS_Host_SendCommand(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ MS_CommandBlockWrapper_t* const SCSICommandBlock,
+ const void* const BufferPtr) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+ static uint8_t MS_Host_WaitForDataReceived(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+ static uint8_t MS_Host_SendReceiveData(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ MS_CommandBlockWrapper_t* const SCSICommandBlock,
+ void* BufferPtr) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+ static uint8_t MS_Host_GetReturnedStatus(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
+ MS_CommandStatusWrapper_t* const SCSICommandStatus)
+ ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+ #endif
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/MassStorage.lst b/firmware/LUFA/Drivers/USB/Class/Host/MassStorage.lst
new file mode 100644
index 0000000..41f6f0e
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/MassStorage.lst
@@ -0,0 +1,19 @@
+ 1 .file "MassStorage.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 MassStorage.c
+ /tmp/ccgRRIOC.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccgRRIOC.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccgRRIOC.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccgRRIOC.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccgRRIOC.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccgRRIOC.s:7 *ABS*:0000000000000001 __zero_reg__
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/MassStorage.o b/firmware/LUFA/Drivers/USB/Class/Host/MassStorage.o
new file mode 100644
index 0000000..8a2b34b
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/MassStorage.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/Printer.c b/firmware/LUFA/Drivers/USB/Class/Host/Printer.c
new file mode 100644
index 0000000..ddcece8
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/Printer.c
@@ -0,0 +1,392 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../../HighLevel/USBMode.h"
+#if defined(USB_CAN_BE_HOST)
+
+#define __INCLUDE_FROM_PRINTER_DRIVER
+#define __INCLUDE_FROM_PRINTER_HOST_C
+#include "Printer.h"
+
+uint8_t PRNT_Host_ConfigurePipes(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
+ uint16_t ConfigDescriptorSize,
+ void* ConfigDescriptorData)
+{
+ USB_Descriptor_Endpoint_t* DataINEndpoint = NULL;
+ USB_Descriptor_Endpoint_t* DataOUTEndpoint = NULL;
+ USB_Descriptor_Interface_t* PrinterInterface = NULL;
+
+ memset(&PRNTInterfaceInfo->State, 0x00, sizeof(PRNTInterfaceInfo->State));
+
+ if (DESCRIPTOR_TYPE(ConfigDescriptorData) != DTYPE_Configuration)
+ return PRNT_ENUMERROR_InvalidConfigDescriptor;
+
+ while (!(DataINEndpoint) || !(DataOUTEndpoint))
+ {
+ if (!(PrinterInterface) ||
+ USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_PRNT_Host_NextPRNTInterfaceEndpoint) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_PRNT_Host_NextPRNTInterface) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ return PRNT_ENUMERROR_NoCompatibleInterfaceFound;
+ }
+
+ PrinterInterface = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Interface_t);
+
+ DataINEndpoint = NULL;
+ DataOUTEndpoint = NULL;
+
+ continue;
+ }
+
+ USB_Descriptor_Endpoint_t* EndpointData = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Endpoint_t);
+
+ if (EndpointData->EndpointAddress & ENDPOINT_DESCRIPTOR_DIR_IN)
+ DataINEndpoint = EndpointData;
+ else
+ DataOUTEndpoint = EndpointData;
+ }
+
+ for (uint8_t PipeNum = 1; PipeNum < PIPE_TOTAL_PIPES; PipeNum++)
+ {
+ if (PipeNum == PRNTInterfaceInfo->Config.DataINPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_BULK, PIPE_TOKEN_IN,
+ DataINEndpoint->EndpointAddress, DataINEndpoint->EndpointSize,
+ PRNTInterfaceInfo->Config.DataINPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+
+ PRNTInterfaceInfo->State.DataINPipeSize = DataINEndpoint->EndpointSize;
+ }
+ else if (PipeNum == PRNTInterfaceInfo->Config.DataOUTPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_BULK, PIPE_TOKEN_OUT,
+ DataOUTEndpoint->EndpointAddress, DataOUTEndpoint->EndpointSize,
+ PRNTInterfaceInfo->Config.DataOUTPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+
+ PRNTInterfaceInfo->State.DataOUTPipeSize = DataOUTEndpoint->EndpointSize;
+ }
+ }
+
+ PRNTInterfaceInfo->State.InterfaceNumber = PrinterInterface->InterfaceNumber;
+ PRNTInterfaceInfo->State.AlternateSetting = PrinterInterface->AlternateSetting;
+ PRNTInterfaceInfo->State.IsActive = true;
+
+ return PRNT_ENUMERROR_NoError;
+}
+
+static uint8_t DCOMP_PRNT_Host_NextPRNTInterface(void* CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Interface)
+ {
+ USB_Descriptor_Interface_t* Interface = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Interface_t);
+
+ if ((Interface->Class == PRNT_CSCP_PrinterClass) &&
+ (Interface->SubClass == PRNT_CSCP_PrinterSubclass) &&
+ (Interface->Protocol == PRNT_CSCP_BidirectionalProtocol))
+ {
+ return DESCRIPTOR_SEARCH_Found;
+ }
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+static uint8_t DCOMP_PRNT_Host_NextPRNTInterfaceEndpoint(void* CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Endpoint)
+ {
+ USB_Descriptor_Endpoint_t* Endpoint = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Endpoint_t);
+
+ uint8_t EndpointType = (Endpoint->Attributes & EP_TYPE_MASK);
+
+ if (EndpointType == EP_TYPE_BULK)
+ return DESCRIPTOR_SEARCH_Found;
+ }
+ else if (Header->Type == DTYPE_Interface)
+ {
+ return DESCRIPTOR_SEARCH_Fail;
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+void PRNT_Host_USBTask(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(PRNTInterfaceInfo->State.IsActive))
+ return;
+
+ #if !defined(NO_CLASS_DRIVER_AUTOFLUSH)
+ PRNT_Host_Flush(PRNTInterfaceInfo);
+ #endif
+}
+
+uint8_t PRNT_Host_SetBidirectionalMode(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo)
+{
+ if (PRNTInterfaceInfo->State.AlternateSetting)
+ {
+ uint8_t ErrorCode;
+
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_INTERFACE),
+ .bRequest = REQ_SetInterface,
+ .wValue = PRNTInterfaceInfo->State.AlternateSetting,
+ .wIndex = PRNTInterfaceInfo->State.InterfaceNumber,
+ .wLength = 0,
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)
+ return ErrorCode;
+ }
+
+ return HOST_SENDCONTROL_Successful;
+}
+
+uint8_t PRNT_Host_GetPortStatus(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
+ uint8_t* const PortStatus)
+{
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = PRNT_REQ_GetPortStatus,
+ .wValue = 0,
+ .wIndex = PRNTInterfaceInfo->State.InterfaceNumber,
+ .wLength = sizeof(uint8_t),
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ return USB_Host_SendControlRequest(PortStatus);
+}
+
+uint8_t PRNT_Host_SoftReset(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo)
+{
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = PRNT_REQ_SoftReset,
+ .wValue = 0,
+ .wIndex = PRNTInterfaceInfo->State.InterfaceNumber,
+ .wLength = 0,
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ return USB_Host_SendControlRequest(NULL);
+}
+
+uint8_t PRNT_Host_Flush(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(PRNTInterfaceInfo->State.IsActive))
+ return PIPE_READYWAIT_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ Pipe_SelectPipe(PRNTInterfaceInfo->Config.DataOUTPipeNumber);
+ Pipe_Unfreeze();
+
+ if (!(Pipe_BytesInPipe()))
+ return PIPE_READYWAIT_NoError;
+
+ bool BankFull = !(Pipe_IsReadWriteAllowed());
+
+ Pipe_ClearOUT();
+
+ if (BankFull)
+ {
+ if ((ErrorCode = Pipe_WaitUntilReady()) != PIPE_READYWAIT_NoError)
+ return ErrorCode;
+
+ Pipe_ClearOUT();
+ }
+
+ Pipe_Freeze();
+
+ return PIPE_READYWAIT_NoError;
+}
+
+uint8_t PRNT_Host_SendByte(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
+ const uint8_t Data)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(PRNTInterfaceInfo->State.IsActive))
+ return PIPE_READYWAIT_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ Pipe_SelectPipe(PRNTInterfaceInfo->Config.DataOUTPipeNumber);
+ Pipe_Unfreeze();
+
+ if (!(Pipe_IsReadWriteAllowed()))
+ {
+ Pipe_ClearOUT();
+
+ if ((ErrorCode = Pipe_WaitUntilReady()) != PIPE_READYWAIT_NoError)
+ return ErrorCode;
+ }
+
+ Pipe_Write_Byte(Data);
+ Pipe_Freeze();
+
+ return PIPE_READYWAIT_NoError;
+}
+
+uint8_t PRNT_Host_SendString(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
+ void* Buffer,
+ const uint16_t Length)
+{
+ uint8_t ErrorCode;
+
+ if ((USB_HostState != HOST_STATE_Configured) || !(PRNTInterfaceInfo->State.IsActive))
+ return PIPE_RWSTREAM_DeviceDisconnected;
+
+ Pipe_SelectPipe(PRNTInterfaceInfo->Config.DataOUTPipeNumber);
+ Pipe_Unfreeze();
+
+ if ((ErrorCode = Pipe_Write_Stream_LE(Buffer, Length, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ Pipe_ClearOUT();
+
+ ErrorCode = Pipe_WaitUntilReady();
+
+ Pipe_Freeze();
+
+ return ErrorCode;
+}
+
+uint16_t PRNT_Host_BytesReceived(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(PRNTInterfaceInfo->State.IsActive))
+ return 0;
+
+ Pipe_SelectPipe(PRNTInterfaceInfo->Config.DataINPipeNumber);
+ Pipe_Unfreeze();
+
+ if (Pipe_IsINReceived())
+ {
+ if (!(Pipe_BytesInPipe()))
+ {
+ Pipe_ClearIN();
+ Pipe_Freeze();
+ return 0;
+ }
+ else
+ {
+ Pipe_Freeze();
+ return Pipe_BytesInPipe();
+ }
+ }
+ else
+ {
+ Pipe_Freeze();
+
+ return 0;
+ }
+}
+
+int16_t PRNT_Host_ReceiveByte(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(PRNTInterfaceInfo->State.IsActive))
+ return PIPE_RWSTREAM_DeviceDisconnected;
+
+ int16_t ReceivedByte = -1;
+
+ Pipe_SelectPipe(PRNTInterfaceInfo->Config.DataINPipeNumber);
+ Pipe_Unfreeze();
+
+ if (Pipe_IsINReceived())
+ {
+ if (Pipe_BytesInPipe())
+ ReceivedByte = Pipe_Read_Byte();
+
+ if (!(Pipe_BytesInPipe()))
+ Pipe_ClearIN();
+ }
+
+ Pipe_Freeze();
+
+ return ReceivedByte;
+}
+
+uint8_t PRNT_Host_GetDeviceID(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
+ char* const DeviceIDString,
+ const uint16_t BufferSize)
+{
+ uint8_t ErrorCode = HOST_SENDCONTROL_Successful;
+ uint16_t DeviceIDStringLength = 0;
+
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = PRNT_REQ_GetDeviceID,
+ .wValue = 0,
+ .wIndex = PRNTInterfaceInfo->State.InterfaceNumber,
+ .wLength = sizeof(DeviceIDStringLength),
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ if ((ErrorCode = USB_Host_SendControlRequest(&DeviceIDStringLength)) != HOST_SENDCONTROL_Successful)
+ return ErrorCode;
+
+ if (!(DeviceIDStringLength))
+ {
+ DeviceIDString[0] = 0x00;
+ return HOST_SENDCONTROL_Successful;
+ }
+
+ DeviceIDStringLength = SwapEndian_16(DeviceIDStringLength);
+
+ if (DeviceIDStringLength > BufferSize)
+ DeviceIDStringLength = BufferSize;
+
+ USB_ControlRequest.wLength = DeviceIDStringLength;
+
+ if ((ErrorCode = USB_Host_SendControlRequest(DeviceIDString)) != HOST_SENDCONTROL_Successful)
+ return ErrorCode;
+
+ memmove(&DeviceIDString[0], &DeviceIDString[2], DeviceIDStringLength - 2);
+
+ DeviceIDString[DeviceIDStringLength - 2] = 0x00;
+
+ return HOST_SENDCONTROL_Successful;
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/Printer.h b/firmware/LUFA/Drivers/USB/Class/Host/Printer.h
new file mode 100644
index 0000000..cc77e96
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/Printer.h
@@ -0,0 +1,282 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Host mode driver for the library USB Printer Class driver.
+ *
+ * Host mode driver for the library USB Printer Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassPrinter
+ * @defgroup Group_USBClassPrinterHost Printer Class Host Mode Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Host/Printer.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Host Mode USB Class driver framework interface, for the Printer USB Class driver.
+ *
+ * @{
+ */
+
+#ifndef __PRINTER_CLASS_HOST_H__
+#define __PRINTER_CLASS_HOST_H__
+
+ /* Includes: */
+ #include "../../USB.h"
+ #include "../Common/Printer.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_PRINTER_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ #if defined(__INCLUDE_FROM_PRINTER_HOST_C) && defined(NO_STREAM_CALLBACKS)
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Type Defines: */
+ /** \brief Printer Class Host Mode Configuration and State Structure.
+ *
+ * Class state structure. An instance of this structure should be made within the user application,
+ * and passed to each of the Printer class driver functions as the PRNTInterfaceInfo parameter. This
+ * stores each Printer interface's configuration and state information.
+ */
+ typedef struct
+ {
+ const struct
+ {
+ uint8_t DataINPipeNumber; /**< Pipe number of the Printer interface's IN data pipe. */
+ bool DataINPipeDoubleBank; /**< Indicates if the Printer interface's IN data pipe should use double banking. */
+
+ uint8_t DataOUTPipeNumber; /**< Pipe number of the Printer interface's OUT data pipe. */
+ bool DataOUTPipeDoubleBank; /**< Indicates if the Printer interface's OUT data pipe should use double banking. */
+ } Config; /**< Config data for the USB class interface within the device. All elements in this section
+ * <b>must</b> be set or the interface will fail to enumerate and operate correctly.
+ */
+ struct
+ {
+ bool IsActive; /**< Indicates if the current interface instance is connected to an attached device, valid
+ * after \ref PRNT_Host_ConfigurePipes() is called and the Host state machine is in the
+ * Configured state.
+ */
+ uint8_t InterfaceNumber; /**< Interface index of the Printer interface within the attached device. */
+ uint8_t AlternateSetting; /**< Alternate setting within the Printer Interface in the attached device. */
+
+ uint16_t DataINPipeSize; /**< Size in bytes of the Printer interface's IN data pipe. */
+ uint16_t DataOUTPipeSize; /**< Size in bytes of the Printer interface's OUT data pipe. */
+ } State; /**< State data for the USB class interface within the device. All elements in this section
+ * <b>may</b> be set to initial values, but may also be ignored to default to sane values when
+ * the interface is enumerated.
+ */
+ } USB_ClassInfo_PRNT_Host_t;
+
+ /* Enums: */
+ enum PRNT_Host_EnumerationFailure_ErrorCodes_t
+ {
+ PRNT_ENUMERROR_NoError = 0, /**< Configuration Descriptor was processed successfully. */
+ PRNT_ENUMERROR_InvalidConfigDescriptor = 1, /**< The device returned an invalid Configuration Descriptor. */
+ PRNT_ENUMERROR_NoCompatibleInterfaceFound = 2, /**< A compatible Printer interface was not found in the device's Configuration Descriptor. */
+ };
+
+ /* Function Prototypes: */
+ /** General management task for a given Printer host class interface, required for the correct operation of
+ * the interface. This should be called frequently in the main program loop, before the master USB management task
+ * \ref USB_USBTask().
+ *
+ * \param[in,out] PRNTInterfaceInfo Pointer to a structure containing a Printer Class host configuration and state.
+ */
+ void PRNT_Host_USBTask(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Host interface configuration routine, to configure a given Printer host interface instance using the
+ * Configuration Descriptor read from an attached USB device. This function automatically updates the given Printer
+ * instance's state values and configures the pipes required to communicate with the interface if it is found within
+ * the device. This should be called once after the stack has enumerated the attached device, while the host state
+ * machine is in the Addressed state.
+ *
+ * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other
+ * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes
+ * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes.
+ *
+ * \param[in,out] PRNTInterfaceInfo Pointer to a structure containing a Printer Class host configuration and state.
+ * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor.
+ * \param[in] DeviceConfigDescriptor Pointer to a buffer containing the attached device's Configuration Descriptor.
+ *
+ * \return A value from the \ref PRNT_Host_EnumerationFailure_ErrorCodes_t enum.
+ */
+ uint8_t PRNT_Host_ConfigurePipes(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
+ uint16_t ConfigDescriptorSize,
+ void* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
+
+ /** Configures the printer to enable Bidirectional mode, if it is not already in this mode. This should be called
+ * once the connected device's configuration has been set, to ensure the printer is ready to accept commands.
+ *
+ * \param[in,out] PRNTInterfaceInfo Pointer to a structure containing a Printer Class host configuration and state.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum.
+ */
+ uint8_t PRNT_Host_SetBidirectionalMode(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Retrieves the status of the virtual Printer port's inbound status lines. The result can then be masked against the
+ * PRNT_PORTSTATUS_* macros to determine the printer port's status.
+ *
+ * \param[in,out] PRNTInterfaceInfo Pointer to a structure containing a Printer Class host configuration and state.
+ * \param[out] PortStatus Location where the retrieved port status should be stored.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum.
+ */
+ uint8_t PRNT_Host_GetPortStatus(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
+ uint8_t* const PortStatus)
+ ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Soft-resets the attached printer, readying it for new commands.
+ *
+ * \param[in,out] PRNTInterfaceInfo Pointer to a structure containing a Printer Class host configuration and state.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum.
+ */
+ uint8_t PRNT_Host_SoftReset(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Flushes any data waiting to be sent, ensuring that the send buffer is cleared.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] PRNTInterfaceInfo Pointer to a structure containing a Printer Class host configuration and state.
+ *
+ * \return A value from the \ref Pipe_WaitUntilReady_ErrorCodes_t enum.
+ */
+ uint8_t PRNT_Host_Flush(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Sends the given raw data stream to the attached printer's input endpoint. This should contain commands that the
+ * printer is able to understand - for example, PCL data. Not all printers accept all printer languages; see
+ * \ref PRNT_Host_GetDeviceID() for details on determining acceptable languages for an attached printer.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] PRNTInterfaceInfo Pointer to a structure containing a Printer Class host configuration and state.
+ * \param[in] Buffer Pointer to a buffer containing the raw command stream to send to the printer.
+ * \param[in] Length Size in bytes of the command stream to be sent.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t PRNT_Host_SendString(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
+ void* Buffer,
+ const uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Sends a given byte to the attached USB device, if connected. If a device is not connected when the function is called, the
+ * byte is discarded. Bytes will be queued for transmission to the device until either the pipe bank becomes full, or the
+ * \ref PRNT_Host_Flush() function is called to flush the pending data to the host. This allows for multiple bytes to be
+ * packed into a single pipe packet, increasing data throughput.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] PRNTInterfaceInfo Pointer to a structure containing a Printer Class host configuration and state.
+ * \param[in] Data Byte of data to send to the device.
+ *
+ * \return A value from the \ref Pipe_WaitUntilReady_ErrorCodes_t enum.
+ */
+ uint8_t PRNT_Host_SendByte(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
+ const uint8_t Data) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Determines the number of bytes received by the printer interface from the device, waiting to be read. This indicates the number
+ * of bytes in the IN pipe bank only, and thus the number of calls to \ref PRNT_Host_ReceiveByte() which are guaranteed to succeed
+ * immediately. If multiple bytes are to be received, they should be buffered by the user application, as the pipe bank will not be
+ * released back to the USB controller until all bytes are read.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] PRNTInterfaceInfo Pointer to a structure containing a Printer Class host configuration and state.
+ *
+ * \return Total number of buffered bytes received from the device.
+ */
+ uint16_t PRNT_Host_BytesReceived(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo);
+
+ /** Reads a byte of data from the device. If no data is waiting to be read of if a USB device is not connected, the function
+ * returns a negative value. The \ref PRNT_Host_BytesReceived() function may be queried in advance to determine how many bytes
+ * are currently buffered in the Printer interface's data receive pipe.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] PRNTInterfaceInfo Pointer to a structure containing a Printer Class host configuration and state.
+ *
+ * \return Next received byte from the device, or a negative value if no data received.
+ */
+ int16_t PRNT_Host_ReceiveByte(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo);
+
+ /** Retrieves the attached printer device's ID string, formatted according to IEEE 1284. This string is sent as a
+ * Unicode string from the device and is automatically converted to an ASCII encoded C string by this function, thus
+ * the maximum reportable string length is two less than the size given (to accommodate the Unicode string length
+ * bytes which are removed).
+ *
+ * This string, when supported, contains the model, manufacturer and acceptable printer languages for the attached device.
+ *
+ * \param[in,out] PRNTInterfaceInfo Pointer to a structure containing a Printer Class host configuration and state.
+ * \param[out] DeviceIDString Pointer to a buffer where the Device ID string should be stored, in ASCII format.
+ * \param[in] BufferSize Size in bytes of the buffer allocated for the Device ID string.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t PRNT_Host_GetDeviceID(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
+ char* const DeviceIDString,
+ const uint16_t BufferSize) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Function Prototypes: */
+ #if defined(__INCLUDE_FROM_PRINTER_HOST_C)
+ static uint8_t DCOMP_PRNT_Host_NextPRNTInterface(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ static uint8_t DCOMP_PRNT_Host_NextPRNTInterfaceEndpoint(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ #endif
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/Printer.lst b/firmware/LUFA/Drivers/USB/Class/Host/Printer.lst
new file mode 100644
index 0000000..6e74140
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/Printer.lst
@@ -0,0 +1,19 @@
+ 1 .file "Printer.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 Printer.c
+ /tmp/cchSsxeH.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/cchSsxeH.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/cchSsxeH.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/cchSsxeH.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/cchSsxeH.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/cchSsxeH.s:7 *ABS*:0000000000000001 __zero_reg__
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/Printer.o b/firmware/LUFA/Drivers/USB/Class/Host/Printer.o
new file mode 100644
index 0000000..400656d
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/Printer.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/RNDIS.c b/firmware/LUFA/Drivers/USB/Class/Host/RNDIS.c
new file mode 100644
index 0000000..11f7d9e
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/RNDIS.c
@@ -0,0 +1,480 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../../HighLevel/USBMode.h"
+#if defined(USB_CAN_BE_HOST)
+
+#define __INCLUDE_FROM_RNDIS_DRIVER
+#define __INCLUDE_FROM_RNDIS_HOST_C
+#include "RNDIS.h"
+
+uint8_t RNDIS_Host_ConfigurePipes(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
+ uint16_t ConfigDescriptorSize,
+ void* ConfigDescriptorData)
+{
+ USB_Descriptor_Endpoint_t* DataINEndpoint = NULL;
+ USB_Descriptor_Endpoint_t* DataOUTEndpoint = NULL;
+ USB_Descriptor_Endpoint_t* NotificationEndpoint = NULL;
+ USB_Descriptor_Interface_t* RNDISControlInterface = NULL;
+
+ memset(&RNDISInterfaceInfo->State, 0x00, sizeof(RNDISInterfaceInfo->State));
+
+ if (DESCRIPTOR_TYPE(ConfigDescriptorData) != DTYPE_Configuration)
+ return RNDIS_ENUMERROR_InvalidConfigDescriptor;
+
+ RNDISControlInterface = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Interface_t);
+
+ while (!(DataINEndpoint) || !(DataOUTEndpoint) || !(NotificationEndpoint))
+ {
+ if (!(RNDISControlInterface) ||
+ USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_RNDIS_Host_NextRNDISInterfaceEndpoint) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ if (NotificationEndpoint)
+ {
+ if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_RNDIS_Host_NextRNDISDataInterface) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ return RNDIS_ENUMERROR_NoCompatibleInterfaceFound;
+ }
+
+ DataINEndpoint = NULL;
+ DataOUTEndpoint = NULL;
+ }
+ else
+ {
+ if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_RNDIS_Host_NextRNDISControlInterface) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ return RNDIS_ENUMERROR_NoCompatibleInterfaceFound;
+ }
+
+ RNDISControlInterface = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Interface_t);
+
+ NotificationEndpoint = NULL;
+ }
+
+ continue;
+ }
+
+ USB_Descriptor_Endpoint_t* EndpointData = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Endpoint_t);
+
+ if (EndpointData->EndpointAddress & ENDPOINT_DESCRIPTOR_DIR_IN)
+ {
+ if ((EndpointData->Attributes & EP_TYPE_MASK) == EP_TYPE_INTERRUPT)
+ NotificationEndpoint = EndpointData;
+ else
+ DataINEndpoint = EndpointData;
+ }
+ else
+ {
+ DataOUTEndpoint = EndpointData;
+ }
+ }
+
+ for (uint8_t PipeNum = 1; PipeNum < PIPE_TOTAL_PIPES; PipeNum++)
+ {
+ if (PipeNum == RNDISInterfaceInfo->Config.DataINPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_BULK, PIPE_TOKEN_IN,
+ DataINEndpoint->EndpointAddress, DataINEndpoint->EndpointSize,
+ RNDISInterfaceInfo->Config.DataINPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+
+ RNDISInterfaceInfo->State.DataINPipeSize = DataINEndpoint->EndpointSize;
+ }
+ else if (PipeNum == RNDISInterfaceInfo->Config.DataOUTPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_BULK, PIPE_TOKEN_OUT,
+ DataOUTEndpoint->EndpointAddress, DataOUTEndpoint->EndpointSize,
+ RNDISInterfaceInfo->Config.DataOUTPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+
+ RNDISInterfaceInfo->State.DataOUTPipeSize = DataOUTEndpoint->EndpointSize;
+ }
+ else if (PipeNum == RNDISInterfaceInfo->Config.NotificationPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_INTERRUPT, PIPE_TOKEN_IN,
+ NotificationEndpoint->EndpointAddress, NotificationEndpoint->EndpointSize,
+ RNDISInterfaceInfo->Config.NotificationPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+ Pipe_SetInterruptPeriod(NotificationEndpoint->PollingIntervalMS);
+
+ RNDISInterfaceInfo->State.NotificationPipeSize = NotificationEndpoint->EndpointSize;
+ }
+ }
+
+ RNDISInterfaceInfo->State.ControlInterfaceNumber = RNDISControlInterface->InterfaceNumber;
+ RNDISInterfaceInfo->State.IsActive = true;
+
+ return RNDIS_ENUMERROR_NoError;
+}
+
+static uint8_t DCOMP_RNDIS_Host_NextRNDISControlInterface(void* const CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Interface)
+ {
+ USB_Descriptor_Interface_t* Interface = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Interface_t);
+
+ if ((Interface->Class == CDC_CSCP_CDCClass) &&
+ (Interface->SubClass == CDC_CSCP_ACMSubclass) &&
+ (Interface->Protocol == CDC_CSCP_VendorSpecificProtocol))
+ {
+ return DESCRIPTOR_SEARCH_Found;
+ }
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+static uint8_t DCOMP_RNDIS_Host_NextRNDISDataInterface(void* const CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Interface)
+ {
+ USB_Descriptor_Interface_t* Interface = DESCRIPTOR_PCAST(CurrentDescriptor,
+ USB_Descriptor_Interface_t);
+
+ if ((Interface->Class == CDC_CSCP_CDCDataClass) &&
+ (Interface->SubClass == CDC_CSCP_NoDataSubclass) &&
+ (Interface->Protocol == CDC_CSCP_NoDataProtocol))
+ {
+ return DESCRIPTOR_SEARCH_Found;
+ }
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+static uint8_t DCOMP_RNDIS_Host_NextRNDISInterfaceEndpoint(void* const CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Endpoint)
+ {
+ USB_Descriptor_Endpoint_t* Endpoint = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Endpoint_t);
+
+ uint8_t EndpointType = (Endpoint->Attributes & EP_TYPE_MASK);
+
+ if (((EndpointType == EP_TYPE_BULK) || (EndpointType == EP_TYPE_INTERRUPT)) &&
+ !(Pipe_IsEndpointBound(Endpoint->EndpointAddress)))
+ {
+ return DESCRIPTOR_SEARCH_Found;
+ }
+ }
+ else if (Header->Type == DTYPE_Interface)
+ {
+ return DESCRIPTOR_SEARCH_Fail;
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+static uint8_t RNDIS_SendEncapsulatedCommand(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
+ void* Buffer,
+ const uint16_t Length)
+{
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = RNDIS_REQ_SendEncapsulatedCommand,
+ .wValue = 0,
+ .wIndex = RNDISInterfaceInfo->State.ControlInterfaceNumber,
+ .wLength = Length,
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+ return USB_Host_SendControlRequest(Buffer);
+}
+
+static uint8_t RNDIS_GetEncapsulatedResponse(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
+ void* Buffer,
+ const uint16_t Length)
+{
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE),
+ .bRequest = RNDIS_REQ_GetEncapsulatedResponse,
+ .wValue = 0,
+ .wIndex = RNDISInterfaceInfo->State.ControlInterfaceNumber,
+ .wLength = Length,
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+ return USB_Host_SendControlRequest(Buffer);
+}
+
+uint8_t RNDIS_Host_SendKeepAlive(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo)
+{
+ uint8_t ErrorCode;
+
+ RNDIS_KeepAlive_Message_t KeepAliveMessage;
+ RNDIS_KeepAlive_Complete_t KeepAliveMessageResponse;
+
+ KeepAliveMessage.MessageType = REMOTE_NDIS_KEEPALIVE_MSG;
+ KeepAliveMessage.MessageLength = sizeof(RNDIS_KeepAlive_Message_t);
+ KeepAliveMessage.RequestId = RNDISInterfaceInfo->State.RequestID++;
+
+ if ((ErrorCode = RNDIS_SendEncapsulatedCommand(RNDISInterfaceInfo, &KeepAliveMessage,
+ sizeof(RNDIS_KeepAlive_Message_t))) != HOST_SENDCONTROL_Successful)
+ {
+ return ErrorCode;
+ }
+
+ if ((ErrorCode = RNDIS_GetEncapsulatedResponse(RNDISInterfaceInfo, &KeepAliveMessageResponse,
+ sizeof(RNDIS_KeepAlive_Complete_t))) != HOST_SENDCONTROL_Successful)
+ {
+ return ErrorCode;
+ }
+
+ return HOST_SENDCONTROL_Successful;
+}
+
+uint8_t RNDIS_Host_InitializeDevice(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo)
+{
+ uint8_t ErrorCode;
+
+ RNDIS_Initialize_Message_t InitMessage;
+ RNDIS_Initialize_Complete_t InitMessageResponse;
+
+ InitMessage.MessageType = REMOTE_NDIS_INITIALIZE_MSG;
+ InitMessage.MessageLength = sizeof(RNDIS_Initialize_Message_t);
+ InitMessage.RequestId = RNDISInterfaceInfo->State.RequestID++;
+
+ InitMessage.MajorVersion = REMOTE_NDIS_VERSION_MAJOR;
+ InitMessage.MinorVersion = REMOTE_NDIS_VERSION_MINOR;
+ InitMessage.MaxTransferSize = RNDISInterfaceInfo->Config.HostMaxPacketSize;
+
+ if ((ErrorCode = RNDIS_SendEncapsulatedCommand(RNDISInterfaceInfo, &InitMessage,
+ sizeof(RNDIS_Initialize_Message_t))) != HOST_SENDCONTROL_Successful)
+ {
+ return ErrorCode;
+ }
+
+ if ((ErrorCode = RNDIS_GetEncapsulatedResponse(RNDISInterfaceInfo, &InitMessageResponse,
+ sizeof(RNDIS_Initialize_Complete_t))) != HOST_SENDCONTROL_Successful)
+ {
+ return ErrorCode;
+ }
+
+ if (InitMessageResponse.Status != REMOTE_NDIS_STATUS_SUCCESS)
+ return RNDIS_COMMAND_FAILED;
+
+ RNDISInterfaceInfo->State.DeviceMaxPacketSize = InitMessageResponse.MaxTransferSize;
+
+ return HOST_SENDCONTROL_Successful;
+}
+
+uint8_t RNDIS_Host_SetRNDISProperty(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
+ const uint32_t Oid,
+ void* Buffer,
+ const uint16_t Length)
+{
+ uint8_t ErrorCode;
+
+ struct
+ {
+ RNDIS_Set_Message_t SetMessage;
+ uint8_t ContiguousBuffer[Length];
+ } SetMessageData;
+
+ RNDIS_Set_Complete_t SetMessageResponse;
+
+ SetMessageData.SetMessage.MessageType = REMOTE_NDIS_SET_MSG;
+ SetMessageData.SetMessage.MessageLength = sizeof(RNDIS_Set_Message_t) + Length;
+ SetMessageData.SetMessage.RequestId = RNDISInterfaceInfo->State.RequestID++;
+
+ SetMessageData.SetMessage.Oid = Oid;
+ SetMessageData.SetMessage.InformationBufferLength = Length;
+ SetMessageData.SetMessage.InformationBufferOffset = (sizeof(RNDIS_Set_Message_t) - sizeof(RNDIS_Message_Header_t));
+ SetMessageData.SetMessage.DeviceVcHandle = 0;
+
+ memcpy(&SetMessageData.ContiguousBuffer, Buffer, Length);
+
+ if ((ErrorCode = RNDIS_SendEncapsulatedCommand(RNDISInterfaceInfo, &SetMessageData,
+ SetMessageData.SetMessage.MessageLength)) != HOST_SENDCONTROL_Successful)
+ {
+ return ErrorCode;
+ }
+
+ if ((ErrorCode = RNDIS_GetEncapsulatedResponse(RNDISInterfaceInfo, &SetMessageResponse,
+ sizeof(RNDIS_Set_Complete_t))) != HOST_SENDCONTROL_Successful)
+ {
+ return ErrorCode;
+ }
+
+ if (SetMessageResponse.Status != REMOTE_NDIS_STATUS_SUCCESS)
+ return RNDIS_COMMAND_FAILED;
+
+ return HOST_SENDCONTROL_Successful;
+}
+
+uint8_t RNDIS_Host_QueryRNDISProperty(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
+ const uint32_t Oid,
+ void* Buffer,
+ const uint16_t MaxLength)
+{
+ uint8_t ErrorCode;
+
+ RNDIS_Query_Message_t QueryMessage;
+
+ struct
+ {
+ RNDIS_Query_Complete_t QueryMessageResponse;
+ uint8_t ContiguousBuffer[MaxLength];
+ } QueryMessageResponseData;
+
+ QueryMessage.MessageType = REMOTE_NDIS_QUERY_MSG;
+ QueryMessage.MessageLength = sizeof(RNDIS_Query_Message_t);
+ QueryMessage.RequestId = RNDISInterfaceInfo->State.RequestID++;
+
+ QueryMessage.Oid = Oid;
+ QueryMessage.InformationBufferLength = 0;
+ QueryMessage.InformationBufferOffset = 0;
+ QueryMessage.DeviceVcHandle = 0;
+
+ if ((ErrorCode = RNDIS_SendEncapsulatedCommand(RNDISInterfaceInfo, &QueryMessage,
+ sizeof(RNDIS_Query_Message_t))) != HOST_SENDCONTROL_Successful)
+ {
+ return ErrorCode;
+ }
+
+ if ((ErrorCode = RNDIS_GetEncapsulatedResponse(RNDISInterfaceInfo, &QueryMessageResponseData,
+ sizeof(QueryMessageResponseData))) != HOST_SENDCONTROL_Successful)
+ {
+ return ErrorCode;
+ }
+
+ if (QueryMessageResponseData.QueryMessageResponse.Status != REMOTE_NDIS_STATUS_SUCCESS)
+ return RNDIS_COMMAND_FAILED;
+
+ memcpy(Buffer, &QueryMessageResponseData.ContiguousBuffer, MaxLength);
+
+ return HOST_SENDCONTROL_Successful;
+}
+
+bool RNDIS_Host_IsPacketReceived(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo)
+{
+ bool PacketWaiting;
+
+ if ((USB_HostState != HOST_STATE_Configured) || !(RNDISInterfaceInfo->State.IsActive))
+ return false;
+
+ Pipe_SelectPipe(RNDISInterfaceInfo->Config.DataINPipeNumber);
+
+ Pipe_Unfreeze();
+ PacketWaiting = Pipe_IsINReceived();
+ Pipe_Freeze();
+
+ return PacketWaiting;
+}
+
+uint8_t RNDIS_Host_ReadPacket(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
+ void* Buffer,
+ uint16_t* const PacketLength)
+{
+ uint8_t ErrorCode;
+
+ if ((USB_HostState != HOST_STATE_Configured) || !(RNDISInterfaceInfo->State.IsActive))
+ return PIPE_READYWAIT_DeviceDisconnected;
+
+ Pipe_SelectPipe(RNDISInterfaceInfo->Config.DataINPipeNumber);
+ Pipe_Unfreeze();
+
+ if (!(Pipe_IsReadWriteAllowed()))
+ {
+ if (Pipe_IsINReceived())
+ Pipe_ClearIN();
+
+ *PacketLength = 0;
+ Pipe_Freeze();
+ return PIPE_RWSTREAM_NoError;
+ }
+
+ RNDIS_Packet_Message_t DeviceMessage;
+
+ if ((ErrorCode = Pipe_Read_Stream_LE(&DeviceMessage, sizeof(RNDIS_Packet_Message_t),
+ NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
+ {
+ return ErrorCode;
+ }
+
+ *PacketLength = (uint16_t)DeviceMessage.DataLength;
+
+ Pipe_Discard_Stream(DeviceMessage.DataOffset - (sizeof(RNDIS_Packet_Message_t) - sizeof(RNDIS_Message_Header_t)),
+ NO_STREAM_CALLBACK);
+
+ Pipe_Read_Stream_LE(Buffer, *PacketLength, NO_STREAM_CALLBACK);
+
+ if (!(Pipe_BytesInPipe()))
+ Pipe_ClearIN();
+
+ Pipe_Freeze();
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+uint8_t RNDIS_Host_SendPacket(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
+ void* Buffer,
+ const uint16_t PacketLength)
+{
+ uint8_t ErrorCode;
+
+ if ((USB_HostState != HOST_STATE_Configured) || !(RNDISInterfaceInfo->State.IsActive))
+ return PIPE_READYWAIT_DeviceDisconnected;
+
+ RNDIS_Packet_Message_t DeviceMessage;
+
+ memset(&DeviceMessage, 0, sizeof(RNDIS_Packet_Message_t));
+ DeviceMessage.MessageType = REMOTE_NDIS_PACKET_MSG;
+ DeviceMessage.MessageLength = (sizeof(RNDIS_Packet_Message_t) + PacketLength);
+ DeviceMessage.DataOffset = (sizeof(RNDIS_Packet_Message_t) - sizeof(RNDIS_Message_Header_t));
+ DeviceMessage.DataLength = PacketLength;
+
+ Pipe_SelectPipe(RNDISInterfaceInfo->Config.DataOUTPipeNumber);
+ Pipe_Unfreeze();
+
+ if ((ErrorCode = Pipe_Write_Stream_LE(&DeviceMessage, sizeof(RNDIS_Packet_Message_t),
+ NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
+ {
+ return ErrorCode;
+ }
+
+ Pipe_Write_Stream_LE(Buffer, PacketLength, NO_STREAM_CALLBACK);
+ Pipe_ClearOUT();
+
+ Pipe_Freeze();
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/RNDIS.h b/firmware/LUFA/Drivers/USB/Class/Host/RNDIS.h
new file mode 100644
index 0000000..611e59e
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/RNDIS.h
@@ -0,0 +1,290 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Host mode driver for the library USB RNDIS Class driver.
+ *
+ * Host mode driver for the library USB RNDIS Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassRNDIS
+ * @defgroup Group_USBClassRNDISHost RNDIS Class Host Mode Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Host/RNDIS.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Host Mode USB Class driver framework interface, for the Microsoft RNDIS Ethernet
+ * USB Class driver.
+ *
+ * @{
+ */
+
+#ifndef __RNDIS_CLASS_HOST_H__
+#define __RNDIS_CLASS_HOST_H__
+
+ /* Includes: */
+ #include "../../USB.h"
+ #include "../Common/RNDIS.h"
+
+ #include <stdio.h>
+ #include <string.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_RNDIS_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ #if defined(__INCLUDE_FROM_RNDIS_HOST_C) && defined(NO_STREAM_CALLBACKS)
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Type Defines: */
+ /** \brief RNDIS Class Host Mode Configuration and State Structure.
+ *
+ * Class state structure. An instance of this structure should be made within the user application,
+ * and passed to each of the RNDIS class driver functions as the RNDISInterfaceInfo parameter. This
+ * stores each RNDIS interface's configuration and state information.
+ */
+ typedef struct
+ {
+ const struct
+ {
+ uint8_t DataINPipeNumber; /**< Pipe number of the RNDIS interface's IN data pipe. */
+ bool DataINPipeDoubleBank; /**< Indicates if the RNDIS interface's IN data pipe should use double banking. */
+
+ uint8_t DataOUTPipeNumber; /**< Pipe number of the RNDIS interface's OUT data pipe. */
+ bool DataOUTPipeDoubleBank; /**< Indicates if the RNDIS interface's OUT data pipe should use double banking. */
+
+ uint8_t NotificationPipeNumber; /**< Pipe number of the RNDIS interface's IN notification endpoint, if used. */
+ bool NotificationPipeDoubleBank; /**< Indicates if the RNDIS interface's notification pipe should use double banking. */
+
+ uint32_t HostMaxPacketSize; /**< Maximum size of a packet which can be buffered by the host. */
+ } Config; /**< Config data for the USB class interface within the device. All elements in this section
+ * <b>must</b> be set or the interface will fail to enumerate and operate correctly.
+ */
+ struct
+ {
+ bool IsActive; /**< Indicates if the current interface instance is connected to an attached device, valid
+ * after \ref RNDIS_Host_ConfigurePipes() is called and the Host state machine is in the
+ * Configured state.
+ */
+ uint8_t ControlInterfaceNumber; /**< Interface index of the RNDIS control interface within the attached device. */
+
+ uint16_t DataINPipeSize; /**< Size in bytes of the RNDIS interface's IN data pipe. */
+ uint16_t DataOUTPipeSize; /**< Size in bytes of the RNDIS interface's OUT data pipe. */
+ uint16_t NotificationPipeSize; /**< Size in bytes of the RNDIS interface's IN notification pipe, if used. */
+
+ uint32_t DeviceMaxPacketSize; /**< Maximum size of a packet which can be buffered by the attached RNDIS device. */
+
+ uint32_t RequestID; /**< Request ID counter to give a unique ID for each command/response pair. */
+ } State; /**< State data for the USB class interface within the device. All elements in this section
+ * <b>may</b> be set to initial values, but may also be ignored to default to sane values when
+ * the interface is enumerated.
+ */
+ } USB_ClassInfo_RNDIS_Host_t;
+
+ /* Enums: */
+ /** Enum for the possible error codes returned by the \ref RNDIS_Host_ConfigurePipes() function. */
+ enum RNDIS_Host_EnumerationFailure_ErrorCodes_t
+ {
+ RNDIS_ENUMERROR_NoError = 0, /**< Configuration Descriptor was processed successfully. */
+ RNDIS_ENUMERROR_InvalidConfigDescriptor = 1, /**< The device returned an invalid Configuration Descriptor. */
+ RNDIS_ENUMERROR_NoCompatibleInterfaceFound = 2, /**< A compatible RNDIS interface was not found in the device's Configuration Descriptor. */
+ };
+
+ /* Macros: */
+ /** Additional error code for RNDIS functions when a device returns a logical command failure. */
+ #define RNDIS_COMMAND_FAILED 0xC0
+
+ /* Function Prototypes: */
+ /** Host interface configuration routine, to configure a given RNDIS host interface instance using the Configuration
+ * Descriptor read from an attached USB device. This function automatically updates the given RNDIS Host instance's
+ * state values and configures the pipes required to communicate with the interface if it is found within the device.
+ * This should be called once after the stack has enumerated the attached device, while the host state machine is in
+ * the Addressed state.
+ *
+ * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other
+ * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes
+ * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes.
+ *
+ * \param[in,out] RNDISInterfaceInfo Pointer to a structure containing an RNDIS Class host configuration and state.
+ * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor.
+ * \param[in] DeviceConfigDescriptor Pointer to a buffer containing the attached device's Configuration Descriptor.
+ *
+ * \return A value from the \ref RNDIS_Host_EnumerationFailure_ErrorCodes_t enum.
+ */
+ uint8_t RNDIS_Host_ConfigurePipes(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
+ uint16_t ConfigDescriptorSize,
+ void* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
+
+ /** Sends a RNDIS KEEPALIVE command to the device, to ensure that it does not enter standby mode after periods
+ * of long inactivity.
+ *
+ * \param[in,out] RNDISInterfaceInfo Pointer to a structure containing an RNDIS Class host configuration and state.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum or \ref RNDIS_COMMAND_FAILED if the device returned a
+ * logical command failure.
+ */
+ uint8_t RNDIS_Host_SendKeepAlive(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Initialises the attached RNDIS device's RNDIS interface. This should be called after the device's pipes have been
+ * configured via the call to \ref RNDIS_Host_ConfigurePipes().
+ *
+ * \param[in,out] RNDISInterfaceInfo Pointer to a structure containing an RNDIS Class host configuration and state.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum or \ref RNDIS_COMMAND_FAILED if the device returned a
+ * logical command failure.
+ */
+ uint8_t RNDIS_Host_InitializeDevice(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Sets a given RNDIS property of an attached RNDIS device.
+ *
+ * \param[in,out] RNDISInterfaceInfo Pointer to a structure containing an RNDIS Class host configuration and state.
+ * \param[in] Oid OID number of the parameter to set.
+ * \param[in] Buffer Pointer to where the property data is to be sourced from.
+ * \param[in] Length Length in bytes of the property data to sent to the device.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum or \ref RNDIS_COMMAND_FAILED if the device returned a
+ * logical command failure.
+ */
+ uint8_t RNDIS_Host_SetRNDISProperty(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
+ const uint32_t Oid,
+ void* Buffer,
+ const uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
+
+ /** Gets a given RNDIS property of an attached RNDIS device.
+ *
+ * \param[in,out] RNDISInterfaceInfo Pointer to a structure containing an RNDIS Class host configuration and state.
+ * \param[in] Oid OID number of the parameter to get.
+ * \param[in] Buffer Pointer to where the property data is to be written to.
+ * \param[in] MaxLength Length in bytes of the destination buffer size.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum or \ref RNDIS_COMMAND_FAILED if the device returned a
+ * logical command failure.
+ */
+ uint8_t RNDIS_Host_QueryRNDISProperty(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
+ const uint32_t Oid,
+ void* Buffer,
+ const uint16_t MaxLength) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
+
+ /** Determines if a packet is currently waiting for the host to read in and process.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] RNDISInterfaceInfo Pointer to a structure containing an RNDIS Class host configuration and state.
+ *
+ * \return Boolean true if a packet is waiting to be read in by the host, false otherwise.
+ */
+ bool RNDIS_Host_IsPacketReceived(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Retrieves the next pending packet from the device, discarding the remainder of the RNDIS packet header to leave
+ * only the packet contents for processing by the host in the nominated buffer.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] RNDISInterfaceInfo Pointer to a structure containing an RNDIS Class host configuration and state.
+ * \param[out] Buffer Pointer to a buffer where the packer data is to be written to.
+ * \param[out] PacketLength Pointer to where the length in bytes of the read packet is to be stored.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t RNDIS_Host_ReadPacket(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
+ void* Buffer,
+ uint16_t* const PacketLength) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2)
+ ATTR_NON_NULL_PTR_ARG(3);
+
+ /** Sends the given packet to the attached RNDIS device, after adding a RNDIS packet message header.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] RNDISInterfaceInfo Pointer to a structure containing an RNDIS Class host configuration and state.
+ * \param[in] Buffer Pointer to a buffer where the packer data is to be read from.
+ * \param[in] PacketLength Length in bytes of the packet to send.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t RNDIS_Host_SendPacket(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
+ void* Buffer,
+ const uint16_t PacketLength) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /* Inline Functions: */
+ /** General management task for a given RNDIS host class interface, required for the correct operation of the interface. This should
+ * be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().
+ *
+ * \param[in,out] RNDISInterfaceInfo Pointer to a structure containing an RNDIS Class host configuration and state.
+ */
+ static inline void RNDIS_Host_USBTask(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+ static inline void RNDIS_Host_USBTask(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo)
+ {
+ (void)RNDISInterfaceInfo;
+ }
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Function Prototypes: */
+ #if defined(__INCLUDE_FROM_RNDIS_HOST_C)
+ static uint8_t RNDIS_SendEncapsulatedCommand(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
+ void* Buffer,
+ const uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
+ ATTR_NON_NULL_PTR_ARG(2);
+ static uint8_t RNDIS_GetEncapsulatedResponse(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
+ void* Buffer,
+ const uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
+ ATTR_NON_NULL_PTR_ARG(2);
+
+ static uint8_t DCOMP_RNDIS_Host_NextRNDISControlInterface(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ static uint8_t DCOMP_RNDIS_Host_NextRNDISDataInterface(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ static uint8_t DCOMP_RNDIS_Host_NextRNDISInterfaceEndpoint(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ #endif
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/RNDIS.lst b/firmware/LUFA/Drivers/USB/Class/Host/RNDIS.lst
new file mode 100644
index 0000000..9dfa2cb
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/RNDIS.lst
@@ -0,0 +1,19 @@
+ 1 .file "RNDIS.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 RNDIS.c
+ /tmp/ccQYGsRG.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccQYGsRG.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccQYGsRG.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccQYGsRG.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccQYGsRG.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccQYGsRG.s:7 *ABS*:0000000000000001 __zero_reg__
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/RNDIS.o b/firmware/LUFA/Drivers/USB/Class/Host/RNDIS.o
new file mode 100644
index 0000000..63b9e84
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/RNDIS.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/StillImage.c b/firmware/LUFA/Drivers/USB/Class/Host/StillImage.c
new file mode 100644
index 0000000..7b31e10
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/StillImage.c
@@ -0,0 +1,443 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../../HighLevel/USBMode.h"
+#if defined(USB_CAN_BE_HOST)
+
+#define __INCLUDE_FROM_SI_DRIVER
+#define __INCLUDE_FROM_STILLIMAGE_HOST_C
+#include "StillImage.h"
+
+uint8_t SI_Host_ConfigurePipes(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
+ uint16_t ConfigDescriptorSize,
+ void* ConfigDescriptorData)
+{
+ USB_Descriptor_Endpoint_t* DataINEndpoint = NULL;
+ USB_Descriptor_Endpoint_t* DataOUTEndpoint = NULL;
+ USB_Descriptor_Endpoint_t* EventsEndpoint = NULL;
+ USB_Descriptor_Interface_t* StillImageInterface = NULL;
+
+ memset(&SIInterfaceInfo->State, 0x00, sizeof(SIInterfaceInfo->State));
+
+ if (DESCRIPTOR_TYPE(ConfigDescriptorData) != DTYPE_Configuration)
+ return SI_ENUMERROR_InvalidConfigDescriptor;
+
+ while (!(DataINEndpoint) || !(DataOUTEndpoint))
+ {
+ if (!(StillImageInterface) ||
+ USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_SI_Host_NextSIInterfaceEndpoint) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
+ DCOMP_SI_Host_NextSIInterface) != DESCRIPTOR_SEARCH_COMP_Found)
+ {
+ return SI_ENUMERROR_NoCompatibleInterfaceFound;
+ }
+
+ StillImageInterface = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Interface_t);
+
+ DataINEndpoint = NULL;
+ DataOUTEndpoint = NULL;
+ EventsEndpoint = NULL;
+
+ continue;
+ }
+
+ USB_Descriptor_Endpoint_t* EndpointData = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Endpoint_t);
+
+ if (EndpointData->EndpointAddress & ENDPOINT_DESCRIPTOR_DIR_IN)
+ {
+ if ((EndpointData->Attributes & EP_TYPE_MASK) == EP_TYPE_INTERRUPT)
+ EventsEndpoint = EndpointData;
+ else
+ DataINEndpoint = EndpointData;
+ }
+ else
+ {
+ DataOUTEndpoint = EndpointData;
+ }
+ }
+
+ for (uint8_t PipeNum = 1; PipeNum < PIPE_TOTAL_PIPES; PipeNum++)
+ {
+ if (PipeNum == SIInterfaceInfo->Config.DataINPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_BULK, PIPE_TOKEN_IN,
+ DataINEndpoint->EndpointAddress, DataINEndpoint->EndpointSize,
+ SIInterfaceInfo->Config.DataINPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+
+ SIInterfaceInfo->State.DataINPipeSize = DataINEndpoint->EndpointSize;
+ }
+ else if (PipeNum == SIInterfaceInfo->Config.DataOUTPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_BULK, PIPE_TOKEN_OUT,
+ DataOUTEndpoint->EndpointAddress, DataOUTEndpoint->EndpointSize,
+ SIInterfaceInfo->Config.DataOUTPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+
+ SIInterfaceInfo->State.DataOUTPipeSize = DataOUTEndpoint->EndpointSize;
+ }
+ else if (PipeNum == SIInterfaceInfo->Config.EventsPipeNumber)
+ {
+ Pipe_ConfigurePipe(PipeNum, EP_TYPE_INTERRUPT, PIPE_TOKEN_IN,
+ EventsEndpoint->EndpointAddress, EventsEndpoint->EndpointSize,
+ SIInterfaceInfo->Config.EventsPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);
+ Pipe_SetInterruptPeriod(EventsEndpoint->PollingIntervalMS);
+
+ SIInterfaceInfo->State.EventsPipeSize = EventsEndpoint->EndpointSize;
+ }
+ }
+
+ SIInterfaceInfo->State.InterfaceNumber = StillImageInterface->InterfaceNumber;
+ SIInterfaceInfo->State.IsActive = true;
+
+ return SI_ENUMERROR_NoError;
+}
+
+uint8_t DCOMP_SI_Host_NextSIInterface(void* const CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Interface)
+ {
+ USB_Descriptor_Interface_t* Interface = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Interface_t);
+
+ if ((Interface->Class == SI_CSCP_StillImageClass) &&
+ (Interface->SubClass == SI_CSCP_StillImageSubclass) &&
+ (Interface->Protocol == SI_CSCP_BulkOnlyProtocol))
+ {
+ return DESCRIPTOR_SEARCH_Found;
+ }
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+uint8_t DCOMP_SI_Host_NextSIInterfaceEndpoint(void* const CurrentDescriptor)
+{
+ USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
+
+ if (Header->Type == DTYPE_Endpoint)
+ {
+ USB_Descriptor_Endpoint_t* Endpoint = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Endpoint_t);
+
+ uint8_t EndpointType = (Endpoint->Attributes & EP_TYPE_MASK);
+
+ if (((EndpointType == EP_TYPE_BULK) || (EndpointType == EP_TYPE_INTERRUPT)) &&
+ (!(Pipe_IsEndpointBound(Endpoint->EndpointAddress))))
+ {
+ return DESCRIPTOR_SEARCH_Found;
+ }
+ }
+ else if (Header->Type == DTYPE_Interface)
+ {
+ return DESCRIPTOR_SEARCH_Fail;
+ }
+
+ return DESCRIPTOR_SEARCH_NotFound;
+}
+
+uint8_t SI_Host_SendBlockHeader(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
+ PIMA_Container_t* const PIMAHeader)
+{
+ uint8_t ErrorCode;
+
+ if ((USB_HostState != HOST_STATE_Configured) || !(SIInterfaceInfo->State.IsActive))
+ return PIPE_RWSTREAM_DeviceDisconnected;
+
+ if (SIInterfaceInfo->State.IsSessionOpen)
+ PIMAHeader->TransactionID = SIInterfaceInfo->State.TransactionID++;
+
+ Pipe_SelectPipe(SIInterfaceInfo->Config.DataOUTPipeNumber);
+ Pipe_Unfreeze();
+
+ if ((ErrorCode = Pipe_Write_Stream_LE(PIMAHeader, PIMA_COMMAND_SIZE(0), NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ uint8_t ParamBytes = (PIMAHeader->DataLength - PIMA_COMMAND_SIZE(0));
+
+ if (ParamBytes)
+ {
+ if ((ErrorCode = Pipe_Write_Stream_LE(&PIMAHeader->Params, ParamBytes, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+ }
+
+ Pipe_ClearOUT();
+ Pipe_Freeze();
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+uint8_t SI_Host_ReceiveBlockHeader(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
+ PIMA_Container_t* const PIMAHeader)
+{
+ uint16_t TimeoutMSRem = SI_COMMAND_DATA_TIMEOUT_MS;
+ uint16_t PreviousFrameNumber = USB_Host_GetFrameNumber();
+
+ if ((USB_HostState != HOST_STATE_Configured) || !(SIInterfaceInfo->State.IsActive))
+ return PIPE_RWSTREAM_DeviceDisconnected;
+
+ Pipe_SelectPipe(SIInterfaceInfo->Config.DataINPipeNumber);
+ Pipe_Unfreeze();
+
+ while (!(Pipe_IsINReceived()))
+ {
+ uint16_t CurrentFrameNumber = USB_Host_GetFrameNumber();
+
+ if (CurrentFrameNumber != PreviousFrameNumber)
+ {
+ PreviousFrameNumber = CurrentFrameNumber;
+
+ if (!(TimeoutMSRem--))
+ return PIPE_RWSTREAM_Timeout;
+ }
+
+ Pipe_Freeze();
+ Pipe_SelectPipe(SIInterfaceInfo->Config.DataOUTPipeNumber);
+ Pipe_Unfreeze();
+
+ if (Pipe_IsStalled())
+ {
+ USB_Host_ClearPipeStall(SIInterfaceInfo->Config.DataOUTPipeNumber);
+ return PIPE_RWSTREAM_PipeStalled;
+ }
+
+ Pipe_Freeze();
+ Pipe_SelectPipe(SIInterfaceInfo->Config.DataINPipeNumber);
+ Pipe_Unfreeze();
+
+ if (Pipe_IsStalled())
+ {
+ USB_Host_ClearPipeStall(SIInterfaceInfo->Config.DataINPipeNumber);
+ return PIPE_RWSTREAM_PipeStalled;
+ }
+
+ if (USB_HostState == HOST_STATE_Unattached)
+ return PIPE_RWSTREAM_DeviceDisconnected;
+ }
+
+ Pipe_Read_Stream_LE(PIMAHeader, PIMA_COMMAND_SIZE(0), NO_STREAM_CALLBACK);
+
+ if (PIMAHeader->Type == PIMA_CONTAINER_ResponseBlock)
+ {
+ uint8_t ParamBytes = (PIMAHeader->DataLength - PIMA_COMMAND_SIZE(0));
+
+ if (ParamBytes)
+ Pipe_Read_Stream_LE(&PIMAHeader->Params, ParamBytes, NO_STREAM_CALLBACK);
+
+ Pipe_ClearIN();
+ }
+
+ Pipe_Freeze();
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+uint8_t SI_Host_SendData(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
+ void* Buffer,
+ const uint16_t Bytes)
+{
+ uint8_t ErrorCode;
+
+ if ((USB_HostState != HOST_STATE_Configured) || !(SIInterfaceInfo->State.IsActive))
+ return PIPE_RWSTREAM_DeviceDisconnected;
+
+ Pipe_SelectPipe(SIInterfaceInfo->Config.DataOUTPipeNumber);
+ Pipe_Unfreeze();
+
+ ErrorCode = Pipe_Write_Stream_LE(Buffer, Bytes, NO_STREAM_CALLBACK);
+
+ Pipe_ClearOUT();
+ Pipe_Freeze();
+
+ return ErrorCode;
+}
+
+uint8_t SI_Host_ReadData(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
+ void* Buffer,
+ const uint16_t Bytes)
+{
+ uint8_t ErrorCode;
+
+ if ((USB_HostState != HOST_STATE_Configured) || !(SIInterfaceInfo->State.IsActive))
+ return PIPE_RWSTREAM_DeviceDisconnected;
+
+ Pipe_SelectPipe(SIInterfaceInfo->Config.DataINPipeNumber);
+ Pipe_Unfreeze();
+
+ ErrorCode = Pipe_Read_Stream_LE(Buffer, Bytes, NO_STREAM_CALLBACK);
+
+ Pipe_Freeze();
+
+ return ErrorCode;
+}
+
+bool SI_Host_IsEventReceived(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo)
+{
+ bool IsEventReceived = false;
+
+ if ((USB_HostState != HOST_STATE_Configured) || !(SIInterfaceInfo->State.IsActive))
+ return false;
+
+ Pipe_SelectPipe(SIInterfaceInfo->Config.EventsPipeNumber);
+ Pipe_Unfreeze();
+
+ if (Pipe_BytesInPipe())
+ IsEventReceived = true;
+
+ Pipe_Freeze();
+
+ return IsEventReceived;
+}
+
+uint8_t SI_Host_ReceiveEventHeader(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
+ PIMA_Container_t* const PIMAHeader)
+{
+ uint8_t ErrorCode;
+
+ if ((USB_HostState != HOST_STATE_Configured) || !(SIInterfaceInfo->State.IsActive))
+ return PIPE_RWSTREAM_DeviceDisconnected;
+
+ Pipe_SelectPipe(SIInterfaceInfo->Config.EventsPipeNumber);
+ Pipe_Unfreeze();
+
+ ErrorCode = Pipe_Read_Stream_LE(PIMAHeader, sizeof(PIMA_Container_t), NO_STREAM_CALLBACK);
+
+ Pipe_ClearIN();
+ Pipe_Freeze();
+
+ return ErrorCode;
+}
+
+uint8_t SI_Host_OpenSession(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(SIInterfaceInfo->State.IsActive))
+ return HOST_SENDCONTROL_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ SIInterfaceInfo->State.TransactionID = 0;
+ SIInterfaceInfo->State.IsSessionOpen = false;
+
+ PIMA_Container_t PIMABlock = (PIMA_Container_t)
+ {
+ .DataLength = PIMA_COMMAND_SIZE(1),
+ .Type = PIMA_CONTAINER_CommandBlock,
+ .Code = 0x1002,
+ .Params = {1},
+ };
+
+ if ((ErrorCode = SI_Host_SendBlockHeader(SIInterfaceInfo, &PIMABlock)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ if ((ErrorCode = SI_Host_ReceiveBlockHeader(SIInterfaceInfo, &PIMABlock)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ if ((PIMABlock.Type != PIMA_CONTAINER_ResponseBlock) || (PIMABlock.Code != 0x2001))
+ return SI_ERROR_LOGICAL_CMD_FAILED;
+
+ SIInterfaceInfo->State.IsSessionOpen = true;
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+uint8_t SI_Host_CloseSession(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(SIInterfaceInfo->State.IsActive))
+ return HOST_SENDCONTROL_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ PIMA_Container_t PIMABlock = (PIMA_Container_t)
+ {
+ .DataLength = PIMA_COMMAND_SIZE(1),
+ .Type = PIMA_CONTAINER_CommandBlock,
+ .Code = 0x1003,
+ .Params = {1},
+ };
+
+ if ((ErrorCode = SI_Host_SendBlockHeader(SIInterfaceInfo, &PIMABlock)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ if ((ErrorCode = SI_Host_ReceiveBlockHeader(SIInterfaceInfo, &PIMABlock)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ SIInterfaceInfo->State.IsSessionOpen = false;
+
+ if ((PIMABlock.Type != PIMA_CONTAINER_ResponseBlock) || (PIMABlock.Code != 0x2001))
+ return SI_ERROR_LOGICAL_CMD_FAILED;
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+uint8_t SI_Host_SendCommand(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
+ const uint16_t Operation,
+ const uint8_t TotalParams,
+ uint32_t* const Params)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(SIInterfaceInfo->State.IsActive))
+ return HOST_SENDCONTROL_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ PIMA_Container_t PIMABlock = (PIMA_Container_t)
+ {
+ .DataLength = PIMA_COMMAND_SIZE(TotalParams),
+ .Type = PIMA_CONTAINER_CommandBlock,
+ .Code = Operation,
+ };
+
+ memcpy(&PIMABlock.Params, Params, sizeof(uint32_t) * TotalParams);
+
+ if ((ErrorCode = SI_Host_SendBlockHeader(SIInterfaceInfo, &PIMABlock)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+uint8_t SI_Host_ReceiveResponse(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo)
+{
+ uint8_t ErrorCode;
+ PIMA_Container_t PIMABlock;
+
+ if ((USB_HostState != HOST_STATE_Configured) || !(SIInterfaceInfo->State.IsActive))
+ return HOST_SENDCONTROL_DeviceDisconnected;
+
+ if ((ErrorCode = SI_Host_ReceiveBlockHeader(SIInterfaceInfo, &PIMABlock)) != PIPE_RWSTREAM_NoError)
+ return ErrorCode;
+
+ if ((PIMABlock.Type != PIMA_CONTAINER_ResponseBlock) || (PIMABlock.Code != 0x2001))
+ return SI_ERROR_LOGICAL_CMD_FAILED;
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/StillImage.h b/firmware/LUFA/Drivers/USB/Class/Host/StillImage.h
new file mode 100644
index 0000000..5a6de02
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/StillImage.h
@@ -0,0 +1,331 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Host mode driver for the library USB Still Image Class driver.
+ *
+ * Host mode driver for the library USB Still Image Class driver.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ * dispatch header located in LUFA/Drivers/USB.h.
+ */
+
+/** \ingroup Group_USBClassSI
+ * @defgroup Group_USBClassStillImageHost Still Image Class Host Mode Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Host/StillImage.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Host Mode USB Class driver framework interface, for the Still Image USB Class driver.
+ *
+ * @{
+ */
+
+#ifndef __SI_CLASS_HOST_H__
+#define __SI_CLASS_HOST_H__
+
+ /* Includes: */
+ #include "../../USB.h"
+ #include "../Common/StillImage.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_SI_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+ #endif
+
+ #if defined(__INCLUDE_FROM_STILLIMAGE_HOST_C) && defined(NO_STREAM_CALLBACKS)
+ #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Error code for some Still Image Host functions, indicating a logical (and not hardware) error. */
+ #define SI_ERROR_LOGICAL_CMD_FAILED 0x80
+
+ /* Type Defines: */
+ /** \brief Still Image Class Host Mode Configuration and State Structure.
+ *
+ * Class state structure. An instance of this structure should be made within the user application,
+ * and passed to each of the Still Image class driver functions as the SIInterfaceInfo parameter. This
+ * stores each Still Image interface's configuration and state information.
+ */
+ typedef struct
+ {
+ const struct
+ {
+ uint8_t DataINPipeNumber; /**< Pipe number of the Still Image interface's IN data pipe. */
+ bool DataINPipeDoubleBank; /**< Indicates if the Still Image interface's IN data pipe should use double banking. */
+
+ uint8_t DataOUTPipeNumber; /**< Pipe number of the Still Image interface's OUT data pipe. */
+ bool DataOUTPipeDoubleBank; /**< Indicates if the Still Image interface's OUT data pipe should use double banking. */
+
+ uint8_t EventsPipeNumber; /**< Pipe number of the Still Image interface's IN events endpoint, if used. */
+ bool EventsPipeDoubleBank; /**< Indicates if the Still Image interface's events data pipe should use double banking. */
+ } Config; /**< Config data for the USB class interface within the device. All elements in this section
+ * <b>must</b> be set or the interface will fail to enumerate and operate correctly.
+ */
+ struct
+ {
+ bool IsActive; /**< Indicates if the current interface instance is connected to an attached device, valid
+ * after \ref SI_Host_ConfigurePipes() is called and the Host state machine is in the
+ * Configured state.
+ */
+ uint8_t InterfaceNumber; /**< Interface index of the Mass Storage interface within the attached device. */
+
+ uint16_t DataINPipeSize; /**< Size in bytes of the Still Image interface's IN data pipe. */
+ uint16_t DataOUTPipeSize; /**< Size in bytes of the Still Image interface's OUT data pipe. */
+ uint16_t EventsPipeSize; /**< Size in bytes of the Still Image interface's IN events pipe. */
+
+ bool IsSessionOpen; /**< Indicates if a PIMA session is currently open with the attached device. */
+ uint32_t TransactionID; /**< Transaction ID for the next transaction to send to the device. */
+ } State; /**< State data for the USB class interface within the device. All elements in this section
+ * <b>may</b> be set to initial values, but may also be ignored to default to sane values when
+ * the interface is enumerated.
+ */
+ } USB_ClassInfo_SI_Host_t;
+
+ /* Enums: */
+ /** Enum for the possible error codes returned by the \ref SI_Host_ConfigurePipes() function. */
+ enum SI_Host_EnumerationFailure_ErrorCodes_t
+ {
+ SI_ENUMERROR_NoError = 0, /**< Configuration Descriptor was processed successfully. */
+ SI_ENUMERROR_InvalidConfigDescriptor = 1, /**< The device returned an invalid Configuration Descriptor. */
+ SI_ENUMERROR_NoCompatibleInterfaceFound = 2, /**< A compatible Still Image interface was not found in the device's
+ * Configuration Descriptor.
+ */
+ };
+
+ /* Function Prototypes: */
+ /** Host interface configuration routine, to configure a given Still Image host interface instance using the
+ * Configuration Descriptor read from an attached USB device. This function automatically updates the given Still
+ * Image Host instance's state values and configures the pipes required to communicate with the interface if it is
+ * found within the device. This should be called once after the stack has enumerated the attached device, while
+ * the host state machine is in the Addressed state.
+ *
+ * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other
+ * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes
+ * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes.
+ *
+ * \param[in,out] SIInterfaceInfo Pointer to a structure containing a Still Image Class host configuration and state.
+ * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor.
+ * \param[in] ConfigDescriptorData Pointer to a buffer containing the attached device's Configuration Descriptor.
+ *
+ * \return A value from the \ref SI_Host_EnumerationFailure_ErrorCodes_t enum.
+ */
+ uint8_t SI_Host_ConfigurePipes(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
+ uint16_t ConfigDescriptorSize,
+ void* ConfigDescriptorData) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
+
+ /** Opens a new PIMA session with the attached device. This should be used before any session-orientated PIMA commands
+ * are issued to the device. Only one session can be open at the one time.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] SIInterfaceInfo Pointer to a structure containing a Still Image Class host configuration and state.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum, or \ref SI_ERROR_LOGICAL_CMD_FAILED if the device
+ * returned a logical command failure.
+ */
+ uint8_t SI_Host_OpenSession(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Closes an already opened PIMA session with the attached device. This should be used after all session-orientated
+ * PIMA commands have been issued to the device.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] SIInterfaceInfo Pointer to a structure containing a Still Image Class host configuration and state.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum, or \ref SI_ERROR_LOGICAL_CMD_FAILED if the device
+ * returned a logical command failure.
+ */
+ uint8_t SI_Host_CloseSession(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Sends a raw PIMA block header to the device, filling out the transaction ID automatically. This can be used to send
+ * arbitrary PIMA blocks to the device with or without parameters.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] SIInterfaceInfo Pointer to a structure containing a Still Image Class host configuration and state.
+ * \param[in] PIMAHeader Pointer to a PIMA container structure that is to be sent.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t SI_Host_SendBlockHeader(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
+ PIMA_Container_t* const PIMAHeader) ATTR_NON_NULL_PTR_ARG(1)
+ ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Receives a raw PIMA block header to the device. This can be used to receive arbitrary PIMA blocks from the device with
+ * or without parameters.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] SIInterfaceInfo Pointer to a structure containing a Still Image Class host configuration and state.
+ * \param[out] PIMAHeader Pointer to a PIMA container structure where the received block is to be stored.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t SI_Host_ReceiveBlockHeader(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
+ PIMA_Container_t* const PIMAHeader) ATTR_NON_NULL_PTR_ARG(1)
+ ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Sends a given PIMA command to the attached device, filling out the PIMA command header's Transaction ID automatically.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] SIInterfaceInfo Pointer to a structure containing a Still Image Class host configuration and state.
+ * \param[in] Operation PIMA operation code to issue to the device.
+ * \param[in] TotalParams Total number of 32-bit parameters to send to the device in the issued command block.
+ * \param[in] Params Pointer to an array of 32-bit values containing the parameters to send in the command block.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum, or \ref SI_ERROR_LOGICAL_CMD_FAILED if the device
+ * returned a logical command failure.
+ */
+ uint8_t SI_Host_SendCommand(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
+ const uint16_t Operation,
+ const uint8_t TotalParams,
+ uint32_t* const Params) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Receives and checks a response block from the attached PIMA device, once a command has been issued and all data
+ * associated with the command has been transferred.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] SIInterfaceInfo Pointer to a structure containing a Still Image Class host configuration and state.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum, or \ref SI_ERROR_LOGICAL_CMD_FAILED if the device
+ * returned a logical command failure.
+ */
+ uint8_t SI_Host_ReceiveResponse(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Indicates if the device has issued a PIMA event block to the host via the asynchronous events pipe.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] SIInterfaceInfo Pointer to a structure containing a Still Image Class host configuration and state.
+ *
+ * \return Boolean true if an event is waiting to be read, false otherwise.
+ */
+ bool SI_Host_IsEventReceived(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Receives an asynchronous event block from the device via the asynchronous events pipe.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] SIInterfaceInfo Pointer to a structure containing a Still Image Class host configuration and state.
+ * \param[out] PIMAHeader Pointer to a PIMA container structure where the event should be stored.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum, or \ref SI_ERROR_LOGICAL_CMD_FAILED if the device
+ * returned a logical command failure.
+ */
+ uint8_t SI_Host_ReceiveEventHeader(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
+ PIMA_Container_t* const PIMAHeader) ATTR_NON_NULL_PTR_ARG(1)
+ ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Sends arbitrary data to the attached device, for use in the data phase of PIMA commands which require data
+ * transfer beyond the regular PIMA command block parameters.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] SIInterfaceInfo Pointer to a structure containing a Still Image Class host configuration and state.
+ * \param[in] Buffer Pointer to a buffer where the data to send has been stored.
+ * \param[in] Bytes Length in bytes of the data in the buffer to send to the attached device.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t SI_Host_SendData(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
+ void* Buffer,
+ const uint16_t Bytes) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Receives arbitrary data from the attached device, for use in the data phase of PIMA commands which require data
+ * transfer beyond the regular PIMA command block parameters.
+ *
+ * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+ * call will fail.
+ *
+ * \param[in,out] SIInterfaceInfo Pointer to a structure containing a Still Image Class host configuration and state.
+ * \param[out] Buffer Pointer to a buffer where the received data is to be stored.
+ * \param[in] Bytes Length in bytes of the data to read.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t SI_Host_ReadData(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
+ void* Buffer,
+ const uint16_t Bytes) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /* Inline Functions: */
+ /** General management task for a given Still Image host class interface, required for the correct operation of the
+ * interface. This should be called frequently in the main program loop, before the master USB management task
+ * \ref USB_USBTask().
+ *
+ * \param[in,out] SIInterfaceInfo Pointer to a structure containing a Still Image Class host configuration and state.
+ */
+ static inline void SI_Host_USBTask(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+ static inline void SI_Host_USBTask(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo)
+ {
+ (void)SIInterfaceInfo;
+ }
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define SI_COMMAND_DATA_TIMEOUT_MS 10000
+
+ /* Function Prototypes: */
+ #if defined(__INCLUDE_FROM_STILLIMAGE_HOST_C)
+ static uint8_t DCOMP_SI_Host_NextSIInterface(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ static uint8_t DCOMP_SI_Host_NextSIInterfaceEndpoint(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1);
+ #endif
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/StillImage.lst b/firmware/LUFA/Drivers/USB/Class/Host/StillImage.lst
new file mode 100644
index 0000000..7f91201
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/StillImage.lst
@@ -0,0 +1,19 @@
+ 1 .file "StillImage.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 StillImage.c
+ /tmp/ccgWRdZN.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccgWRdZN.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccgWRdZN.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccgWRdZN.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccgWRdZN.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccgWRdZN.s:7 *ABS*:0000000000000001 __zero_reg__
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/LUFA/Drivers/USB/Class/Host/StillImage.o b/firmware/LUFA/Drivers/USB/Class/Host/StillImage.o
new file mode 100644
index 0000000..46bdbe2
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Host/StillImage.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/Class/MIDI.h b/firmware/LUFA/Drivers/USB/Class/MIDI.h
new file mode 100644
index 0000000..d26c5f7
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/MIDI.h
@@ -0,0 +1,83 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the library USB MIDI Class driver.
+ *
+ * Master include file for the library USB MIDI Class driver, for both host and device modes, where available.
+ *
+ * This file should be included in all user projects making use of this optional class driver, instead of
+ * including any headers in the USB/ClassDriver/Device, USB/ClassDriver/Host or USB/ClassDriver/Common subdirectories.
+ */
+
+/** \ingroup Group_USBClassDrivers
+ * @defgroup Group_USBClassMIDI MIDI Class Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Device/MIDI.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ * - LUFA/Drivers/USB/Class/Host/MIDI.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * MIDI Class Driver module. This module contains an internal implementation of the USB MIDI Class, for both Device
+ * and Host USB modes. User applications can use this class driver instead of implementing the MIDI class manually
+ * via the low-level LUFA APIs.
+ *
+ * This module is designed to simplify the user code by exposing only the required interface needed to interface with
+ * Hosts or Devices using the USB MIDI Class.
+ *
+ * \note The USB MIDI class is actually a special case of the regular Audio class, thus this module depends on
+ * structure definitions from the \ref Group_USBClassAudioDevice class driver module.
+ *
+ * @{
+ */
+
+#ifndef _MIDI_CLASS_H_
+#define _MIDI_CLASS_H_
+
+ /* Macros: */
+ #define __INCLUDE_FROM_USB_DRIVER
+ #define __INCLUDE_FROM_MIDI_DRIVER
+
+ /* Includes: */
+ #include "../HighLevel/USBMode.h"
+
+ #if defined(USB_CAN_BE_DEVICE)
+ #include "Device/MIDI.h"
+ #endif
+
+ #if defined(USB_CAN_BE_HOST)
+ #include "Host/MIDI.h"
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/MassStorage.h b/firmware/LUFA/Drivers/USB/Class/MassStorage.h
new file mode 100644
index 0000000..c4b03dd
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/MassStorage.h
@@ -0,0 +1,80 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the library USB Mass Storage Class driver.
+ *
+ * Master include file for the library USB Mass Storage Class driver, for both host and device modes, where available.
+ *
+ * This file should be included in all user projects making use of this optional class driver, instead of
+ * including any headers in the USB/ClassDriver/Device, USB/ClassDriver/Host or USB/ClassDriver/Common subdirectories.
+ */
+
+/** \ingroup Group_USBClassDrivers
+ * @defgroup Group_USBClassMS Mass Storage Class Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Device/MassStorage.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ * - LUFA/Drivers/USB/Class/Host/MassStorage.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Mass Storage Class Driver module. This module contains an internal implementation of the USB Mass Storage Class, for both
+ * Device and Host USB modes. User applications can use this class driver instead of implementing the Mass Storage class
+ * manually via the low-level LUFA APIs.
+ *
+ * This module is designed to simplify the user code by exposing only the required interface needed to interface with
+ * Hosts or Devices using the USB Mass Storage Class.
+ *
+ * @{
+ */
+
+#ifndef _MS_CLASS_H_
+#define _MS_CLASS_H_
+
+ /* Macros: */
+ #define __INCLUDE_FROM_USB_DRIVER
+ #define __INCLUDE_FROM_MS_DRIVER
+
+ /* Includes: */
+ #include "../HighLevel/USBMode.h"
+
+ #if defined(USB_CAN_BE_DEVICE)
+ #include "Device/MassStorage.h"
+ #endif
+
+ #if defined(USB_CAN_BE_HOST)
+ #include "Host/MassStorage.h"
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/Printer.h b/firmware/LUFA/Drivers/USB/Class/Printer.h
new file mode 100644
index 0000000..2d5504f
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Printer.h
@@ -0,0 +1,77 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the library USB Printer Class driver.
+ *
+ * Master include file for the library USB Printer Class driver, for both host and device modes, where available.
+ *
+ * This file should be included in all user projects making use of this optional class driver, instead of
+ * including any headers in the USB/ClassDriver/Device, USB/ClassDriver/Host or USB/ClassDriver/Common subdirectories.
+ */
+
+/** \ingroup Group_USBClassDrivers
+ * @defgroup Group_USBClassPrinter Printer Class Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Host/Printer.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Printer Class Driver module. This module contains an internal implementation of the USB Printer Class, for the base
+ * USB Printer transport layer for USB Host mode only. Note that printers are free to implement whatever printer language
+ * they choose on top of this (e.g. Postscript), and so this driver exposes low level data transport functions only rather
+ * than high level raster or text functions. User applications can use this class driver instead of implementing the Printer
+ * class manually via the low-level LUFA APIs.
+ *
+ * This module is designed to simplify the user code by exposing only the required interface needed to interface with
+ * Devices using the USB Printer Class.
+ *
+ * @{
+ */
+
+#ifndef _PRINTER_CLASS_H_
+#define _PRINTER_CLASS_H_
+
+ /* Macros: */
+ #define __INCLUDE_FROM_USB_DRIVER
+ #define __INCLUDE_FROM_PRINTER_DRIVER
+
+ /* Includes: */
+ #include "../HighLevel/USBMode.h"
+
+ #if defined(USB_CAN_BE_HOST)
+ #include "Host/Printer.h"
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/RNDIS.h b/firmware/LUFA/Drivers/USB/Class/RNDIS.h
new file mode 100644
index 0000000..98dbda4
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/RNDIS.h
@@ -0,0 +1,80 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the library USB RNDIS Class driver.
+ *
+ * Master include file for the library USB RNDIS Class driver, for both host and device modes, where available.
+ *
+ * This file should be included in all user projects making use of this optional class driver, instead of
+ * including any headers in the USB/ClassDriver/Device, USB/ClassDriver/Host or USB/ClassDriver/Common subdirectories.
+ */
+
+/** \ingroup Group_USBClassDrivers
+ * @defgroup Group_USBClassRNDIS RNDIS (Networking) Class Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Device/RNDIS.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ * - LUFA/Drivers/USB/Class/Host/RNDIS.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * RNDIS Class Driver module. This module contains an internal implementation of the Microsoft USB RNDIS Networking
+ * Class, for both Device and Host USB modes. User applications can use this class driver instead of implementing the
+ * RNDIS class manually via the low-level LUFA APIs.
+ *
+ * This module is designed to simplify the user code by exposing only the required interface needed to interface with
+ * Hosts using the USB RNDIS Class.
+ *
+ * @{
+ */
+
+#ifndef _RNDIS_CLASS_H_
+#define _RNDIS_CLASS_H_
+
+ /* Macros: */
+ #define __INCLUDE_FROM_USB_DRIVER
+ #define __INCLUDE_FROM_RNDIS_DRIVER
+
+ /* Includes: */
+ #include "../HighLevel/USBMode.h"
+
+ #if defined(USB_CAN_BE_DEVICE)
+ #include "Device/RNDIS.h"
+ #endif
+
+ #if defined(USB_CAN_BE_HOST)
+ #include "Host/RNDIS.h"
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/Class/StillImage.h b/firmware/LUFA/Drivers/USB/Class/StillImage.h
new file mode 100644
index 0000000..dd1b16b
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/StillImage.h
@@ -0,0 +1,75 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the library USB Still Image Class driver.
+ *
+ * Master include file for the library USB Still Image Class driver, for both host and device modes, where available.
+ *
+ * This file should be included in all user projects making use of this optional class driver, instead of
+ * including any headers in the USB/ClassDriver/Device, USB/ClassDriver/Host or USB/ClassDriver/Common subdirectories.
+ */
+
+/** \ingroup Group_USBClassDrivers
+ * @defgroup Group_USBClassSI Still Image Class Driver
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/Class/Host/StillImage.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *
+ * \section Module Description
+ * Still Image Class Driver module. This module contains an internal implementation of the USB Still Image Class,
+ * for USB Host mode only. User applications can use this class driver instead of implementing the Still Image class
+ * manually via the low-level LUFA APIs.
+ *
+ * This module is designed to simplify the user code by exposing only the required interface needed to interface with
+ * Devices using the USB Still Image Class.
+ *
+ * @{
+ */
+
+#ifndef _SI_CLASS_H_
+#define _SI_CLASS_H_
+
+ /* Macros: */
+ #define __INCLUDE_FROM_USB_DRIVER
+ #define __INCLUDE_FROM_SI_DRIVER
+
+ /* Includes: */
+ #include "../HighLevel/USBMode.h"
+
+ #if defined(USB_CAN_BE_HOST)
+ #include "Host/StillImage.h"
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c b/firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c
new file mode 100644
index 0000000..977d9e1
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c
@@ -0,0 +1,142 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "ConfigDescriptor.h"
+
+#if defined(USB_CAN_BE_HOST)
+uint8_t USB_Host_GetDeviceConfigDescriptor(uint8_t ConfigNumber, uint16_t* const ConfigSizePtr,
+ void* BufferPtr, uint16_t BufferSize)
+{
+ uint8_t ErrorCode;
+ uint8_t ConfigHeader[sizeof(USB_Descriptor_Configuration_Header_t)];
+
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE),
+ .bRequest = REQ_GetDescriptor,
+ .wValue = ((DTYPE_Configuration << 8) | (ConfigNumber - 1)),
+ .wIndex = 0,
+ .wLength = sizeof(USB_Descriptor_Configuration_Header_t),
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ if ((ErrorCode = USB_Host_SendControlRequest(ConfigHeader)) != HOST_SENDCONTROL_Successful)
+ return ErrorCode;
+
+ *ConfigSizePtr = DESCRIPTOR_PCAST(ConfigHeader, USB_Descriptor_Configuration_Header_t)->TotalConfigurationSize;
+
+ if (*ConfigSizePtr > BufferSize)
+ return HOST_GETCONFIG_BuffOverflow;
+
+ USB_ControlRequest.wLength = *ConfigSizePtr;
+
+ if ((ErrorCode = USB_Host_SendControlRequest(BufferPtr)) != HOST_SENDCONTROL_Successful)
+ return ErrorCode;
+
+ if (DESCRIPTOR_TYPE(BufferPtr) != DTYPE_Configuration)
+ return HOST_GETCONFIG_InvalidData;
+
+ return HOST_GETCONFIG_Successful;
+}
+#endif
+
+void USB_GetNextDescriptorOfType(uint16_t* const BytesRem,
+ void** const CurrConfigLoc,
+ const uint8_t Type)
+{
+ while (*BytesRem)
+ {
+ USB_GetNextDescriptor(BytesRem, CurrConfigLoc);
+
+ if (DESCRIPTOR_TYPE(*CurrConfigLoc) == Type)
+ return;
+ }
+}
+
+void USB_GetNextDescriptorOfTypeBefore(uint16_t* const BytesRem,
+ void** const CurrConfigLoc,
+ const uint8_t Type,
+ const uint8_t BeforeType)
+{
+ while (*BytesRem)
+ {
+ USB_GetNextDescriptor(BytesRem, CurrConfigLoc);
+
+ if (DESCRIPTOR_TYPE(*CurrConfigLoc) == Type)
+ {
+ return;
+ }
+ else if (DESCRIPTOR_TYPE(*CurrConfigLoc) == BeforeType)
+ {
+ *BytesRem = 0;
+ return;
+ }
+ }
+}
+
+void USB_GetNextDescriptorOfTypeAfter(uint16_t* const BytesRem,
+ void** const CurrConfigLoc,
+ const uint8_t Type,
+ const uint8_t AfterType)
+{
+ USB_GetNextDescriptorOfType(BytesRem, CurrConfigLoc, AfterType);
+
+ if (*BytesRem)
+ USB_GetNextDescriptorOfType(BytesRem, CurrConfigLoc, Type);
+}
+
+uint8_t USB_GetNextDescriptorComp(uint16_t* const BytesRem, void** const CurrConfigLoc, ConfigComparatorPtr_t const ComparatorRoutine)
+{
+ uint8_t ErrorCode;
+
+ while (*BytesRem)
+ {
+ uint8_t* PrevDescLoc = *CurrConfigLoc;
+ uint16_t PrevBytesRem = *BytesRem;
+
+ USB_GetNextDescriptor(BytesRem, CurrConfigLoc);
+
+ if ((ErrorCode = ComparatorRoutine(*CurrConfigLoc)) != DESCRIPTOR_SEARCH_NotFound)
+ {
+ if (ErrorCode == DESCRIPTOR_SEARCH_Fail)
+ {
+ *CurrConfigLoc = PrevDescLoc;
+ *BytesRem = PrevBytesRem;
+ }
+
+ return ErrorCode;
+ }
+ }
+
+ return DESCRIPTOR_SEARCH_COMP_EndOfDescriptor;
+}
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h b/firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h
new file mode 100644
index 0000000..dc33391
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h
@@ -0,0 +1,287 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Configuration descriptor parser API.
+ *
+ * This section of the library gives a friendly API which can be used in host applications to easily
+ * parse an attached device's configuration descriptor so that endpoint, interface and other descriptor
+ * data can be extracted and used as needed.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+/** \ingroup Group_Descriptors
+ * @defgroup Group_ConfigDescriptorParser Configuration Descriptor Parser
+ *
+ * Functions, macros, variables, enums and types related to the parsing of Configuration Descriptors.
+ *
+ * @{
+ */
+
+#ifndef __CONFIGDESCRIPTOR_H__
+#define __CONFIGDESCRIPTOR_H__
+
+ /* Includes: */
+ #include <stdint.h>
+
+ #include "../../../Common/Common.h"
+ #include "HostStandardReq.h"
+ #include "USBMode.h"
+ #include "StdDescriptors.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Mask for determining the type of an endpoint from an endpoint descriptor. This should then be compared
+ * with the EP_TYPE_* masks to determine the exact type of the endpoint.
+ */
+ #define EP_TYPE_MASK 0x03
+
+ /** Casts a pointer to a descriptor inside the configuration descriptor into a pointer to the given
+ * descriptor type.
+ *
+ * Usage Example:
+ * \code
+ * uint8_t* CurrDescriptor = &ConfigDescriptor[0]; // Pointing to the configuration header
+ * USB_Descriptor_Configuration_Header_t* ConfigHeaderPtr = DESCRIPTOR_PCAST(CurrDescriptor,
+ * USB_Descriptor_Configuration_Header_t);
+ *
+ * // Can now access elements of the configuration header struct using the -> indirection operator
+ * \endcode
+ */
+ #define DESCRIPTOR_PCAST(DescriptorPtr, Type) ((Type*)(DescriptorPtr))
+
+ /** Casts a pointer to a descriptor inside the configuration descriptor into the given descriptor
+ * type (as an actual struct instance rather than a pointer to a struct).
+ *
+ * Usage Example:
+ * \code
+ * uint8_t* CurrDescriptor = &ConfigDescriptor[0]; // Pointing to the configuration header
+ * USB_Descriptor_Configuration_Header_t ConfigHeader = DESCRIPTOR_CAST(CurrDescriptor,
+ * USB_Descriptor_Configuration_Header_t);
+ *
+ * // Can now access elements of the configuration header struct using the . operator
+ * \endcode
+ */
+ #define DESCRIPTOR_CAST(DescriptorPtr, Type) (*DESCRIPTOR_PCAST(DescriptorPtr, Type))
+
+ /** Returns the descriptor's type, expressed as the 8-bit type value in the header of the descriptor.
+ * This value's meaning depends on the descriptor's placement in the descriptor, but standard type
+ * values can be accessed in the \ref USB_DescriptorTypes_t enum.
+ */
+ #define DESCRIPTOR_TYPE(DescriptorPtr) DESCRIPTOR_PCAST(DescriptorPtr, USB_Descriptor_Header_t)->Type
+
+ /** Returns the descriptor's size, expressed as the 8-bit value indicating the number of bytes. */
+ #define DESCRIPTOR_SIZE(DescriptorPtr) DESCRIPTOR_PCAST(DescriptorPtr, USB_Descriptor_Header_t)->Size
+
+ /* Type Defines: */
+ /** Type define for a Configuration Descriptor comparator function (function taking a pointer to an array
+ * of type void, returning a uint8_t value).
+ *
+ * \see \ref USB_GetNextDescriptorComp function for more details.
+ */
+ typedef uint8_t (* ConfigComparatorPtr_t)(void*);
+
+ /* Enums: */
+ /** Enum for the possible return codes of the \ref USB_Host_GetDeviceConfigDescriptor() function. */
+ enum USB_Host_GetConfigDescriptor_ErrorCodes_t
+ {
+ HOST_GETCONFIG_Successful = 0, /**< No error occurred while retrieving the configuration descriptor. */
+ HOST_GETCONFIG_DeviceDisconnect = 1, /**< The attached device was disconnected while retrieving the configuration
+ * descriptor.
+ */
+ HOST_GETCONFIG_PipeError = 2, /**< An error occurred in the pipe while sending the request. */
+ HOST_GETCONFIG_SetupStalled = 3, /**< The attached device stalled the request to retrieve the configuration
+ * descriptor.
+ */
+ HOST_GETCONFIG_SoftwareTimeOut = 4, /**< The request or data transfer timed out. */
+ HOST_GETCONFIG_BuffOverflow = 5, /**< The device's configuration descriptor is too large to fit into the allocated
+ * buffer.
+ */
+ HOST_GETCONFIG_InvalidData = 6, /**< The device returned invalid configuration descriptor data. */
+ };
+
+ /** Enum for return values of a descriptor comparator function. */
+ enum DSearch_Return_ErrorCodes_t
+ {
+ DESCRIPTOR_SEARCH_Found = 0, /**< Current descriptor matches comparator criteria. */
+ DESCRIPTOR_SEARCH_Fail = 1, /**< No further descriptor could possibly match criteria, fail the search. */
+ DESCRIPTOR_SEARCH_NotFound = 2, /**< Current descriptor does not match comparator criteria. */
+ };
+
+ /** Enum for return values of \ref USB_GetNextDescriptorComp(). */
+ enum DSearch_Comp_Return_ErrorCodes_t
+ {
+ DESCRIPTOR_SEARCH_COMP_Found = 0, /**< Configuration descriptor now points to descriptor which matches
+ * search criteria of the given comparator function. */
+ DESCRIPTOR_SEARCH_COMP_Fail = 1, /**< Comparator function returned Descriptor_Search_Fail. */
+ DESCRIPTOR_SEARCH_COMP_EndOfDescriptor = 2, /**< End of configuration descriptor reached before match found. */
+ };
+
+ /* Function Prototypes: */
+ /** Retrieves the configuration descriptor data from an attached device via a standard request into a buffer,
+ * including validity and size checking to prevent a buffer overflow.
+ *
+ * \param[in] ConfigNumber Device configuration descriptor number to fetch from the device (usually set to 1 for
+ * single configuration devices).
+ * \param[in,out] ConfigSizePtr Pointer to a uint16_t for storing the retrieved configuration descriptor size.
+ * \param[out] BufferPtr Pointer to the buffer for storing the configuration descriptor data.
+ * \param[out] BufferSize Size of the allocated buffer where the configuration descriptor is to be stored.
+ *
+ * \return A value from the \ref USB_Host_GetConfigDescriptor_ErrorCodes_t enum.
+ */
+ uint8_t USB_Host_GetDeviceConfigDescriptor(uint8_t ConfigNumber, uint16_t* const ConfigSizePtr, void* BufferPtr,
+ uint16_t BufferSize) ATTR_NON_NULL_PTR_ARG(2) ATTR_NON_NULL_PTR_ARG(3);
+
+ /** Skips to the next sub-descriptor inside the configuration descriptor of the specified type value.
+ * The bytes remaining value is automatically decremented.
+ *
+ * \param[in,out] BytesRem Pointer to the number of bytes remaining of the configuration descriptor.
+ * \param[in,out] CurrConfigLoc Pointer to the current descriptor inside the configuration descriptor.
+ * \param[in] Type Descriptor type value to search for.
+ */
+ void USB_GetNextDescriptorOfType(uint16_t* const BytesRem,
+ void** const CurrConfigLoc,
+ const uint8_t Type)
+ ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Skips to the next sub-descriptor inside the configuration descriptor of the specified type value,
+ * which must come before a descriptor of the second given type value. If the BeforeType type
+ * descriptor is reached first, the number of bytes remaining to process is set to zero and the
+ * function exits. The bytes remaining value is automatically decremented.
+ *
+ * \param[in,out] BytesRem Pointer to the number of bytes remaining of the configuration descriptor.
+ * \param[in,out] CurrConfigLoc Pointer to the current descriptor inside the configuration descriptor.
+ * \param[in] Type Descriptor type value to search for.
+ * \param[in] BeforeType Descriptor type value which must not be reached before the given Type descriptor.
+ */
+ void USB_GetNextDescriptorOfTypeBefore(uint16_t* const BytesRem,
+ void** const CurrConfigLoc,
+ const uint8_t Type,
+ const uint8_t BeforeType)
+ ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Skips to the next sub-descriptor inside the configuration descriptor of the specified type value,
+ * which must come after a descriptor of the second given type value. The bytes remaining value is
+ * automatically decremented.
+ *
+ * \param[in,out] BytesRem Pointer to the number of bytes remaining of the configuration descriptor.
+ * \param[in,out] CurrConfigLoc Pointer to the current descriptor inside the configuration descriptor.
+ * \param[in] Type Descriptor type value to search for.
+ * \param[in] AfterType Descriptor type value which must be reached before the given Type descriptor.
+ */
+ void USB_GetNextDescriptorOfTypeAfter(uint16_t* const BytesRem,
+ void** const CurrConfigLoc,
+ const uint8_t Type,
+ const uint8_t AfterType)
+ ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Searches for the next descriptor in the given configuration descriptor using a pre-made comparator
+ * function. The routine updates the position and remaining configuration descriptor bytes values
+ * automatically. If a comparator routine fails a search, the descriptor pointer is retreated back
+ * so that the next descriptor search invocation will start from the descriptor which first caused the
+ * original search to fail. This behaviour allows for one comparator to be used immediately after another
+ * has failed, starting the second search from the descriptor which failed the first.
+ *
+ * Comparator functions should be standard functions which accept a pointer to the header of the current
+ * descriptor inside the configuration descriptor which is being compared, and should return a value from
+ * the \ref DSearch_Return_ErrorCodes_t enum as a uint8_t value.
+ *
+ * \note This function is available in USB Host mode only.
+ *
+ * \param[in,out] BytesRem Pointer to an int storing the remaining bytes in the configuration descriptor.
+ * \param[in,out] CurrConfigLoc Pointer to the current position in the configuration descriptor.
+ * \param[in] ComparatorRoutine Name of the comparator search function to use on the configuration descriptor.
+ *
+ * \return Value of one of the members of the \ref DSearch_Comp_Return_ErrorCodes_t enum.
+ *
+ * Usage Example:
+ * \code
+ * uint8_t EndpointSearcher(void* CurrentDescriptor); // Comparator Prototype
+ *
+ * uint8_t EndpointSearcher(void* CurrentDescriptor)
+ * {
+ * if (DESCRIPTOR_TYPE(CurrentDescriptor) == DTYPE_Endpoint)
+ * return DESCRIPTOR_SEARCH_Found;
+ * else
+ * return DESCRIPTOR_SEARCH_NotFound;
+ * }
+ *
+ * //...
+ * // After retrieving configuration descriptor:
+ * if (USB_Host_GetNextDescriptorComp(&BytesRemaining, &CurrentConfigLoc, EndpointSearcher) ==
+ * Descriptor_Search_Comp_Found)
+ * {
+ * // Do something with the endpoint descriptor
+ * }
+ * \endcode
+ */
+ uint8_t USB_GetNextDescriptorComp(uint16_t* const BytesRem,
+ void** const CurrConfigLoc,
+ ConfigComparatorPtr_t const ComparatorRoutine);
+
+ /* Inline Functions: */
+ /** Skips over the current sub-descriptor inside the configuration descriptor, so that the pointer then
+ points to the next sub-descriptor. The bytes remaining value is automatically decremented.
+ *
+ * \param[in,out] BytesRem Pointer to the number of bytes remaining of the configuration descriptor.
+ * \param[in,out] CurrConfigLoc Pointer to the current descriptor inside the configuration descriptor.
+ */
+ static inline void USB_GetNextDescriptor(uint16_t* const BytesRem,
+ void** CurrConfigLoc) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+ static inline void USB_GetNextDescriptor(uint16_t* const BytesRem,
+ void** CurrConfigLoc)
+ {
+ uint16_t CurrDescriptorSize = DESCRIPTOR_CAST(*CurrConfigLoc, USB_Descriptor_Header_t).Size;
+
+ *CurrConfigLoc = ((uint8_t*)*CurrConfigLoc) + CurrDescriptorSize;
+ *BytesRem -= CurrDescriptorSize;
+ }
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.lst b/firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.lst
new file mode 100644
index 0000000..d2407d9
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.lst
@@ -0,0 +1,306 @@
+ 1 .file "ConfigDescriptor.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.USB_GetNextDescriptorOfType,"ax",@progbits
+ 17 .global USB_GetNextDescriptorOfType
+ 19 USB_GetNextDescriptorOfType:
+ 20 .LFB69:
+ 21 .LSM0:
+ 22 .LVL0:
+ 23 0000 CF93 push r28
+ 24 0002 DF93 push r29
+ 25 /* prologue: function */
+ 26 /* frame size = 0 */
+ 27 0004 EC01 movw r28,r24
+ 28 0006 DB01 movw r26,r22
+ 29 0008 00C0 rjmp .L2
+ 30 .LVL1:
+ 31 .L4:
+ 32 .LBB9:
+ 33 .LBB10:
+ 34 .LSM1:
+ 35 000a ED91 ld r30,X+
+ 36 000c FC91 ld r31,X
+ 37 000e 1197 sbiw r26,1
+ 38 0010 2081 ld r18,Z
+ 39 .LVL2:
+ 40 0012 30E0 ldi r19,lo8(0)
+ 41 .LSM2:
+ 42 0014 E20F add r30,r18
+ 43 0016 F31F adc r31,r19
+ 44 .LVL3:
+ 45 0018 1196 adiw r26,1
+ 46 001a FC93 st X,r31
+ 47 001c EE93 st -X,r30
+ 48 .LSM3:
+ 49 001e 8881 ld r24,Y
+ 50 0020 9981 ldd r25,Y+1
+ 51 0022 821B sub r24,r18
+ 52 0024 930B sbc r25,r19
+ 53 0026 9983 std Y+1,r25
+ 54 0028 8883 st Y,r24
+ 55 .LBE10:
+ 56 .LBE9:
+ 57 .LSM4:
+ 58 002a ED91 ld r30,X+
+ 59 002c FC91 ld r31,X
+ 60 002e 1197 sbiw r26,1
+ 61 0030 8181 ldd r24,Z+1
+ 62 0032 8417 cp r24,r20
+ 63 0034 01F0 breq .L5
+ 64 .LVL4:
+ 65 .L2:
+ 66 .LSM5:
+ 67 0036 8881 ld r24,Y
+ 68 0038 9981 ldd r25,Y+1
+ 69 003a 892B or r24,r25
+ 70 003c 01F4 brne .L4
+ 71 .L5:
+ 72 /* epilogue start */
+ 73 .LSM6:
+ 74 003e DF91 pop r29
+ 75 0040 CF91 pop r28
+ 76 .LVL5:
+ 77 0042 0895 ret
+ 78 .LFE69:
+ 80 .section .text.USB_GetNextDescriptorOfTypeBefore,"ax",@progbits
+ 81 .global USB_GetNextDescriptorOfTypeBefore
+ 83 USB_GetNextDescriptorOfTypeBefore:
+ 84 .LFB70:
+ 85 .LSM7:
+ 86 .LVL6:
+ 87 0000 CF93 push r28
+ 88 0002 DF93 push r29
+ 89 /* prologue: function */
+ 90 /* frame size = 0 */
+ 91 0004 DC01 movw r26,r24
+ 92 0006 EB01 movw r28,r22
+ 93 0008 522F mov r21,r18
+ 94 000a 00C0 rjmp .L7
+ 95 .LVL7:
+ 96 .L9:
+ 97 .LBB11:
+ 98 .LBB12:
+ 99 .LSM8:
+ 100 000c E881 ld r30,Y
+ 101 000e F981 ldd r31,Y+1
+ 102 0010 2081 ld r18,Z
+ 103 .LVL8:
+ 104 0012 30E0 ldi r19,lo8(0)
+ 105 .LSM9:
+ 106 0014 E20F add r30,r18
+ 107 0016 F31F adc r31,r19
+ 108 .LVL9:
+ 109 0018 F983 std Y+1,r31
+ 110 001a E883 st Y,r30
+ 111 .LSM10:
+ 112 001c 8D91 ld r24,X+
+ 113 001e 9C91 ld r25,X
+ 114 0020 1197 sbiw r26,1
+ 115 0022 821B sub r24,r18
+ 116 0024 930B sbc r25,r19
+ 117 0026 1196 adiw r26,1
+ 118 0028 9C93 st X,r25
+ 119 002a 8E93 st -X,r24
+ 120 .LBE12:
+ 121 .LBE11:
+ 122 .LSM11:
+ 123 002c E881 ld r30,Y
+ 124 002e F981 ldd r31,Y+1
+ 125 0030 8181 ldd r24,Z+1
+ 126 0032 8417 cp r24,r20
+ 127 0034 01F0 breq .L10
+ 128 .LSM12:
+ 129 0036 8517 cp r24,r21
+ 130 0038 01F4 brne .L7
+ 131 .LSM13:
+ 132 003a 1D92 st X+,__zero_reg__
+ 133 003c 1C92 st X,__zero_reg__
+ 134 003e 00C0 rjmp .L10
+ 135 .LVL10:
+ 136 .L7:
+ 137 .LSM14:
+ 138 0040 8D91 ld r24,X+
+ 139 0042 9C91 ld r25,X
+ 140 0044 1197 sbiw r26,1
+ 141 0046 892B or r24,r25
+ 142 0048 01F4 brne .L9
+ 143 .L10:
+ 144 /* epilogue start */
+ 145 .LSM15:
+ 146 004a DF91 pop r29
+ 147 004c CF91 pop r28
+ 148 .LVL11:
+ 149 004e 0895 ret
+ 150 .LFE70:
+ 152 .section .text.USB_GetNextDescriptorOfTypeAfter,"ax",@progbits
+ 153 .global USB_GetNextDescriptorOfTypeAfter
+ 155 USB_GetNextDescriptorOfTypeAfter:
+ 156 .LFB71:
+ 157 .LSM16:
+ 158 .LVL12:
+ 159 0000 FF92 push r15
+ 160 0002 0F93 push r16
+ 161 0004 1F93 push r17
+ 162 0006 CF93 push r28
+ 163 0008 DF93 push r29
+ 164 /* prologue: function */
+ 165 /* frame size = 0 */
+ 166 000a EC01 movw r28,r24
+ 167 000c 8B01 movw r16,r22
+ 168 000e F42E mov r15,r20
+ 169 .LSM17:
+ 170 0010 422F mov r20,r18
+ 171 .LVL13:
+ 172 0012 0E94 0000 call USB_GetNextDescriptorOfType
+ 173 .LVL14:
+ 174 .LSM18:
+ 175 0016 8881 ld r24,Y
+ 176 0018 9981 ldd r25,Y+1
+ 177 001a 892B or r24,r25
+ 178 001c 01F0 breq .L14
+ 179 .LSM19:
+ 180 001e CE01 movw r24,r28
+ 181 0020 B801 movw r22,r16
+ 182 0022 4F2D mov r20,r15
+ 183 0024 0E94 0000 call USB_GetNextDescriptorOfType
+ 184 .L14:
+ 185 /* epilogue start */
+ 186 .LSM20:
+ 187 0028 DF91 pop r29
+ 188 002a CF91 pop r28
+ 189 .LVL15:
+ 190 002c 1F91 pop r17
+ 191 002e 0F91 pop r16
+ 192 .LVL16:
+ 193 0030 FF90 pop r15
+ 194 .LVL17:
+ 195 0032 0895 ret
+ 196 .LFE71:
+ 198 .section .text.USB_GetNextDescriptorComp,"ax",@progbits
+ 199 .global USB_GetNextDescriptorComp
+ 201 USB_GetNextDescriptorComp:
+ 202 .LFB72:
+ 203 .LSM21:
+ 204 .LVL18:
+ 205 0000 AF92 push r10
+ 206 0002 BF92 push r11
+ 207 0004 CF92 push r12
+ 208 0006 DF92 push r13
+ 209 0008 EF92 push r14
+ 210 000a FF92 push r15
+ 211 000c 0F93 push r16
+ 212 000e 1F93 push r17
+ 213 0010 CF93 push r28
+ 214 0012 DF93 push r29
+ 215 /* prologue: function */
+ 216 /* frame size = 0 */
+ 217 0014 7C01 movw r14,r24
+ 218 0016 8B01 movw r16,r22
+ 219 0018 5A01 movw r10,r20
+ 220 001a 00C0 rjmp .L16
+ 221 .LVL19:
+ 222 .L19:
+ 223 .LBB13:
+ 224 .LSM22:
+ 225 001c F801 movw r30,r16
+ 226 001e C081 ld r28,Z
+ 227 0020 D181 ldd r29,Z+1
+ 228 .LBB14:
+ 229 .LBB15:
+ 230 .LSM23:
+ 231 0022 8881 ld r24,Y
+ 232 .LVL20:
+ 233 0024 90E0 ldi r25,lo8(0)
+ 234 .LVL21:
+ 235 .LSM24:
+ 236 0026 9E01 movw r18,r28
+ 237 0028 280F add r18,r24
+ 238 002a 391F adc r19,r25
+ 239 .LVL22:
+ 240 002c 3183 std Z+1,r19
+ 241 002e 2083 st Z,r18
+ 242 .LSM25:
+ 243 0030 F701 movw r30,r14
+ 244 0032 2081 ld r18,Z
+ 245 0034 3181 ldd r19,Z+1
+ 246 0036 281B sub r18,r24
+ 247 0038 390B sbc r19,r25
+ 248 003a 3183 std Z+1,r19
+ 249 003c 2083 st Z,r18
+ 250 .LBE15:
+ 251 .LBE14:
+ 252 .LSM26:
+ 253 003e F801 movw r30,r16
+ 254 0040 8081 ld r24,Z
+ 255 0042 9181 ldd r25,Z+1
+ 256 .LVL23:
+ 257 0044 F501 movw r30,r10
+ 258 0046 0995 icall
+ 259 .LVL24:
+ 260 0048 8230 cpi r24,lo8(2)
+ 261 .LVL25:
+ 262 004a 01F0 breq .L16
+ 263 .LSM27:
+ 264 004c 8130 cpi r24,lo8(1)
+ 265 004e 01F4 brne .L18
+ 266 .LSM28:
+ 267 0050 F801 movw r30,r16
+ 268 0052 C083 st Z,r28
+ 269 0054 D183 std Z+1,r29
+ 270 .LSM29:
+ 271 0056 F701 movw r30,r14
+ 272 0058 D182 std Z+1,r13
+ 273 005a C082 st Z,r12
+ 274 005c 00C0 rjmp .L18
+ 275 .LVL26:
+ 276 .L16:
+ 277 .LBE13:
+ 278 .LSM30:
+ 279 005e F701 movw r30,r14
+ 280 0060 C080 ld r12,Z
+ 281 0062 D180 ldd r13,Z+1
+ 282 0064 C114 cp r12,__zero_reg__
+ 283 0066 D104 cpc r13,__zero_reg__
+ 284 0068 01F4 brne .L19
+ 285 006a 82E0 ldi r24,lo8(2)
+ 286 .LVL27:
+ 287 .L18:
+ 288 .LVL28:
+ 289 /* epilogue start */
+ 290 .LSM31:
+ 291 006c DF91 pop r29
+ 292 006e CF91 pop r28
+ 293 0070 1F91 pop r17
+ 294 0072 0F91 pop r16
+ 295 .LVL29:
+ 296 0074 FF90 pop r15
+ 297 0076 EF90 pop r14
+ 298 .LVL30:
+ 299 0078 DF90 pop r13
+ 300 007a CF90 pop r12
+ 301 007c BF90 pop r11
+ 302 007e AF90 pop r10
+ 303 .LVL31:
+ 304 0080 0895 ret
+ 305 .LFE72:
+ 355 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 ConfigDescriptor.c
+ /tmp/cc806buQ.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/cc806buQ.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/cc806buQ.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/cc806buQ.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/cc806buQ.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/cc806buQ.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/cc806buQ.s:19 .text.USB_GetNextDescriptorOfType:0000000000000000 USB_GetNextDescriptorOfType
+ /tmp/cc806buQ.s:83 .text.USB_GetNextDescriptorOfTypeBefore:0000000000000000 USB_GetNextDescriptorOfTypeBefore
+ /tmp/cc806buQ.s:155 .text.USB_GetNextDescriptorOfTypeAfter:0000000000000000 USB_GetNextDescriptorOfTypeAfter
+ /tmp/cc806buQ.s:201 .text.USB_GetNextDescriptorComp:0000000000000000 USB_GetNextDescriptorComp
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o b/firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
new file mode 100644
index 0000000..0173c2f
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.c b/firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.c
new file mode 100644
index 0000000..a27151e
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.c
@@ -0,0 +1,382 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "USBMode.h"
+
+#if defined(USB_CAN_BE_DEVICE)
+
+#define __INCLUDE_FROM_DEVICESTDREQ_C
+#include "DeviceStandardReq.h"
+
+uint8_t USB_ConfigurationNumber;
+
+#if !defined(NO_DEVICE_SELF_POWER)
+bool USB_CurrentlySelfPowered;
+#endif
+
+#if !defined(NO_DEVICE_REMOTE_WAKEUP)
+bool USB_RemoteWakeupEnabled;
+#endif
+
+void USB_Device_ProcessControlRequest(void)
+{
+ uint8_t* RequestHeader = (uint8_t*)&USB_ControlRequest;
+
+ for (uint8_t RequestHeaderByte = 0; RequestHeaderByte < sizeof(USB_Request_Header_t); RequestHeaderByte++)
+ *(RequestHeader++) = Endpoint_Read_Byte();
+
+ EVENT_USB_Device_ControlRequest();
+
+ if (Endpoint_IsSETUPReceived())
+ {
+ uint8_t bmRequestType = USB_ControlRequest.bmRequestType;
+
+ switch (USB_ControlRequest.bRequest)
+ {
+ case REQ_GetStatus:
+ if ((bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE)) ||
+ (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_ENDPOINT)))
+ {
+ USB_Device_GetStatus();
+ }
+
+ break;
+ case REQ_ClearFeature:
+ case REQ_SetFeature:
+ if ((bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE)) ||
+ (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_ENDPOINT)))
+ {
+ USB_Device_ClearSetFeature();
+ }
+
+ break;
+ case REQ_SetAddress:
+ if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE))
+ USB_Device_SetAddress();
+
+ break;
+ case REQ_GetDescriptor:
+ if ((bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE)) ||
+ (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_INTERFACE)))
+ {
+ USB_Device_GetDescriptor();
+ }
+
+ break;
+ case REQ_GetConfiguration:
+ if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE))
+ USB_Device_GetConfiguration();
+
+ break;
+ case REQ_SetConfiguration:
+ if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE))
+ USB_Device_SetConfiguration();
+
+ break;
+ }
+ }
+
+ if (Endpoint_IsSETUPReceived())
+ {
+ Endpoint_StallTransaction();
+ Endpoint_ClearSETUP();
+ }
+}
+
+static void USB_Device_SetAddress(void)
+{
+ uint8_t DeviceAddress = (USB_ControlRequest.wValue & 0x7F);
+
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
+ {
+ Endpoint_ClearSETUP();
+
+ Endpoint_ClearStatusStage();
+
+ while (!(Endpoint_IsINReady()));
+
+ USB_DeviceState = (DeviceAddress) ? DEVICE_STATE_Addressed : DEVICE_STATE_Default;
+
+ USB_Device_SetDeviceAddress(DeviceAddress);
+ }
+}
+
+static void USB_Device_SetConfiguration(void)
+{
+ #if defined(FIXED_NUM_CONFIGURATIONS)
+ if ((uint8_t)USB_ControlRequest.wValue > FIXED_NUM_CONFIGURATIONS)
+ return;
+ #else
+ USB_Descriptor_Device_t* DevDescriptorPtr;
+
+ #if defined(USE_FLASH_DESCRIPTORS)
+ #define MemoryAddressSpace MEMSPACE_FLASH
+ #elif defined(USE_EEPROM_DESCRIPTORS)
+ #define MemoryAddressSpace MEMSPACE_EEPROM
+ #elif defined(USE_SRAM_DESCRIPTORS)
+ #define MemoryAddressSpace MEMSPACE_SRAM
+ #else
+ uint8_t MemoryAddressSpace;
+ #endif
+
+ if (CALLBACK_USB_GetDescriptor((DTYPE_Device << 8), 0, (void*)&DevDescriptorPtr
+ #if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)
+ , &MemoryAddressSpace
+ #endif
+ ) == NO_DESCRIPTOR)
+ {
+ return;
+ }
+
+ if (MemoryAddressSpace == MEMSPACE_FLASH)
+ {
+ if (((uint8_t)USB_ControlRequest.wValue > pgm_read_byte(&DevDescriptorPtr->NumberOfConfigurations)))
+ return;
+ }
+ else if (MemoryAddressSpace == MEMSPACE_EEPROM)
+ {
+ if (((uint8_t)USB_ControlRequest.wValue > eeprom_read_byte(&DevDescriptorPtr->NumberOfConfigurations)))
+ return;
+ }
+ else
+ {
+ if ((uint8_t)USB_ControlRequest.wValue > DevDescriptorPtr->NumberOfConfigurations)
+ return;
+ }
+ #endif
+
+ Endpoint_ClearSETUP();
+
+ USB_ConfigurationNumber = (uint8_t)USB_ControlRequest.wValue;
+
+ Endpoint_ClearStatusStage();
+
+ if (USB_ConfigurationNumber)
+ USB_DeviceState = DEVICE_STATE_Configured;
+ else
+ USB_DeviceState = (USB_Device_IsAddressSet()) ? DEVICE_STATE_Configured : DEVICE_STATE_Powered;
+
+ EVENT_USB_Device_ConfigurationChanged();
+}
+
+static void USB_Device_GetConfiguration(void)
+{
+ Endpoint_ClearSETUP();
+
+ Endpoint_Write_Byte(USB_ConfigurationNumber);
+ Endpoint_ClearIN();
+
+ Endpoint_ClearStatusStage();
+}
+
+#if !defined(NO_INTERNAL_SERIAL) && (USE_INTERNAL_SERIAL != NO_DESCRIPTOR)
+static void USB_Device_GetInternalSerialDescriptor(void)
+{
+ struct
+ {
+ USB_Descriptor_Header_t Header;
+ wchar_t UnicodeString[20];
+ } SignatureDescriptor;
+
+ SignatureDescriptor.Header.Type = DTYPE_String;
+ SignatureDescriptor.Header.Size = sizeof(SignatureDescriptor);
+
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
+ {
+ uint8_t SigReadAddress = 0x0E;
+
+ for (uint8_t SerialCharNum = 0; SerialCharNum < 20; SerialCharNum++)
+ {
+ uint8_t SerialByte = boot_signature_byte_get(SigReadAddress);
+
+ if (SerialCharNum & 0x01)
+ {
+ SerialByte >>= 4;
+ SigReadAddress++;
+ }
+
+ SerialByte &= 0x0F;
+
+ SignatureDescriptor.UnicodeString[SerialCharNum] = (SerialByte >= 10) ?
+ (('A' - 10) + SerialByte) : ('0' + SerialByte);
+ }
+ }
+
+ Endpoint_ClearSETUP();
+
+ Endpoint_Write_Control_Stream_LE(&SignatureDescriptor, sizeof(SignatureDescriptor));
+
+ Endpoint_ClearOUT();
+}
+#endif
+
+static void USB_Device_GetDescriptor(void)
+{
+ const void* DescriptorPointer;
+ uint16_t DescriptorSize;
+
+ #if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)
+ uint8_t DescriptorAddressSpace;
+ #endif
+
+ #if !defined(NO_INTERNAL_SERIAL) && (USE_INTERNAL_SERIAL != NO_DESCRIPTOR)
+ if (USB_ControlRequest.wValue == ((DTYPE_String << 8) | USE_INTERNAL_SERIAL))
+ {
+ USB_Device_GetInternalSerialDescriptor();
+ return;
+ }
+ #endif
+
+ if ((DescriptorSize = CALLBACK_USB_GetDescriptor(USB_ControlRequest.wValue, USB_ControlRequest.wIndex,
+ &DescriptorPointer
+ #if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)
+ , &DescriptorAddressSpace
+ #endif
+ )) == NO_DESCRIPTOR)
+ {
+ return;
+ }
+
+ Endpoint_ClearSETUP();
+
+ #if defined(USE_RAM_DESCRIPTORS)
+ Endpoint_Write_Control_Stream_LE(DescriptorPointer, DescriptorSize);
+ #elif defined(USE_EEPROM_DESCRIPTORS)
+ Endpoint_Write_Control_EStream_LE(DescriptorPointer, DescriptorSize);
+ #elif defined(USE_FLASH_DESCRIPTORS)
+ Endpoint_Write_Control_PStream_LE(DescriptorPointer, DescriptorSize);
+ #else
+ if (DescriptorAddressSpace == MEMSPACE_FLASH)
+ Endpoint_Write_Control_PStream_LE(DescriptorPointer, DescriptorSize);
+ else if (DescriptorAddressSpace == MEMSPACE_EEPROM)
+ Endpoint_Write_Control_EStream_LE(DescriptorPointer, DescriptorSize);
+ else
+ Endpoint_Write_Control_Stream_LE(DescriptorPointer, DescriptorSize);
+ #endif
+
+ Endpoint_ClearOUT();
+}
+
+static void USB_Device_GetStatus(void)
+{
+ uint8_t CurrentStatus = 0;
+
+ switch (USB_ControlRequest.bmRequestType)
+ {
+ #if !defined(NO_DEVICE_SELF_POWER) || !defined(NO_DEVICE_REMOTE_WAKEUP)
+ case (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE):
+ #if !defined(NO_DEVICE_SELF_POWER)
+ if (USB_CurrentlySelfPowered)
+ CurrentStatus |= FEATURE_SELFPOWERED_ENABLED;
+ #endif
+
+ #if !defined(NO_DEVICE_REMOTE_WAKEUP)
+ if (USB_RemoteWakeupEnabled)
+ CurrentStatus |= FEATURE_REMOTE_WAKEUP_ENABLED;
+ #endif
+ break;
+ #endif
+ #if !defined(CONTROL_ONLY_DEVICE)
+ case (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_ENDPOINT):
+ Endpoint_SelectEndpoint((uint8_t)USB_ControlRequest.wIndex & ENDPOINT_EPNUM_MASK);
+
+ CurrentStatus = Endpoint_IsStalled();
+
+ Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP);
+
+ break;
+ #endif
+ default:
+ return;
+ }
+
+ Endpoint_ClearSETUP();
+
+ Endpoint_Write_Word_LE(CurrentStatus);
+ Endpoint_ClearIN();
+
+ Endpoint_ClearStatusStage();
+}
+
+static void USB_Device_ClearSetFeature(void)
+{
+ switch (USB_ControlRequest.bmRequestType & CONTROL_REQTYPE_RECIPIENT)
+ {
+ #if !defined(NO_DEVICE_REMOTE_WAKEUP)
+ case REQREC_DEVICE:
+ if ((uint8_t)USB_ControlRequest.wValue == FEATURE_SEL_DeviceRemoteWakeup)
+ USB_RemoteWakeupEnabled = (USB_ControlRequest.bRequest == REQ_SetFeature);
+ else
+ return;
+
+ break;
+ #endif
+ #if !defined(CONTROL_ONLY_DEVICE)
+ case REQREC_ENDPOINT:
+ if ((uint8_t)USB_ControlRequest.wValue == FEATURE_SEL_EndpointHalt)
+ {
+ uint8_t EndpointIndex = ((uint8_t)USB_ControlRequest.wIndex & ENDPOINT_EPNUM_MASK);
+
+ if (EndpointIndex == ENDPOINT_CONTROLEP)
+ return;
+
+ Endpoint_SelectEndpoint(EndpointIndex);
+
+ if (Endpoint_IsEnabled())
+ {
+ if (USB_ControlRequest.bRequest == REQ_SetFeature)
+ {
+ Endpoint_StallTransaction();
+ }
+ else
+ {
+ Endpoint_ClearStall();
+ Endpoint_ResetFIFO(EndpointIndex);
+ Endpoint_ResetDataToggle();
+ }
+ }
+ }
+
+ break;
+ #endif
+ default:
+ return;
+ }
+
+ Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP);
+
+ Endpoint_ClearSETUP();
+
+ Endpoint_ClearStatusStage();
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h b/firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h
new file mode 100644
index 0000000..df5a79a
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.h
@@ -0,0 +1,165 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB device standard request management.
+ *
+ * This file contains the function prototypes necessary for the processing of incoming standard control requests
+ * when the library is in USB device mode.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+#ifndef __DEVICESTDREQ_H__
+#define __DEVICESTDREQ_H__
+
+ /* Includes: */
+ #include <avr/pgmspace.h>
+ #include <avr/eeprom.h>
+ #include <avr/boot.h>
+ #include <util/atomic.h>
+ #include <stdint.h>
+ #include <stdbool.h>
+
+ #include "StdDescriptors.h"
+ #include "Events.h"
+ #include "StdRequestType.h"
+ #include "USBTask.h"
+ #include "../LowLevel/USBController.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ #if defined(USE_SINGLE_DEVICE_CONFIGURATION)
+ #define FIXED_NUM_CONFIGURATIONS 1
+ #endif
+
+ /* Enums: */
+ #if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)
+ /** Enum for the possible descriptor memory spaces, for the MemoryAddressSpace of the
+ * \ref CALLBACK_USB_GetDescriptor() function. This can be used when none of the USE_*_DESCRIPTORS
+ * compile time options are used, to indicate in which memory space the descriptor is stored.
+ *
+ * \ingroup Group_Device
+ */
+ enum USB_DescriptorMemorySpaces_t
+ {
+ MEMSPACE_FLASH = 0, /**< Indicates the requested descriptor is located in FLASH memory. */
+ MEMSPACE_EEPROM = 1, /**< Indicates the requested descriptor is located in EEPROM memory. */
+ MEMSPACE_RAM = 2, /**< Indicates the requested descriptor is located in RAM memory. */
+ };
+ #endif
+
+ /* Global Variables: */
+ /** Indicates the currently set configuration number of the device. USB devices may have several
+ * different configurations which the host can select between; this indicates the currently selected
+ * value, or 0 if no configuration has been selected.
+ *
+ * \note This variable should be treated as read-only in the user application, and never manually
+ * changed in value.
+ *
+ * \ingroup Group_Device
+ */
+ extern uint8_t USB_ConfigurationNumber;
+
+ #if !defined(NO_DEVICE_REMOTE_WAKEUP)
+ /** Indicates if the host is currently allowing the device to issue remote wakeup events. If this
+ * flag is cleared, the device should not issue remote wakeup events to the host.
+ *
+ * \note This variable should be treated as read-only in the user application, and never manually
+ * changed in value.
+ * \n\n
+ *
+ * \note To reduce FLASH usage of the compiled applications where Remote Wakeup is not supported,
+ * this global and the underlying management code can be disabled by defining the
+ * NO_DEVICE_REMOTE_WAKEUP token in the project makefile and passing it to the compiler via
+ * the -D switch.
+ *
+ * \ingroup Group_Device
+ */
+ extern bool USB_RemoteWakeupEnabled;
+ #endif
+
+ #if !defined(NO_DEVICE_SELF_POWER)
+ /** Indicates if the device is currently being powered by its own power supply, rather than being
+ * powered by the host's USB supply. This flag should remain cleared if the device does not
+ * support self powered mode, as indicated in the device descriptors.
+ *
+ * \ingroup Group_Device
+ */
+ extern bool USB_CurrentlySelfPowered;
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ #if defined(USE_RAM_DESCRIPTORS) && defined(USE_EEPROM_DESCRIPTORS)
+ #error USE_RAM_DESCRIPTORS and USE_EEPROM_DESCRIPTORS are mutually exclusive.
+ #elif defined(USE_RAM_DESCRIPTORS) && defined(USE_FLASH_DESCRIPTORS)
+ #error USE_RAM_DESCRIPTORS and USE_FLASH_DESCRIPTORS are mutually exclusive.
+ #elif defined(USE_FLASH_DESCRIPTORS) && defined(USE_EEPROM_DESCRIPTORS)
+ #error USE_FLASH_DESCRIPTORS and USE_EEPROM_DESCRIPTORS are mutually exclusive.
+ #elif defined(USE_FLASH_DESCRIPTORS) && defined(USE_EEPROM_DESCRIPTORS) && defined(USE_RAM_DESCRIPTORS)
+ #error Only one of the USE_*_DESCRIPTORS modes should be selected.
+ #endif
+
+ /* Function Prototypes: */
+ void USB_Device_ProcessControlRequest(void);
+
+ #if defined(__INCLUDE_FROM_DEVICESTDREQ_C)
+ static void USB_Device_SetAddress(void);
+ static void USB_Device_SetConfiguration(void);
+ static void USB_Device_GetConfiguration(void);
+ static void USB_Device_GetDescriptor(void);
+ static void USB_Device_GetStatus(void);
+ static void USB_Device_ClearSetFeature(void);
+
+ #if !defined(NO_INTERNAL_SERIAL) && (USE_INTERNAL_SERIAL != NO_DESCRIPTOR)
+ static void USB_Device_GetInternalSerialDescriptor(void);
+ #endif
+ #endif
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.lst b/firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.lst
new file mode 100644
index 0000000..eed7de6
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.lst
@@ -0,0 +1,569 @@
+ 1 .file "DeviceStandardReq.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.USB_Device_ProcessControlRequest,"ax",@progbits
+ 17 .global USB_Device_ProcessControlRequest
+ 19 USB_Device_ProcessControlRequest:
+ 20 .LFB68:
+ 21 .LSM0:
+ 22 0000 0F93 push r16
+ 23 0002 1F93 push r17
+ 24 0004 DF93 push r29
+ 25 0006 CF93 push r28
+ 26 0008 00D0 rcall .
+ 27 000a CDB7 in r28,__SP_L__
+ 28 000c DEB7 in r29,__SP_H__
+ 29 /* prologue: function */
+ 30 /* frame size = 2 */
+ 31 .LSM1:
+ 32 000e E0E0 ldi r30,lo8(USB_ControlRequest)
+ 33 0010 F0E0 ldi r31,hi8(USB_ControlRequest)
+ 34 .LVL0:
+ 35 .L2:
+ 36 .LBB146:
+ 37 .LBB147:
+ 38 .LBB148:
+ 39 .LSM2:
+ 40 0012 8091 F100 lds r24,241
+ 41 .LBE148:
+ 42 .LBE147:
+ 43 .LSM3:
+ 44 0016 8193 st Z+,r24
+ 45 .LSM4:
+ 46 0018 80E0 ldi r24,hi8(USB_ControlRequest+8)
+ 47 001a E030 cpi r30,lo8(USB_ControlRequest+8)
+ 48 001c F807 cpc r31,r24
+ 49 001e 01F4 brne .L2
+ 50 .LBE146:
+ 51 .LSM5:
+ 52 0020 0E94 0000 call EVENT_USB_Device_ControlRequest
+ 53 .LVL1:
+ 54 .LBB149:
+ 55 .LBB150:
+ 56 .LSM6:
+ 57 0024 8091 E800 lds r24,232
+ 58 .LBE150:
+ 59 .LBE149:
+ 60 .LSM7:
+ 61 0028 83FF sbrs r24,3
+ 62 002a 00C0 rjmp .L3
+ 63 .LBB151:
+ 64 .LSM8:
+ 65 002c 8091 0000 lds r24,USB_ControlRequest
+ 66 .LVL2:
+ 67 .LSM9:
+ 68 0030 3091 0000 lds r19,USB_ControlRequest+1
+ 69 0034 3530 cpi r19,lo8(5)
+ 70 0036 01F4 brne .+2
+ 71 0038 00C0 rjmp .L6
+ 72 003a 3630 cpi r19,lo8(6)
+ 73 003c 00F4 brsh .L10
+ 74 003e 3130 cpi r19,lo8(1)
+ 75 0040 01F0 breq .L5
+ 76 0042 3130 cpi r19,lo8(1)
+ 77 0044 00F0 brlo .L4
+ 78 0046 3330 cpi r19,lo8(3)
+ 79 0048 01F0 breq .+2
+ 80 004a 00C0 rjmp .L3
+ 81 004c 00C0 rjmp .L5
+ 82 .L10:
+ 83 004e 3830 cpi r19,lo8(8)
+ 84 0050 01F4 brne .+2
+ 85 0052 00C0 rjmp .L8
+ 86 0054 3930 cpi r19,lo8(9)
+ 87 0056 01F4 brne .+2
+ 88 0058 00C0 rjmp .L9
+ 89 005a 3630 cpi r19,lo8(6)
+ 90 005c 01F0 breq .+2
+ 91 005e 00C0 rjmp .L3
+ 92 0060 00C0 rjmp .L34
+ 93 .L4:
+ 94 .LSM10:
+ 95 0062 8038 cpi r24,lo8(-128)
+ 96 0064 01F0 breq .L11
+ 97 0066 8238 cpi r24,lo8(-126)
+ 98 0068 01F0 breq .+2
+ 99 006a 00C0 rjmp .L3
+ 100 006c 00C0 rjmp .L35
+ 101 .L11:
+ 102 006e 9091 0000 lds r25,USB_CurrentlySelfPowered
+ 103 .LVL3:
+ 104 .LBB152:
+ 105 .LBB153:
+ 106 .LSM11:
+ 107 0072 8091 0000 lds r24,USB_RemoteWakeupEnabled
+ 108 .LVL4:
+ 109 0076 8823 tst r24
+ 110 0078 01F0 breq .L13
+ 111 .LSM12:
+ 112 007a 9260 ori r25,lo8(2)
+ 113 007c 00C0 rjmp .L13
+ 114 .LVL5:
+ 115 .L35:
+ 116 .LSM13:
+ 117 007e 8091 0000 lds r24,USB_ControlRequest+4
+ 118 .LVL6:
+ 119 0082 8770 andi r24,lo8(7)
+ 120 .LBB154:
+ 121 .LBB155:
+ 122 .LSM14:
+ 123 0084 8093 E900 sts 233,r24
+ 124 .LBE155:
+ 125 .LBE154:
+ 126 .LBB156:
+ 127 .LBB157:
+ 128 .LSM15:
+ 129 0088 8091 EB00 lds r24,235
+ 130 .LBE157:
+ 131 .LBE156:
+ 132 .LSM16:
+ 133 008c 90E0 ldi r25,lo8(0)
+ 134 008e 25E0 ldi r18,5
+ 135 0090 9695 1: lsr r25
+ 136 0092 8795 ror r24
+ 137 0094 2A95 dec r18
+ 138 0096 01F4 brne 1b
+ 139 0098 982F mov r25,r24
+ 140 .LVL7:
+ 141 009a 9170 andi r25,lo8(1)
+ 142 .LBB158:
+ 143 .LBB159:
+ 144 .LSM17:
+ 145 009c 1092 E900 sts 233,__zero_reg__
+ 146 .L13:
+ 147 .LBE159:
+ 148 .LBE158:
+ 149 .LBB160:
+ 150 .LBB161:
+ 151 .LSM18:
+ 152 00a0 8091 E800 lds r24,232
+ 153 00a4 877F andi r24,lo8(-9)
+ 154 00a6 8093 E800 sts 232,r24
+ 155 .LBE161:
+ 156 .LBE160:
+ 157 .LBB162:
+ 158 .LBB163:
+ 159 .LSM19:
+ 160 00aa 9093 F100 sts 241,r25
+ 161 .LSM20:
+ 162 00ae 1092 F100 sts 241,__zero_reg__
+ 163 00b2 00C0 rjmp .L33
+ 164 .LVL8:
+ 165 .L5:
+ 166 .LBE163:
+ 167 .LBE162:
+ 168 .LBE153:
+ 169 .LBE152:
+ 170 .LSM21:
+ 171 00b4 8823 tst r24
+ 172 00b6 01F0 breq .L14
+ 173 00b8 8230 cpi r24,lo8(2)
+ 174 00ba 01F0 breq .+2
+ 175 00bc 00C0 rjmp .L3
+ 176 .L14:
+ 177 .LBB164:
+ 178 .LBB165:
+ 179 .LSM22:
+ 180 00be 90E0 ldi r25,lo8(0)
+ 181 00c0 8F71 andi r24,lo8(31)
+ 182 00c2 9070 andi r25,hi8(31)
+ 183 .LVL9:
+ 184 00c4 0097 sbiw r24,0
+ 185 00c6 01F0 breq .L15
+ 186 00c8 0297 sbiw r24,2
+ 187 00ca 01F0 breq .+2
+ 188 00cc 00C0 rjmp .L3
+ 189 00ce 00C0 rjmp .L36
+ 190 .L15:
+ 191 .LSM23:
+ 192 00d0 8091 0000 lds r24,USB_ControlRequest+2
+ 193 00d4 8130 cpi r24,lo8(1)
+ 194 00d6 01F0 breq .+2
+ 195 00d8 00C0 rjmp .L3
+ 196 .LSM24:
+ 197 00da 1092 0000 sts USB_RemoteWakeupEnabled,__zero_reg__
+ 198 00de 3330 cpi r19,lo8(3)
+ 199 00e0 01F4 brne .L18
+ 200 00e2 8093 0000 sts USB_RemoteWakeupEnabled,r24
+ 201 00e6 00C0 rjmp .L18
+ 202 .L36:
+ 203 .LSM25:
+ 204 00e8 8091 0000 lds r24,USB_ControlRequest+2
+ 205 00ec 8823 tst r24
+ 206 00ee 01F4 brne .L18
+ 207 .LBB166:
+ 208 .LSM26:
+ 209 00f0 2091 0000 lds r18,USB_ControlRequest+4
+ 210 .LVL10:
+ 211 00f4 2770 andi r18,lo8(7)
+ 212 .LSM27:
+ 213 00f6 01F4 brne .+2
+ 214 00f8 00C0 rjmp .L3
+ 215 .LBB167:
+ 216 .LBB168:
+ 217 .LSM28:
+ 218 00fa 2093 E900 sts 233,r18
+ 219 .LBE168:
+ 220 .LBE167:
+ 221 .LBB169:
+ 222 .LBB170:
+ 223 .LSM29:
+ 224 00fe 8091 EB00 lds r24,235
+ 225 .LBE170:
+ 226 .LBE169:
+ 227 .LSM30:
+ 228 0102 80FF sbrs r24,0
+ 229 0104 00C0 rjmp .L18
+ 230 .LSM31:
+ 231 0106 3330 cpi r19,lo8(3)
+ 232 0108 01F4 brne .L19
+ 233 .LBB171:
+ 234 .LBB172:
+ 235 .LSM32:
+ 236 010a 8091 EB00 lds r24,235
+ 237 010e 8062 ori r24,lo8(32)
+ 238 0110 00C0 rjmp .L31
+ 239 .L19:
+ 240 .LBE172:
+ 241 .LBE171:
+ 242 .LBB173:
+ 243 .LBB174:
+ 244 .LSM33:
+ 245 0112 8091 EB00 lds r24,235
+ 246 0116 8061 ori r24,lo8(16)
+ 247 0118 8093 EB00 sts 235,r24
+ 248 .LBE174:
+ 249 .LBE173:
+ 250 .LBB175:
+ 251 .LBB176:
+ 252 .LSM34:
+ 253 011c 81E0 ldi r24,lo8(1)
+ 254 011e 90E0 ldi r25,hi8(1)
+ 255 0120 00C0 rjmp 2f
+ 256 0122 880F 1: lsl r24
+ 257 0124 991F rol r25
+ 258 0126 2A95 2: dec r18
+ 259 0128 02F4 brpl 1b
+ 260 012a 8093 EA00 sts 234,r24
+ 261 .LSM35:
+ 262 012e 1092 EA00 sts 234,__zero_reg__
+ 263 .LBE176:
+ 264 .LBE175:
+ 265 .LBB177:
+ 266 .LBB178:
+ 267 .LSM36:
+ 268 0132 8091 EB00 lds r24,235
+ 269 0136 8860 ori r24,lo8(8)
+ 270 .L31:
+ 271 0138 8093 EB00 sts 235,r24
+ 272 .L18:
+ 273 .LBE178:
+ 274 .LBE177:
+ 275 .LBE166:
+ 276 .LBB179:
+ 277 .LBB180:
+ 278 .LSM37:
+ 279 013c 1092 E900 sts 233,__zero_reg__
+ 280 .LBE180:
+ 281 .LBE179:
+ 282 .LBB181:
+ 283 .LBB182:
+ 284 .LSM38:
+ 285 0140 8091 E800 lds r24,232
+ 286 0144 877F andi r24,lo8(-9)
+ 287 0146 00C0 rjmp .L32
+ 288 .LVL11:
+ 289 .L6:
+ 290 .LBE182:
+ 291 .LBE181:
+ 292 .LBE165:
+ 293 .LBE164:
+ 294 .LSM39:
+ 295 0148 8823 tst r24
+ 296 014a 01F0 breq .+2
+ 297 014c 00C0 rjmp .L3
+ 298 .LBB183:
+ 299 .LBB184:
+ 300 .LSM40:
+ 301 014e 1091 0000 lds r17,USB_ControlRequest+2
+ 302 .LVL12:
+ 303 0152 1F77 andi r17,lo8(127)
+ 304 .LBB185:
+ 305 .LSM41:
+ 306 0154 0FB7 in r16,__SREG__
+ 307 .LBB186:
+ 308 .LBB187:
+ 309 .LSM42:
+ 310 /* #APP */
+ 311 ; 50 "/usr/lib/gcc/avr/4.3.5/../../../avr/include/util/atomic.h" 1
+ 312 0156 F894 cli
+ 313 ; 0 "" 2
+ 314 /* #NOAPP */
+ 315 .LBE187:
+ 316 .LBE186:
+ 317 .LBB188:
+ 318 .LBB189:
+ 319 .LSM43:
+ 320 0158 8091 E800 lds r24,232
+ 321 .LVL13:
+ 322 015c 877F andi r24,lo8(-9)
+ 323 015e 8093 E800 sts 232,r24
+ 324 .LBE189:
+ 325 .LBE188:
+ 326 .LSM44:
+ 327 0162 0E94 0000 call Endpoint_ClearStatusStage
+ 328 .L20:
+ 329 .LBB190:
+ 330 .LBB191:
+ 331 .LSM45:
+ 332 0166 8091 E800 lds r24,232
+ 333 .LBE191:
+ 334 .LBE190:
+ 335 .LSM46:
+ 336 016a 80FF sbrs r24,0
+ 337 016c 00C0 rjmp .L20
+ 338 .LSM47:
+ 339 016e 1123 tst r17
+ 340 0170 01F4 brne .L21
+ 341 0172 82E0 ldi r24,lo8(2)
+ 342 0174 00C0 rjmp .L22
+ 343 .L21:
+ 344 0176 83E0 ldi r24,lo8(3)
+ 345 .L22:
+ 346 0178 8093 0000 sts USB_DeviceState,r24
+ 347 .LBB192:
+ 348 .LBB193:
+ 349 .LSM48:
+ 350 017c 8091 E300 lds r24,227
+ 351 0180 8078 andi r24,lo8(-128)
+ 352 0182 182B or r17,r24
+ 353 0184 1093 E300 sts 227,r17
+ 354 .LSM49:
+ 355 0188 8091 E300 lds r24,227
+ 356 018c 8068 ori r24,lo8(-128)
+ 357 018e 8093 E300 sts 227,r24
+ 358 .LBE193:
+ 359 .LBE192:
+ 360 .LBB194:
+ 361 .LBB195:
+ 362 .LSM50:
+ 363 0192 0FBF out __SREG__,r16
+ 364 .LSM51:
+ 365 0194 00C0 rjmp .L3
+ 366 .LVL14:
+ 367 .L34:
+ 368 .LBE195:
+ 369 .LBE194:
+ 370 .LBE185:
+ 371 .LBE184:
+ 372 .LBE183:
+ 373 .LSM52:
+ 374 0196 8058 subi r24,lo8(-(-128))
+ 375 0198 8230 cpi r24,lo8(2)
+ 376 019a 00F0 brlo .+2
+ 377 019c 00C0 rjmp .L3
+ 378 .LBB196:
+ 379 .LSM53:
+ 380 019e 8091 0000 lds r24,USB_ControlRequest+2
+ 381 01a2 9091 0000 lds r25,(USB_ControlRequest+2)+1
+ 382 .LVL15:
+ 383 01a6 6091 0000 lds r22,USB_ControlRequest+4
+ 384 01aa AE01 movw r20,r28
+ 385 01ac 4F5F subi r20,lo8(-(1))
+ 386 01ae 5F4F sbci r21,hi8(-(1))
+ 387 01b0 0E94 0000 call CALLBACK_USB_GetDescriptor
+ 388 01b4 BC01 movw r22,r24
+ 389 .LVL16:
+ 390 .LBB197:
+ 391 01b6 0097 sbiw r24,0
+ 392 01b8 01F4 brne .+2
+ 393 01ba 00C0 rjmp .L3
+ 394 .LVL17:
+ 395 .LBB198:
+ 396 .LBB199:
+ 397 .LSM54:
+ 398 01bc 8091 E800 lds r24,232
+ 399 .LVL18:
+ 400 01c0 877F andi r24,lo8(-9)
+ 401 01c2 8093 E800 sts 232,r24
+ 402 .LBE199:
+ 403 .LBE198:
+ 404 .LSM55:
+ 405 01c6 8981 ldd r24,Y+1
+ 406 01c8 9A81 ldd r25,Y+2
+ 407 .LVL19:
+ 408 01ca 0E94 0000 call Endpoint_Write_Control_PStream_LE
+ 409 .LVL20:
+ 410 .LBB200:
+ 411 .LBB201:
+ 412 .LSM56:
+ 413 01ce 8091 E800 lds r24,232
+ 414 01d2 8B77 andi r24,lo8(123)
+ 415 01d4 8093 E800 sts 232,r24
+ 416 01d8 00C0 rjmp .L3
+ 417 .LVL21:
+ 418 .L8:
+ 419 .LBE201:
+ 420 .LBE200:
+ 421 .LBE197:
+ 422 .LBE196:
+ 423 .LSM57:
+ 424 01da 8038 cpi r24,lo8(-128)
+ 425 01dc 01F4 brne .L3
+ 426 .LBB202:
+ 427 .LBB203:
+ 428 .LBB204:
+ 429 .LBB205:
+ 430 .LSM58:
+ 431 01de 8091 E800 lds r24,232
+ 432 .LVL22:
+ 433 01e2 877F andi r24,lo8(-9)
+ 434 01e4 8093 E800 sts 232,r24
+ 435 .LBE205:
+ 436 .LBE204:
+ 437 .LSM59:
+ 438 01e8 8091 0000 lds r24,USB_ConfigurationNumber
+ 439 .LBB206:
+ 440 .LBB207:
+ 441 .LSM60:
+ 442 01ec 8093 F100 sts 241,r24
+ 443 .LVL23:
+ 444 .L33:
+ 445 .LBE207:
+ 446 .LBE206:
+ 447 .LBB208:
+ 448 .LBB209:
+ 449 .LSM61:
+ 450 01f0 8091 E800 lds r24,232
+ 451 01f4 8E77 andi r24,lo8(126)
+ 452 .LVL24:
+ 453 .L32:
+ 454 01f6 8093 E800 sts 232,r24
+ 455 .LBE209:
+ 456 .LBE208:
+ 457 .LSM62:
+ 458 01fa 0E94 0000 call Endpoint_ClearStatusStage
+ 459 .LVL25:
+ 460 01fe 00C0 rjmp .L3
+ 461 .LVL26:
+ 462 .L9:
+ 463 .LBE203:
+ 464 .LBE202:
+ 465 .LSM63:
+ 466 0200 8823 tst r24
+ 467 0202 01F4 brne .L3
+ 468 .LBB210:
+ 469 .LBB211:
+ 470 .LSM64:
+ 471 0204 9091 0000 lds r25,USB_ControlRequest+2
+ 472 0208 9230 cpi r25,lo8(2)
+ 473 020a 00F4 brsh .L3
+ 474 .LBB212:
+ 475 .LBB213:
+ 476 .LSM65:
+ 477 020c 8091 E800 lds r24,232
+ 478 .LVL27:
+ 479 0210 877F andi r24,lo8(-9)
+ 480 0212 8093 E800 sts 232,r24
+ 481 .LBE213:
+ 482 .LBE212:
+ 483 .LSM66:
+ 484 0216 9093 0000 sts USB_ConfigurationNumber,r25
+ 485 .LSM67:
+ 486 021a 0E94 0000 call Endpoint_ClearStatusStage
+ 487 .LSM68:
+ 488 021e 8091 0000 lds r24,USB_ConfigurationNumber
+ 489 0222 8823 tst r24
+ 490 0224 01F4 brne .L25
+ 491 .L23:
+ 492 .LBB214:
+ 493 .LBB215:
+ 494 .LSM69:
+ 495 0226 8091 E300 lds r24,227
+ 496 .LBE215:
+ 497 .LBE214:
+ 498 .LSM70:
+ 499 022a 87FD sbrc r24,7
+ 500 022c 00C0 rjmp .L25
+ 501 022e 81E0 ldi r24,lo8(1)
+ 502 0230 00C0 rjmp .L26
+ 503 .L25:
+ 504 0232 84E0 ldi r24,lo8(4)
+ 505 .L26:
+ 506 0234 8093 0000 sts USB_DeviceState,r24
+ 507 .LSM71:
+ 508 0238 0E94 0000 call EVENT_USB_Device_ConfigurationChanged
+ 509 .LVL28:
+ 510 .L3:
+ 511 .LBE211:
+ 512 .LBE210:
+ 513 .LBE151:
+ 514 .LBB216:
+ 515 .LBB217:
+ 516 .LSM72:
+ 517 023c 8091 E800 lds r24,232
+ 518 .LVL29:
+ 519 .LBE217:
+ 520 .LBE216:
+ 521 .LSM73:
+ 522 0240 83FF sbrs r24,3
+ 523 0242 00C0 rjmp .L28
+ 524 .LBB218:
+ 525 .LBB219:
+ 526 .LSM74:
+ 527 0244 8091 EB00 lds r24,235
+ 528 0248 8062 ori r24,lo8(32)
+ 529 024a 8093 EB00 sts 235,r24
+ 530 .LBE219:
+ 531 .LBE218:
+ 532 .LBB220:
+ 533 .LBB221:
+ 534 .LSM75:
+ 535 024e 8091 E800 lds r24,232
+ 536 0252 877F andi r24,lo8(-9)
+ 537 0254 8093 E800 sts 232,r24
+ 538 .L28:
+ 539 /* epilogue start */
+ 540 .LBE221:
+ 541 .LBE220:
+ 542 .LSM76:
+ 543 0258 0F90 pop __tmp_reg__
+ 544 025a 0F90 pop __tmp_reg__
+ 545 025c CF91 pop r28
+ 546 025e DF91 pop r29
+ 547 0260 1F91 pop r17
+ 548 .LVL30:
+ 549 0262 0F91 pop r16
+ 550 0264 0895 ret
+ 551 .LFE68:
+ 553 .comm USB_ConfigurationNumber,1,1
+ 554 .comm USB_RemoteWakeupEnabled,1,1
+ 555 .comm USB_CurrentlySelfPowered,1,1
+ 580 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 DeviceStandardReq.c
+ /tmp/ccT135RT.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccT135RT.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccT135RT.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccT135RT.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccT135RT.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccT135RT.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/ccT135RT.s:19 .text.USB_Device_ProcessControlRequest:0000000000000000 USB_Device_ProcessControlRequest
+ *COM*:0000000000000001 USB_CurrentlySelfPowered
+ *COM*:0000000000000001 USB_RemoteWakeupEnabled
+ *COM*:0000000000000001 USB_ConfigurationNumber
+
+UNDEFINED SYMBOLS
+USB_ControlRequest
+EVENT_USB_Device_ControlRequest
+Endpoint_ClearStatusStage
+USB_DeviceState
+CALLBACK_USB_GetDescriptor
+Endpoint_Write_Control_PStream_LE
+EVENT_USB_Device_ConfigurationChanged
+__do_clear_bss
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o b/firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
new file mode 100644
index 0000000..5984660
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.c b/firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.c
new file mode 100644
index 0000000..7e92b7e
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.c
@@ -0,0 +1,233 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "USBMode.h"
+
+#if defined(USB_CAN_BE_DEVICE)
+
+#include "EndpointStream.h"
+
+#if !defined(CONTROL_ONLY_DEVICE)
+uint8_t Endpoint_Discard_Stream(uint16_t Length
+ __CALLBACK_PARAM)
+{
+ uint8_t ErrorCode;
+
+ if ((ErrorCode = Endpoint_WaitUntilReady()))
+ return ErrorCode;
+
+ #if defined(FAST_STREAM_TRANSFERS)
+ uint8_t BytesRemToAlignment = (Endpoint_BytesInEndpoint() & 0x07);
+
+ if (Length >= 8)
+ {
+ Length -= BytesRemToAlignment;
+
+ switch (BytesRemToAlignment)
+ {
+ default:
+ do
+ {
+ if (!(Endpoint_IsReadWriteAllowed()))
+ {
+ Endpoint_ClearOUT();
+
+ #if !defined(NO_STREAM_CALLBACKS)
+ if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
+ return ENDPOINT_RWSTREAM_CallbackAborted;
+ #endif
+
+ if ((ErrorCode = Endpoint_WaitUntilReady()))
+ return ErrorCode;
+ }
+
+ Length -= 8;
+
+ Endpoint_Discard_Byte();
+ case 7: Endpoint_Discard_Byte();
+ case 6: Endpoint_Discard_Byte();
+ case 5: Endpoint_Discard_Byte();
+ case 4: Endpoint_Discard_Byte();
+ case 3: Endpoint_Discard_Byte();
+ case 2: Endpoint_Discard_Byte();
+ case 1: Endpoint_Discard_Byte();
+ } while (Length >= 8);
+ }
+ }
+ #endif
+
+ while (Length)
+ {
+ if (!(Endpoint_IsReadWriteAllowed()))
+ {
+ Endpoint_ClearOUT();
+
+ #if !defined(NO_STREAM_CALLBACKS)
+ if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
+ return ENDPOINT_RWSTREAM_CallbackAborted;
+ #endif
+
+ if ((ErrorCode = Endpoint_WaitUntilReady()))
+ return ErrorCode;
+ }
+ else
+ {
+ Endpoint_Discard_Byte();
+ Length--;
+ }
+ }
+
+ return ENDPOINT_RWSTREAM_NoError;
+}
+
+#define TEMPLATE_FUNC_NAME Endpoint_Write_Stream_LE
+#define TEMPLATE_BUFFER_TYPE const void*
+#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
+#define TEMPLATE_BUFFER_OFFSET(Length) 0
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(*((uint8_t*)BufferPtr++))
+#include "Template/Template_Endpoint_RW.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Write_PStream_LE
+#define TEMPLATE_BUFFER_TYPE const void*
+#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
+#define TEMPLATE_BUFFER_OFFSET(Length) 0
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(pgm_read_byte((uint8_t*)BufferPtr++))
+#include "Template/Template_Endpoint_RW.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Write_EStream_LE
+#define TEMPLATE_BUFFER_TYPE const void*
+#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
+#define TEMPLATE_BUFFER_OFFSET(Length) 0
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(eeprom_read_byte((uint8_t*)BufferPtr++))
+#include "Template/Template_Endpoint_RW.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Write_Stream_BE
+#define TEMPLATE_BUFFER_TYPE const void*
+#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
+#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(*((uint8_t*)BufferPtr--))
+#include "Template/Template_Endpoint_RW.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Write_EStream_BE
+#define TEMPLATE_BUFFER_TYPE const void*
+#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
+#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(eeprom_read_byte((uint8_t*)BufferPtr--))
+#include "Template/Template_Endpoint_RW.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Write_PStream_BE
+#define TEMPLATE_BUFFER_TYPE const void*
+#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
+#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(pgm_read_byte((uint8_t*)BufferPtr--))
+#include "Template/Template_Endpoint_RW.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Read_Stream_LE
+#define TEMPLATE_BUFFER_TYPE void*
+#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearOUT()
+#define TEMPLATE_BUFFER_OFFSET(Length) 0
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *((uint8_t*)BufferPtr++) = Endpoint_Read_Byte()
+#include "Template/Template_Endpoint_RW.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Read_EStream_LE
+#define TEMPLATE_BUFFER_TYPE void*
+#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearOUT()
+#define TEMPLATE_BUFFER_OFFSET(Length) 0
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_update_byte((uint8_t*)BufferPtr++, Endpoint_Read_Byte())
+#include "Template/Template_Endpoint_RW.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Read_Stream_BE
+#define TEMPLATE_BUFFER_TYPE void*
+#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearOUT()
+#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *((uint8_t*)BufferPtr--) = Endpoint_Read_Byte()
+#include "Template/Template_Endpoint_RW.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Read_EStream_BE
+#define TEMPLATE_BUFFER_TYPE void*
+#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearOUT()
+#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_update_byte((uint8_t*)BufferPtr--, Endpoint_Read_Byte())
+#include "Template/Template_Endpoint_RW.c"
+
+#endif
+
+#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_Stream_LE
+#define TEMPLATE_BUFFER_OFFSET(Length) 0
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(*((uint8_t*)BufferPtr++))
+#include "Template/Template_Endpoint_Control_W.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_PStream_LE
+#define TEMPLATE_BUFFER_OFFSET(Length) 0
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(pgm_read_byte((uint8_t*)BufferPtr++))
+#include "Template/Template_Endpoint_Control_W.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_EStream_LE
+#define TEMPLATE_BUFFER_OFFSET(Length) 0
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(eeprom_read_byte((uint8_t*)BufferPtr++))
+#include "Template/Template_Endpoint_Control_W.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_Stream_BE
+#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(*((uint8_t*)BufferPtr--))
+#include "Template/Template_Endpoint_Control_W.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_PStream_BE
+#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(pgm_read_byte((uint8_t*)BufferPtr--))
+#include "Template/Template_Endpoint_Control_W.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_EStream_BE
+#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(eeprom_read_byte((uint8_t*)BufferPtr--))
+#include "Template/Template_Endpoint_Control_W.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_Stream_LE
+#define TEMPLATE_BUFFER_OFFSET(Length) 0
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *((uint8_t*)BufferPtr++) = Endpoint_Read_Byte()
+#include "Template/Template_Endpoint_Control_R.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_EStream_LE
+#define TEMPLATE_BUFFER_OFFSET(Length) 0
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_update_byte((uint8_t*)BufferPtr++, Endpoint_Read_Byte())
+#include "Template/Template_Endpoint_Control_R.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_Stream_BE
+#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *((uint8_t*)BufferPtr--) = Endpoint_Read_Byte()
+#include "Template/Template_Endpoint_Control_R.c"
+
+#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_EStream_BE
+#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_update_byte((uint8_t*)BufferPtr--, Endpoint_Read_Byte())
+#include "Template/Template_Endpoint_Control_R.c"
+
+#endif
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.h b/firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.h
new file mode 100644
index 0000000..a8b9021
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.h
@@ -0,0 +1,524 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB device endpoint stream function definitions.
+ *
+ * This file contains structures, function prototypes and macros related to the sending and receiving of
+ * arbitrary data streams through the device's data endpoints when the library is initialized in USB device mode.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+/** \ingroup Group_EndpointRW
+ * @defgroup Group_EndpointStreamRW Read/Write of Multi-Byte Streams
+ *
+ * Functions, macros, variables, enums and types related to data reading and writing of data streams from
+ * and to endpoints.
+ *
+ * @{
+ */
+
+#ifndef __ENDPOINT_STREAM_H__
+#define __ENDPOINT_STREAM_H__
+
+ /* Includes: */
+ #include <avr/pgmspace.h>
+ #include <avr/eeprom.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+ #include "USBTask.h"
+
+ #if !defined(NO_STREAM_CALLBACKS) || defined(__DOXYGEN__)
+ #include "StreamCallbacks.h"
+ #endif
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ #if !defined(NO_STREAM_CALLBACKS) || defined(__DOXYGEN__)
+ #define __CALLBACK_PARAM , StreamCallbackPtr_t Callback
+ #else
+ #define __CALLBACK_PARAM
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Enums: */
+ /** Enum for the possible error return codes of the Endpoint_*_Stream_* functions. */
+ enum Endpoint_Stream_RW_ErrorCodes_t
+ {
+ ENDPOINT_RWSTREAM_NoError = 0, /**< Command completed successfully, no error. */
+ ENDPOINT_RWSTREAM_EndpointStalled = 1, /**< The endpoint was stalled during the stream
+ * transfer by the host or device.
+ */
+ ENDPOINT_RWSTREAM_DeviceDisconnected = 2, /**< Device was disconnected from the host during
+ * the transfer.
+ */
+ ENDPOINT_RWSTREAM_BusSuspended = 3, /**< The USB bus has been suspended by the host and
+ * no USB endpoint traffic can occur until the bus
+ * has resumed.
+ */
+ ENDPOINT_RWSTREAM_Timeout = 4, /**< The host failed to accept or send the next packet
+ * within the software timeout period set by the
+ * \ref USB_STREAM_TIMEOUT_MS macro.
+ */
+ ENDPOINT_RWSTREAM_CallbackAborted = 5, /**< Indicates that the stream's callback function
+ * aborted the transfer early.
+ */
+ };
+
+ /** Enum for the possible error return codes of the Endpoint_*_Control_Stream_* functions. */
+ enum Endpoint_ControlStream_RW_ErrorCodes_t
+ {
+ ENDPOINT_RWCSTREAM_NoError = 0, /**< Command completed successfully, no error. */
+ ENDPOINT_RWCSTREAM_HostAborted = 1, /**< The aborted the transfer prematurely. */
+ ENDPOINT_RWCSTREAM_DeviceDisconnected = 2, /**< Device was disconnected from the host during
+ * the transfer.
+ */
+ ENDPOINT_RWCSTREAM_BusSuspended = 3, /**< The USB bus has been suspended by the host and
+ * no USB endpoint traffic can occur until the bus
+ * has resumed.
+ */
+ };
+
+ /* Function Prototypes: */
+ /** Reads and discards the given number of bytes from the endpoint from the given buffer,
+ * discarding fully read packets from the host as needed. The last packet is not automatically
+ * discarded once the remaining bytes has been read; the user is responsible for manually
+ * discarding the last packet from the host via the \ref Endpoint_ClearOUT() macro. Between
+ * each USB packet, the given stream callback function is executed repeatedly until the next
+ * packet is ready, allowing for early aborts of stream transfers.
+ *
+ * The callback routine should be created according to the information in \ref Group_StreamCallbacks.
+ * If the token NO_STREAM_CALLBACKS is passed via the -D option to the compiler, stream callbacks are
+ * disabled and this function has the Callback parameter omitted.
+ *
+ * \note This routine should not be used on CONTROL type endpoints.
+ *
+ * \param[in] Length Number of bytes to send via the currently selected endpoint.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Discard_Stream(uint16_t Length
+ __CALLBACK_PARAM);
+
+ /** Writes the given number of bytes to the endpoint from the given buffer in little endian,
+ * sending full packets to the host as needed. The last packet filled is not automatically sent;
+ * the user is responsible for manually sending the last written packet to the host via the
+ * \ref Endpoint_ClearIN() macro. Between each USB packet, the given stream callback function
+ * is executed repeatedly until the endpoint is ready to accept the next packet, allowing for early
+ * aborts of stream transfers.
+ *
+ * The callback routine should be created according to the information in \ref Group_StreamCallbacks.
+ * If the token NO_STREAM_CALLBACKS is passed via the -D option to the compiler, stream callbacks are
+ * disabled and this function has the Callback parameter omitted.
+ *
+ * \note This routine should not be used on CONTROL type endpoints.
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected endpoint into the buffer.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Write_Stream_LE(const void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** EEPROM buffer source version of \ref Endpoint_Write_Stream_LE().
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected endpoint into the buffer.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Write_EStream_LE(const void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** FLASH buffer source version of \ref Endpoint_Write_Stream_LE().
+ *
+ * \pre The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected endpoint into the buffer.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Write_PStream_LE(const void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Writes the given number of bytes to the endpoint from the given buffer in big endian,
+ * sending full packets to the host as needed. The last packet filled is not automatically sent;
+ * the user is responsible for manually sending the last written packet to the host via the
+ * \ref Endpoint_ClearIN() macro. Between each USB packet, the given stream callback function
+ * is executed repeatedly until the endpoint is ready to accept the next packet, allowing for early
+ * aborts of stream transfers.
+ *
+ * The callback routine should be created according to the information in \ref Group_StreamCallbacks.
+ * If the token NO_STREAM_CALLBACKS is passed via the -D option to the compiler, stream callbacks are
+ * disabled and this function has the Callback parameter omitted.
+ *
+ * \note This routine should not be used on CONTROL type endpoints.
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected endpoint into the buffer.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Write_Stream_BE(const void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** EEPROM buffer source version of \ref Endpoint_Write_Stream_BE().
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected endpoint into the buffer.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Write_EStream_BE(const void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** FLASH buffer source version of \ref Endpoint_Write_Stream_BE().
+ *
+ * \pre The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected endpoint into the buffer.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Write_PStream_BE(const void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Reads the given number of bytes from the endpoint from the given buffer in little endian,
+ * discarding fully read packets from the host as needed. The last packet is not automatically
+ * discarded once the remaining bytes has been read; the user is responsible for manually
+ * discarding the last packet from the host via the \ref Endpoint_ClearOUT() macro. Between
+ * each USB packet, the given stream callback function is executed repeatedly until the endpoint
+ * is ready to accept the next packet, allowing for early aborts of stream transfers.
+ *
+ * The callback routine should be created according to the information in \ref Group_StreamCallbacks.
+ * If the token NO_STREAM_CALLBACKS is passed via the -D option to the compiler, stream callbacks are
+ * disabled and this function has the Callback parameter omitted.
+ *
+ * \note This routine should not be used on CONTROL type endpoints.
+ *
+ * \param[out] Buffer Pointer to the destination data buffer to write to.
+ * \param[in] Length Number of bytes to send via the currently selected endpoint.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Read_Stream_LE(void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** EEPROM buffer source version of \ref Endpoint_Read_Stream_LE().
+ *
+ * \param[out] Buffer Pointer to the destination data buffer to write to, located in EEPROM memory space.
+ * \param[in] Length Number of bytes to send via the currently selected endpoint.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Read_EStream_LE(void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Reads the given number of bytes from the endpoint from the given buffer in big endian,
+ * discarding fully read packets from the host as needed. The last packet is not automatically
+ * discarded once the remaining bytes has been read; the user is responsible for manually
+ * discarding the last packet from the host via the \ref Endpoint_ClearOUT() macro. Between
+ * each USB packet, the given stream callback function is executed repeatedly until the endpoint
+ * is ready to accept the next packet, allowing for early aborts of stream transfers.
+ *
+ * The callback routine should be created according to the information in \ref Group_StreamCallbacks.
+ * If the token NO_STREAM_CALLBACKS is passed via the -D option to the compiler, stream callbacks are
+ * disabled and this function has the Callback parameter omitted.
+ *
+ * \note This routine should not be used on CONTROL type endpoints.
+ *
+ * \param[out] Buffer Pointer to the destination data buffer to write to.
+ * \param[in] Length Number of bytes to send via the currently selected endpoint.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Read_Stream_BE(void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** EEPROM buffer source version of \ref Endpoint_Read_Stream_BE().
+ *
+ * \param[out] Buffer Pointer to the destination data buffer to write to, located in EEPROM memory space.
+ * \param[in] Length Number of bytes to send via the currently selected endpoint.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Read_EStream_BE(void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Writes the given number of bytes to the CONTROL type endpoint from the given buffer in little endian,
+ * sending full packets to the host as needed. The host OUT acknowledgement is not automatically cleared
+ * in both failure and success states; the user is responsible for manually clearing the setup OUT to
+ * finalize the transfer via the \ref Endpoint_ClearOUT() macro.
+ *
+ * \note This function automatically clears the control transfer's status stage. Do not manually attempt
+ * to clear the status stage when using this routine in a control transaction.
+ * \n\n
+ *
+ * \note This routine should only be used on CONTROL type endpoints.
+ *
+ * \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained
+ * together; i.e. the entire stream data must be read or written at the one time.
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected endpoint into the buffer.
+ *
+ * \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Write_Control_Stream_LE(const void* Buffer,
+ uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** EEPROM buffer source version of Endpoint_Write_Control_Stream_LE.
+ *
+ * \note This function automatically clears the control transfer's status stage. Do not manually attempt
+ * to clear the status stage when using this routine in a control transaction.
+ * \n\n
+ *
+ * \note This routine should only be used on CONTROL type endpoints.
+ *
+ * \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained
+ * together; i.e. the entire stream data must be read or written at the one time.
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected endpoint into the buffer.
+ *
+ * \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Write_Control_EStream_LE(const void* Buffer,
+ uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** FLASH buffer source version of \ref Endpoint_Write_Control_Stream_LE().
+ *
+ * \pre The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
+ *
+ * \note This function automatically clears the control transfer's status stage. Do not manually attempt
+ * to clear the status stage when using this routine in a control transaction.
+ * \n\n
+ *
+ * \note This routine should only be used on CONTROL type endpoints.
+ *
+ * \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained
+ * together; i.e. the entire stream data must be read or written at the one time.
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected endpoint into the buffer.
+ *
+ * \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Write_Control_PStream_LE(const void* Buffer,
+ uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Writes the given number of bytes to the CONTROL type endpoint from the given buffer in big endian,
+ * sending full packets to the host as needed. The host OUT acknowledgement is not automatically cleared
+ * in both failure and success states; the user is responsible for manually clearing the setup OUT to
+ * finalize the transfer via the \ref Endpoint_ClearOUT() macro.
+ *
+ * \note This function automatically clears the control transfer's status stage. Do not manually attempt
+ * to clear the status stage when using this routine in a control transaction.
+ * \n\n
+ *
+ * \note This routine should only be used on CONTROL type endpoints.
+ *
+ * \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained
+ * together; i.e. the entire stream data must be read or written at the one time.
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected endpoint into the buffer.
+ *
+ * \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Write_Control_Stream_BE(const void* Buffer,
+ uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** EEPROM buffer source version of \ref Endpoint_Write_Control_Stream_BE().
+ *
+ * \note This function automatically clears the control transfer's status stage. Do not manually attempt
+ * to clear the status stage when using this routine in a control transaction.
+ * \n\n
+ *
+ * \note This routine should only be used on CONTROL type endpoints.
+ *
+ * \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained
+ * together; i.e. the entire stream data must be read or written at the one time.
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected endpoint into the buffer.
+ *
+ * \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Write_Control_EStream_BE(const void* Buffer,
+ uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** FLASH buffer source version of \ref Endpoint_Write_Control_Stream_BE().
+ *
+ * \pre The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
+ *
+ * \note This function automatically clears the control transfer's status stage. Do not manually attempt
+ * to clear the status stage when using this routine in a control transaction.
+ * \n\n
+ *
+ * \note This routine should only be used on CONTROL type endpoints.
+ *
+ * \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained
+ * together; i.e. the entire stream data must be read or written at the one time.
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected endpoint into the buffer.
+ *
+ * \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Write_Control_PStream_BE(const void* Buffer,
+ uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Reads the given number of bytes from the CONTROL endpoint from the given buffer in little endian,
+ * discarding fully read packets from the host as needed. The device IN acknowledgement is not
+ * automatically sent after success or failure states; the user is responsible for manually sending the
+ * setup IN to finalize the transfer via the \ref Endpoint_ClearIN() macro.
+ *
+ * \note This function automatically clears the control transfer's status stage. Do not manually attempt
+ * to clear the status stage when using this routine in a control transaction.
+ * \n\n
+ *
+ * \note This routine should only be used on CONTROL type endpoints.
+ *
+ * \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained
+ * together; i.e. the entire stream data must be read or written at the one time.
+ *
+ * \param[out] Buffer Pointer to the destination data buffer to write to.
+ * \param[in] Length Number of bytes to send via the currently selected endpoint.
+ *
+ * \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Read_Control_Stream_LE(void* Buffer,
+ uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** EEPROM buffer source version of \ref Endpoint_Read_Control_Stream_LE().
+ *
+ * \note This function automatically clears the control transfer's status stage. Do not manually attempt
+ * to clear the status stage when using this routine in a control transaction.
+ * \n\n
+ *
+ * \note This routine should only be used on CONTROL type endpoints.
+ *
+ * \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained
+ * together; i.e. the entire stream data must be read or written at the one time.
+ *
+ * \param[out] Buffer Pointer to the destination data buffer to write to.
+ * \param[in] Length Number of bytes to send via the currently selected endpoint.
+ *
+ * \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Read_Control_EStream_LE(void* Buffer,
+ uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Reads the given number of bytes from the CONTROL endpoint from the given buffer in big endian,
+ * discarding fully read packets from the host as needed. The device IN acknowledgement is not
+ * automatically sent after success or failure states; the user is responsible for manually sending the
+ * setup IN to finalize the transfer via the \ref Endpoint_ClearIN() macro.
+ *
+ * \note This function automatically clears the control transfer's status stage. Do not manually attempt
+ * to clear the status stage when using this routine in a control transaction.
+ * \n\n
+ *
+ * \note This routine should only be used on CONTROL type endpoints.
+ *
+ * \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained
+ * together; i.e. the entire stream data must be read or written at the one time.
+ *
+ * \param[out] Buffer Pointer to the destination data buffer to write to.
+ * \param[in] Length Number of bytes to send via the currently selected endpoint.
+ *
+ * \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Read_Control_Stream_BE(void* Buffer,
+ uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** EEPROM buffer source version of \ref Endpoint_Read_Control_Stream_BE().
+ *
+ * \note This function automatically clears the control transfer's status stage. Do not manually attempt
+ * to clear the status stage when using this routine in a control transaction.
+ * \n\n
+ *
+ * \note This routine should only be used on CONTROL type endpoints.
+ *
+ * \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained
+ * together; i.e. the entire stream data must be read or written at the one time.
+ *
+ * \param[out] Buffer Pointer to the destination data buffer to write to.
+ * \param[in] Length Number of bytes to send via the currently selected endpoint.
+ *
+ * \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_Read_Control_EStream_BE(void* Buffer,
+ uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.lst b/firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.lst
new file mode 100644
index 0000000..47a008f
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.lst
@@ -0,0 +1,3174 @@
+ 1 .file "EndpointStream.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.Endpoint_Write_Control_Stream_LE,"ax",@progbits
+ 17 .global Endpoint_Write_Control_Stream_LE
+ 19 Endpoint_Write_Control_Stream_LE:
+ 20 .LFB79:
+ 21 .LSM0:
+ 22 .LVL0:
+ 23 /* prologue: function */
+ 24 /* frame size = 0 */
+ 25 0000 9C01 movw r18,r24
+ 26 .LVL1:
+ 27 .LSM1:
+ 28 0002 4091 0000 lds r20,USB_ControlRequest+6
+ 29 0006 5091 0000 lds r21,(USB_ControlRequest+6)+1
+ 30 .LVL2:
+ 31 000a 4617 cp r20,r22
+ 32 000c 5707 cpc r21,r23
+ 33 000e 00F4 brsh .L2
+ 34 .L5:
+ 35 .LSM2:
+ 36 0010 F901 movw r30,r18
+ 37 .LVL3:
+ 38 0012 90E0 ldi r25,lo8(0)
+ 39 .LVL4:
+ 40 0014 00C0 rjmp .L21
+ 41 .LVL5:
+ 42 .L2:
+ 43 .LSM3:
+ 44 0016 6115 cp r22,__zero_reg__
+ 45 0018 7105 cpc r23,__zero_reg__
+ 46 001a 01F0 breq .L4
+ 47 .LVL6:
+ 48 001c AB01 movw r20,r22
+ 49 001e 00C0 rjmp .L5
+ 50 .L4:
+ 51 .LBB250:
+ 52 .LBB251:
+ 53 .LSM4:
+ 54 0020 8091 E800 lds r24,232
+ 55 0024 8E77 andi r24,lo8(126)
+ 56 0026 8093 E800 sts 232,r24
+ 57 002a 40E0 ldi r20,lo8(0)
+ 58 002c 50E0 ldi r21,hi8(0)
+ 59 .LVL7:
+ 60 002e 00C0 rjmp .L5
+ 61 .LVL8:
+ 62 .L15:
+ 63 .LBE251:
+ 64 .LBE250:
+ 65 .LBB252:
+ 66 .LSM5:
+ 67 0030 8091 0000 lds r24,USB_DeviceState
+ 68 .LVL9:
+ 69 .LSM6:
+ 70 0034 8823 tst r24
+ 71 0036 01F0 breq .L6
+ 72 .LSM7:
+ 73 0038 8530 cpi r24,lo8(5)
+ 74 003a 01F0 breq .L7
+ 75 .LBB253:
+ 76 .LBB254:
+ 77 .LSM8:
+ 78 003c 8091 E800 lds r24,232
+ 79 .LVL10:
+ 80 .LBE254:
+ 81 .LBE253:
+ 82 .LSM9:
+ 83 0040 83FF sbrs r24,3
+ 84 0042 00C0 rjmp .L8
+ 85 0044 81E0 ldi r24,lo8(1)
+ 86 0046 0895 ret
+ 87 .L8:
+ 88 .LBB255:
+ 89 .LBB256:
+ 90 .LSM10:
+ 91 0048 8091 E800 lds r24,232
+ 92 .LBE256:
+ 93 .LBE255:
+ 94 .LSM11:
+ 95 004c 82FD sbrc r24,2
+ 96 004e 00C0 rjmp .L19
+ 97 .LBB257:
+ 98 .LBB258:
+ 99 .LSM12:
+ 100 0050 8091 E800 lds r24,232
+ 101 .LBE258:
+ 102 .LBE257:
+ 103 .LSM13:
+ 104 0054 80FF sbrs r24,0
+ 105 0056 00C0 rjmp .L21
+ 106 .LBB259:
+ 107 .LBB260:
+ 108 .LBB261:
+ 109 .LSM14:
+ 110 0058 8091 F200 lds r24,242
+ 111 005c 282F mov r18,r24
+ 112 005e 30E0 ldi r19,lo8(0)
+ 113 0060 00C0 rjmp .L11
+ 114 .L13:
+ 115 .LBE261:
+ 116 .LBE260:
+ 117 .LSM15:
+ 118 0062 8191 ld r24,Z+
+ 119 .LBB262:
+ 120 .LBB263:
+ 121 .LSM16:
+ 122 0064 8093 F100 sts 241,r24
+ 123 .LBE263:
+ 124 .LBE262:
+ 125 .LSM17:
+ 126 0068 4150 subi r20,lo8(-(-1))
+ 127 006a 5040 sbci r21,hi8(-(-1))
+ 128 .LSM18:
+ 129 006c 2F5F subi r18,lo8(-(1))
+ 130 006e 3F4F sbci r19,hi8(-(1))
+ 131 .LVL11:
+ 132 .L11:
+ 133 .LSM19:
+ 134 0070 4115 cp r20,__zero_reg__
+ 135 0072 5105 cpc r21,__zero_reg__
+ 136 0074 01F0 breq .L12
+ 137 0076 2830 cpi r18,8
+ 138 0078 3105 cpc r19,__zero_reg__
+ 139 007a 00F0 brlo .L13
+ 140 .L12:
+ 141 .LSM20:
+ 142 007c 90E0 ldi r25,lo8(0)
+ 143 007e 2830 cpi r18,8
+ 144 0080 3105 cpc r19,__zero_reg__
+ 145 0082 01F4 brne .L14
+ 146 0084 91E0 ldi r25,lo8(1)
+ 147 .L14:
+ 148 .LBB264:
+ 149 .LBB265:
+ 150 .LSM21:
+ 151 0086 8091 E800 lds r24,232
+ 152 008a 8E77 andi r24,lo8(126)
+ 153 008c 8093 E800 sts 232,r24
+ 154 .LVL12:
+ 155 .L21:
+ 156 .LBE265:
+ 157 .LBE264:
+ 158 .LBE259:
+ 159 .LBE252:
+ 160 .LSM22:
+ 161 0090 4115 cp r20,__zero_reg__
+ 162 0092 5105 cpc r21,__zero_reg__
+ 163 0094 01F4 brne .L15
+ 164 0096 9923 tst r25
+ 165 0098 01F4 brne .L15
+ 166 009a 00C0 rjmp .L19
+ 167 .L16:
+ 168 .LBB266:
+ 169 .LSM23:
+ 170 009c 8091 0000 lds r24,USB_DeviceState
+ 171 .LVL13:
+ 172 .LSM24:
+ 173 00a0 8823 tst r24
+ 174 00a2 01F0 breq .L6
+ 175 .LSM25:
+ 176 00a4 8530 cpi r24,lo8(5)
+ 177 00a6 01F0 breq .L7
+ 178 .L19:
+ 179 .LBE266:
+ 180 .LBB267:
+ 181 .LBB268:
+ 182 .LSM26:
+ 183 00a8 8091 E800 lds r24,232
+ 184 .LVL14:
+ 185 .LBE268:
+ 186 .LBE267:
+ 187 .LSM27:
+ 188 00ac 82FF sbrs r24,2
+ 189 00ae 00C0 rjmp .L16
+ 190 00b0 80E0 ldi r24,lo8(0)
+ 191 00b2 0895 ret
+ 192 .LVL15:
+ 193 .L6:
+ 194 00b4 82E0 ldi r24,lo8(2)
+ 195 .LVL16:
+ 196 00b6 0895 ret
+ 197 .LVL17:
+ 198 .L7:
+ 199 00b8 83E0 ldi r24,lo8(3)
+ 200 .LVL18:
+ 201 .LSM28:
+ 202 00ba 0895 ret
+ 203 .LFE79:
+ 205 .section .text.Endpoint_Write_Control_PStream_LE,"ax",@progbits
+ 206 .global Endpoint_Write_Control_PStream_LE
+ 208 Endpoint_Write_Control_PStream_LE:
+ 209 .LFB80:
+ 210 .LSM29:
+ 211 .LVL19:
+ 212 /* prologue: function */
+ 213 /* frame size = 0 */
+ 214 0000 9C01 movw r18,r24
+ 215 .LVL20:
+ 216 .LSM30:
+ 217 0002 4091 0000 lds r20,USB_ControlRequest+6
+ 218 0006 5091 0000 lds r21,(USB_ControlRequest+6)+1
+ 219 .LVL21:
+ 220 000a 4617 cp r20,r22
+ 221 000c 5707 cpc r21,r23
+ 222 000e 00F4 brsh .L23
+ 223 .L26:
+ 224 .LSM31:
+ 225 0010 60E0 ldi r22,lo8(0)
+ 226 .LVL22:
+ 227 0012 00C0 rjmp .L42
+ 228 .LVL23:
+ 229 .L23:
+ 230 .LSM32:
+ 231 0014 6115 cp r22,__zero_reg__
+ 232 0016 7105 cpc r23,__zero_reg__
+ 233 0018 01F0 breq .L25
+ 234 .LVL24:
+ 235 001a AB01 movw r20,r22
+ 236 001c 00C0 rjmp .L26
+ 237 .L25:
+ 238 .LBB269:
+ 239 .LBB270:
+ 240 .LSM33:
+ 241 001e 8091 E800 lds r24,232
+ 242 0022 8E77 andi r24,lo8(126)
+ 243 0024 8093 E800 sts 232,r24
+ 244 0028 40E0 ldi r20,lo8(0)
+ 245 002a 50E0 ldi r21,hi8(0)
+ 246 .LVL25:
+ 247 002c 00C0 rjmp .L26
+ 248 .LVL26:
+ 249 .L36:
+ 250 .LBE270:
+ 251 .LBE269:
+ 252 .LBB271:
+ 253 .LSM34:
+ 254 002e 8091 0000 lds r24,USB_DeviceState
+ 255 .LVL27:
+ 256 .LSM35:
+ 257 0032 8823 tst r24
+ 258 0034 01F4 brne .+2
+ 259 0036 00C0 rjmp .L27
+ 260 .LSM36:
+ 261 0038 8530 cpi r24,lo8(5)
+ 262 003a 01F4 brne .+2
+ 263 003c 00C0 rjmp .L28
+ 264 .LBB272:
+ 265 .LBB273:
+ 266 .LSM37:
+ 267 003e 8091 E800 lds r24,232
+ 268 .LVL28:
+ 269 .LBE273:
+ 270 .LBE272:
+ 271 .LSM38:
+ 272 0042 83FF sbrs r24,3
+ 273 0044 00C0 rjmp .L29
+ 274 0046 81E0 ldi r24,lo8(1)
+ 275 0048 0895 ret
+ 276 .L29:
+ 277 .LBB274:
+ 278 .LBB275:
+ 279 .LSM39:
+ 280 004a 8091 E800 lds r24,232
+ 281 .LBE275:
+ 282 .LBE274:
+ 283 .LSM40:
+ 284 004e 82FD sbrc r24,2
+ 285 0050 00C0 rjmp .L40
+ 286 .LBB276:
+ 287 .LBB277:
+ 288 .LSM41:
+ 289 0052 8091 E800 lds r24,232
+ 290 .LBE277:
+ 291 .LBE276:
+ 292 .LSM42:
+ 293 0056 80FF sbrs r24,0
+ 294 0058 00C0 rjmp .L42
+ 295 .LBB278:
+ 296 .LBB279:
+ 297 .LBB280:
+ 298 .LSM43:
+ 299 005a 8091 F200 lds r24,242
+ 300 005e 90E0 ldi r25,lo8(0)
+ 301 0060 00C0 rjmp .L32
+ 302 .LVL29:
+ 303 .L34:
+ 304 .LSM44:
+ 305 0062 F901 movw r30,r18
+ 306 .LVL30:
+ 307 .LBE280:
+ 308 .LBE279:
+ 309 .LBB281:
+ 310 .LSM45:
+ 311 0064 2F5F subi r18,lo8(-(1))
+ 312 0066 3F4F sbci r19,hi8(-(1))
+ 313 /* #APP */
+ 314 ; 31 "LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_W.c" 1
+ 315 0068 E491 lpm r30, Z
+ 316
+ 317 ; 0 "" 2
+ 318 .LVL31:
+ 319 /* #NOAPP */
+ 320 .LBE281:
+ 321 .LBB282:
+ 322 .LBB283:
+ 323 .LSM46:
+ 324 006a E093 F100 sts 241,r30
+ 325 .LBE283:
+ 326 .LBE282:
+ 327 .LSM47:
+ 328 006e 4150 subi r20,lo8(-(-1))
+ 329 0070 5040 sbci r21,hi8(-(-1))
+ 330 .LSM48:
+ 331 0072 0196 adiw r24,1
+ 332 .L32:
+ 333 .LSM49:
+ 334 0074 4115 cp r20,__zero_reg__
+ 335 0076 5105 cpc r21,__zero_reg__
+ 336 0078 01F0 breq .L33
+ 337 007a 8830 cpi r24,8
+ 338 007c 9105 cpc r25,__zero_reg__
+ 339 007e 00F0 brlo .L34
+ 340 .L33:
+ 341 .LSM50:
+ 342 0080 60E0 ldi r22,lo8(0)
+ 343 0082 0897 sbiw r24,8
+ 344 0084 01F4 brne .L35
+ 345 0086 61E0 ldi r22,lo8(1)
+ 346 .L35:
+ 347 .LBB284:
+ 348 .LBB285:
+ 349 .LSM51:
+ 350 0088 8091 E800 lds r24,232
+ 351 .LVL32:
+ 352 008c 8E77 andi r24,lo8(126)
+ 353 008e 8093 E800 sts 232,r24
+ 354 .L42:
+ 355 .LBE285:
+ 356 .LBE284:
+ 357 .LBE278:
+ 358 .LBE271:
+ 359 .LSM52:
+ 360 0092 4115 cp r20,__zero_reg__
+ 361 0094 5105 cpc r21,__zero_reg__
+ 362 0096 01F4 brne .L36
+ 363 0098 6623 tst r22
+ 364 009a 01F4 brne .L36
+ 365 009c 00C0 rjmp .L40
+ 366 .L37:
+ 367 .LBB286:
+ 368 .LSM53:
+ 369 009e 8091 0000 lds r24,USB_DeviceState
+ 370 .LVL33:
+ 371 .LSM54:
+ 372 00a2 8823 tst r24
+ 373 00a4 01F0 breq .L27
+ 374 .LSM55:
+ 375 00a6 8530 cpi r24,lo8(5)
+ 376 00a8 01F0 breq .L28
+ 377 .L40:
+ 378 .LBE286:
+ 379 .LBB287:
+ 380 .LBB288:
+ 381 .LSM56:
+ 382 00aa 8091 E800 lds r24,232
+ 383 .LVL34:
+ 384 .LBE288:
+ 385 .LBE287:
+ 386 .LSM57:
+ 387 00ae 82FF sbrs r24,2
+ 388 00b0 00C0 rjmp .L37
+ 389 00b2 80E0 ldi r24,lo8(0)
+ 390 00b4 0895 ret
+ 391 .LVL35:
+ 392 .L27:
+ 393 00b6 82E0 ldi r24,lo8(2)
+ 394 .LVL36:
+ 395 00b8 0895 ret
+ 396 .LVL37:
+ 397 .L28:
+ 398 00ba 83E0 ldi r24,lo8(3)
+ 399 .LVL38:
+ 400 .LSM58:
+ 401 00bc 0895 ret
+ 402 .LFE80:
+ 404 .section .text.Endpoint_Write_Control_Stream_BE,"ax",@progbits
+ 405 .global Endpoint_Write_Control_Stream_BE
+ 407 Endpoint_Write_Control_Stream_BE:
+ 408 .LFB82:
+ 409 .LSM59:
+ 410 .LVL39:
+ 411 /* prologue: function */
+ 412 /* frame size = 0 */
+ 413 0000 9C01 movw r18,r24
+ 414 .LSM60:
+ 415 0002 4091 0000 lds r20,USB_ControlRequest+6
+ 416 0006 5091 0000 lds r21,(USB_ControlRequest+6)+1
+ 417 .LVL40:
+ 418 000a 4617 cp r20,r22
+ 419 000c 5707 cpc r21,r23
+ 420 000e 00F4 brsh .L44
+ 421 .LVL41:
+ 422 .L47:
+ 423 .LSM61:
+ 424 0010 FB01 movw r30,r22
+ 425 .LVL42:
+ 426 0012 3197 sbiw r30,1
+ 427 0014 E20F add r30,r18
+ 428 0016 F31F adc r31,r19
+ 429 0018 90E0 ldi r25,lo8(0)
+ 430 .LVL43:
+ 431 001a 00C0 rjmp .L63
+ 432 .LVL44:
+ 433 .L44:
+ 434 .LSM62:
+ 435 001c 6115 cp r22,__zero_reg__
+ 436 001e 7105 cpc r23,__zero_reg__
+ 437 0020 01F0 breq .L46
+ 438 .LVL45:
+ 439 0022 AB01 movw r20,r22
+ 440 0024 00C0 rjmp .L47
+ 441 .L46:
+ 442 .LBB289:
+ 443 .LBB290:
+ 444 .LSM63:
+ 445 0026 8091 E800 lds r24,232
+ 446 002a 8E77 andi r24,lo8(126)
+ 447 002c 8093 E800 sts 232,r24
+ 448 0030 40E0 ldi r20,lo8(0)
+ 449 0032 50E0 ldi r21,hi8(0)
+ 450 .LVL46:
+ 451 0034 00C0 rjmp .L47
+ 452 .LVL47:
+ 453 .L57:
+ 454 .LBE290:
+ 455 .LBE289:
+ 456 .LBB291:
+ 457 .LSM64:
+ 458 0036 8091 0000 lds r24,USB_DeviceState
+ 459 .LVL48:
+ 460 .LSM65:
+ 461 003a 8823 tst r24
+ 462 003c 01F4 brne .+2
+ 463 003e 00C0 rjmp .L48
+ 464 .LSM66:
+ 465 0040 8530 cpi r24,lo8(5)
+ 466 0042 01F4 brne .+2
+ 467 0044 00C0 rjmp .L49
+ 468 .LBB292:
+ 469 .LBB293:
+ 470 .LSM67:
+ 471 0046 8091 E800 lds r24,232
+ 472 .LVL49:
+ 473 .LBE293:
+ 474 .LBE292:
+ 475 .LSM68:
+ 476 004a 83FF sbrs r24,3
+ 477 004c 00C0 rjmp .L50
+ 478 004e 81E0 ldi r24,lo8(1)
+ 479 0050 0895 ret
+ 480 .L50:
+ 481 .LBB294:
+ 482 .LBB295:
+ 483 .LSM69:
+ 484 0052 8091 E800 lds r24,232
+ 485 .LBE295:
+ 486 .LBE294:
+ 487 .LSM70:
+ 488 0056 82FD sbrc r24,2
+ 489 0058 00C0 rjmp .L61
+ 490 .LBB296:
+ 491 .LBB297:
+ 492 .LSM71:
+ 493 005a 8091 E800 lds r24,232
+ 494 .LBE297:
+ 495 .LBE296:
+ 496 .LSM72:
+ 497 005e 80FF sbrs r24,0
+ 498 0060 00C0 rjmp .L63
+ 499 .LBB298:
+ 500 .LBB299:
+ 501 .LBB300:
+ 502 .LSM73:
+ 503 0062 8091 F200 lds r24,242
+ 504 0066 282F mov r18,r24
+ 505 .LVL50:
+ 506 0068 30E0 ldi r19,lo8(0)
+ 507 006a 00C0 rjmp .L53
+ 508 .L55:
+ 509 .LBE300:
+ 510 .LBE299:
+ 511 .LSM74:
+ 512 006c 8081 ld r24,Z
+ 513 006e 3197 sbiw r30,1
+ 514 .LBB301:
+ 515 .LBB302:
+ 516 .LSM75:
+ 517 0070 8093 F100 sts 241,r24
+ 518 .LBE302:
+ 519 .LBE301:
+ 520 .LSM76:
+ 521 0074 4150 subi r20,lo8(-(-1))
+ 522 0076 5040 sbci r21,hi8(-(-1))
+ 523 .LSM77:
+ 524 0078 2F5F subi r18,lo8(-(1))
+ 525 007a 3F4F sbci r19,hi8(-(1))
+ 526 .LVL51:
+ 527 .L53:
+ 528 .LSM78:
+ 529 007c 4115 cp r20,__zero_reg__
+ 530 007e 5105 cpc r21,__zero_reg__
+ 531 0080 01F0 breq .L54
+ 532 0082 2830 cpi r18,8
+ 533 0084 3105 cpc r19,__zero_reg__
+ 534 0086 00F0 brlo .L55
+ 535 .L54:
+ 536 .LSM79:
+ 537 0088 90E0 ldi r25,lo8(0)
+ 538 008a 2830 cpi r18,8
+ 539 008c 3105 cpc r19,__zero_reg__
+ 540 008e 01F4 brne .L56
+ 541 0090 91E0 ldi r25,lo8(1)
+ 542 .L56:
+ 543 .LBB303:
+ 544 .LBB304:
+ 545 .LSM80:
+ 546 0092 8091 E800 lds r24,232
+ 547 0096 8E77 andi r24,lo8(126)
+ 548 0098 8093 E800 sts 232,r24
+ 549 .LVL52:
+ 550 .L63:
+ 551 .LBE304:
+ 552 .LBE303:
+ 553 .LBE298:
+ 554 .LBE291:
+ 555 .LSM81:
+ 556 009c 4115 cp r20,__zero_reg__
+ 557 009e 5105 cpc r21,__zero_reg__
+ 558 00a0 01F4 brne .L57
+ 559 00a2 9923 tst r25
+ 560 00a4 01F4 brne .L57
+ 561 00a6 00C0 rjmp .L61
+ 562 .LVL53:
+ 563 .L58:
+ 564 .LBB305:
+ 565 .LSM82:
+ 566 00a8 8091 0000 lds r24,USB_DeviceState
+ 567 .LVL54:
+ 568 .LSM83:
+ 569 00ac 8823 tst r24
+ 570 00ae 01F0 breq .L48
+ 571 .LSM84:
+ 572 00b0 8530 cpi r24,lo8(5)
+ 573 00b2 01F0 breq .L49
+ 574 .LVL55:
+ 575 .L61:
+ 576 .LBE305:
+ 577 .LBB306:
+ 578 .LBB307:
+ 579 .LSM85:
+ 580 00b4 8091 E800 lds r24,232
+ 581 .LVL56:
+ 582 .LBE307:
+ 583 .LBE306:
+ 584 .LSM86:
+ 585 00b8 82FF sbrs r24,2
+ 586 00ba 00C0 rjmp .L58
+ 587 00bc 80E0 ldi r24,lo8(0)
+ 588 00be 0895 ret
+ 589 .LVL57:
+ 590 .L48:
+ 591 00c0 82E0 ldi r24,lo8(2)
+ 592 .LVL58:
+ 593 00c2 0895 ret
+ 594 .LVL59:
+ 595 .L49:
+ 596 00c4 83E0 ldi r24,lo8(3)
+ 597 .LVL60:
+ 598 .LSM87:
+ 599 00c6 0895 ret
+ 600 .LFE82:
+ 602 .section .text.Endpoint_Write_Control_PStream_BE,"ax",@progbits
+ 603 .global Endpoint_Write_Control_PStream_BE
+ 605 Endpoint_Write_Control_PStream_BE:
+ 606 .LFB83:
+ 607 .LSM88:
+ 608 .LVL61:
+ 609 /* prologue: function */
+ 610 /* frame size = 0 */
+ 611 0000 AC01 movw r20,r24
+ 612 .LSM89:
+ 613 0002 2091 0000 lds r18,USB_ControlRequest+6
+ 614 0006 3091 0000 lds r19,(USB_ControlRequest+6)+1
+ 615 .LVL62:
+ 616 000a 2617 cp r18,r22
+ 617 000c 3707 cpc r19,r23
+ 618 000e 00F4 brsh .L65
+ 619 .LVL63:
+ 620 .L68:
+ 621 .LSM90:
+ 622 0010 6150 subi r22,lo8(-(-1))
+ 623 0012 7040 sbci r23,hi8(-(-1))
+ 624 .LVL64:
+ 625 0014 640F add r22,r20
+ 626 0016 751F adc r23,r21
+ 627 0018 40E0 ldi r20,lo8(0)
+ 628 .LVL65:
+ 629 001a 00C0 rjmp .L84
+ 630 .LVL66:
+ 631 .L65:
+ 632 .LSM91:
+ 633 001c 6115 cp r22,__zero_reg__
+ 634 001e 7105 cpc r23,__zero_reg__
+ 635 0020 01F0 breq .L67
+ 636 .LVL67:
+ 637 0022 9B01 movw r18,r22
+ 638 0024 00C0 rjmp .L68
+ 639 .L67:
+ 640 .LBB308:
+ 641 .LBB309:
+ 642 .LSM92:
+ 643 0026 8091 E800 lds r24,232
+ 644 002a 8E77 andi r24,lo8(126)
+ 645 002c 8093 E800 sts 232,r24
+ 646 0030 20E0 ldi r18,lo8(0)
+ 647 0032 30E0 ldi r19,hi8(0)
+ 648 .LVL68:
+ 649 0034 00C0 rjmp .L68
+ 650 .LVL69:
+ 651 .L78:
+ 652 .LBE309:
+ 653 .LBE308:
+ 654 .LBB310:
+ 655 .LSM93:
+ 656 0036 8091 0000 lds r24,USB_DeviceState
+ 657 .LVL70:
+ 658 .LSM94:
+ 659 003a 8823 tst r24
+ 660 003c 01F4 brne .+2
+ 661 003e 00C0 rjmp .L69
+ 662 .LSM95:
+ 663 0040 8530 cpi r24,lo8(5)
+ 664 0042 01F4 brne .+2
+ 665 0044 00C0 rjmp .L70
+ 666 .LBB311:
+ 667 .LBB312:
+ 668 .LSM96:
+ 669 0046 8091 E800 lds r24,232
+ 670 .LVL71:
+ 671 .LBE312:
+ 672 .LBE311:
+ 673 .LSM97:
+ 674 004a 83FF sbrs r24,3
+ 675 004c 00C0 rjmp .L71
+ 676 004e 81E0 ldi r24,lo8(1)
+ 677 0050 0895 ret
+ 678 .L71:
+ 679 .LBB313:
+ 680 .LBB314:
+ 681 .LSM98:
+ 682 0052 8091 E800 lds r24,232
+ 683 .LBE314:
+ 684 .LBE313:
+ 685 .LSM99:
+ 686 0056 82FD sbrc r24,2
+ 687 0058 00C0 rjmp .L82
+ 688 .LBB315:
+ 689 .LBB316:
+ 690 .LSM100:
+ 691 005a 8091 E800 lds r24,232
+ 692 .LBE316:
+ 693 .LBE315:
+ 694 .LSM101:
+ 695 005e 80FF sbrs r24,0
+ 696 0060 00C0 rjmp .L84
+ 697 .LBB317:
+ 698 .LBB318:
+ 699 .LBB319:
+ 700 .LSM102:
+ 701 0062 8091 F200 lds r24,242
+ 702 0066 90E0 ldi r25,lo8(0)
+ 703 0068 00C0 rjmp .L74
+ 704 .LVL72:
+ 705 .L76:
+ 706 .LSM103:
+ 707 006a FB01 movw r30,r22
+ 708 .LVL73:
+ 709 .LBE319:
+ 710 .LBE318:
+ 711 .LBB320:
+ 712 .LSM104:
+ 713 006c 6150 subi r22,lo8(-(-1))
+ 714 006e 7040 sbci r23,hi8(-(-1))
+ 715 /* #APP */
+ 716 ; 31 "LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_W.c" 1
+ 717 0070 E491 lpm r30, Z
+ 718
+ 719 ; 0 "" 2
+ 720 .LVL74:
+ 721 /* #NOAPP */
+ 722 .LBE320:
+ 723 .LBB321:
+ 724 .LBB322:
+ 725 .LSM105:
+ 726 0072 E093 F100 sts 241,r30
+ 727 .LBE322:
+ 728 .LBE321:
+ 729 .LSM106:
+ 730 0076 2150 subi r18,lo8(-(-1))
+ 731 0078 3040 sbci r19,hi8(-(-1))
+ 732 .LSM107:
+ 733 007a 0196 adiw r24,1
+ 734 .L74:
+ 735 .LSM108:
+ 736 007c 2115 cp r18,__zero_reg__
+ 737 007e 3105 cpc r19,__zero_reg__
+ 738 0080 01F0 breq .L75
+ 739 0082 8830 cpi r24,8
+ 740 0084 9105 cpc r25,__zero_reg__
+ 741 0086 00F0 brlo .L76
+ 742 .L75:
+ 743 .LSM109:
+ 744 0088 40E0 ldi r20,lo8(0)
+ 745 008a 0897 sbiw r24,8
+ 746 008c 01F4 brne .L77
+ 747 008e 41E0 ldi r20,lo8(1)
+ 748 .L77:
+ 749 .LBB323:
+ 750 .LBB324:
+ 751 .LSM110:
+ 752 0090 8091 E800 lds r24,232
+ 753 .LVL75:
+ 754 0094 8E77 andi r24,lo8(126)
+ 755 0096 8093 E800 sts 232,r24
+ 756 .LVL76:
+ 757 .L84:
+ 758 .LBE324:
+ 759 .LBE323:
+ 760 .LBE317:
+ 761 .LBE310:
+ 762 .LSM111:
+ 763 009a 2115 cp r18,__zero_reg__
+ 764 009c 3105 cpc r19,__zero_reg__
+ 765 009e 01F4 brne .L78
+ 766 00a0 4423 tst r20
+ 767 00a2 01F4 brne .L78
+ 768 00a4 00C0 rjmp .L82
+ 769 .LVL77:
+ 770 .L79:
+ 771 .LBB325:
+ 772 .LSM112:
+ 773 00a6 8091 0000 lds r24,USB_DeviceState
+ 774 .LVL78:
+ 775 .LSM113:
+ 776 00aa 8823 tst r24
+ 777 00ac 01F0 breq .L69
+ 778 .LSM114:
+ 779 00ae 8530 cpi r24,lo8(5)
+ 780 00b0 01F0 breq .L70
+ 781 .LVL79:
+ 782 .L82:
+ 783 .LBE325:
+ 784 .LBB326:
+ 785 .LBB327:
+ 786 .LSM115:
+ 787 00b2 8091 E800 lds r24,232
+ 788 .LVL80:
+ 789 .LBE327:
+ 790 .LBE326:
+ 791 .LSM116:
+ 792 00b6 82FF sbrs r24,2
+ 793 00b8 00C0 rjmp .L79
+ 794 00ba 80E0 ldi r24,lo8(0)
+ 795 00bc 0895 ret
+ 796 .LVL81:
+ 797 .L69:
+ 798 00be 82E0 ldi r24,lo8(2)
+ 799 .LVL82:
+ 800 00c0 0895 ret
+ 801 .LVL83:
+ 802 .L70:
+ 803 00c2 83E0 ldi r24,lo8(3)
+ 804 .LVL84:
+ 805 .LSM117:
+ 806 00c4 0895 ret
+ 807 .LFE83:
+ 809 .section .text.Endpoint_Read_Control_Stream_LE,"ax",@progbits
+ 810 .global Endpoint_Read_Control_Stream_LE
+ 812 Endpoint_Read_Control_Stream_LE:
+ 813 .LFB85:
+ 814 .LSM118:
+ 815 .LVL85:
+ 816 /* prologue: function */
+ 817 /* frame size = 0 */
+ 818 0000 9C01 movw r18,r24
+ 819 .LVL86:
+ 820 .LSM119:
+ 821 0002 6115 cp r22,__zero_reg__
+ 822 0004 7105 cpc r23,__zero_reg__
+ 823 0006 01F4 brne .L86
+ 824 .LBB328:
+ 825 .LBB329:
+ 826 .LSM120:
+ 827 0008 8091 E800 lds r24,232
+ 828 000c 8B77 andi r24,lo8(123)
+ 829 000e 8093 E800 sts 232,r24
+ 830 .L86:
+ 831 .LBE329:
+ 832 .LBE328:
+ 833 .LSM121:
+ 834 0012 F901 movw r30,r18
+ 835 .LVL87:
+ 836 0014 00C0 rjmp .L87
+ 837 .LVL88:
+ 838 .L100:
+ 839 .LBB330:
+ 840 .LSM122:
+ 841 0016 8091 0000 lds r24,USB_DeviceState
+ 842 .LVL89:
+ 843 .LSM123:
+ 844 001a 8823 tst r24
+ 845 001c 01F0 breq .L88
+ 846 .LSM124:
+ 847 001e 8530 cpi r24,lo8(5)
+ 848 0020 01F0 breq .L89
+ 849 .LBB331:
+ 850 .LBB332:
+ 851 .LSM125:
+ 852 0022 8091 E800 lds r24,232
+ 853 .LVL90:
+ 854 .LBE332:
+ 855 .LBE331:
+ 856 .LSM126:
+ 857 0026 83FF sbrs r24,3
+ 858 0028 00C0 rjmp .L90
+ 859 002a 81E0 ldi r24,lo8(1)
+ 860 002c 0895 ret
+ 861 .L90:
+ 862 .LBB333:
+ 863 .LBB334:
+ 864 .LSM127:
+ 865 002e 8091 E800 lds r24,232
+ 866 .LBE334:
+ 867 .LBE333:
+ 868 .LSM128:
+ 869 0032 82FF sbrs r24,2
+ 870 0034 00C0 rjmp .L100
+ 871 0036 00C0 rjmp .L99
+ 872 .L95:
+ 873 .LBB335:
+ 874 .LBB336:
+ 875 .LSM129:
+ 876 0038 8091 F100 lds r24,241
+ 877 .LBE336:
+ 878 .LBE335:
+ 879 .LSM130:
+ 880 003c 8193 st Z+,r24
+ 881 .LSM131:
+ 882 003e 6150 subi r22,lo8(-(-1))
+ 883 0040 7040 sbci r23,hi8(-(-1))
+ 884 .LVL91:
+ 885 .LSM132:
+ 886 0042 01F0 breq .L94
+ 887 .L99:
+ 888 .LBB337:
+ 889 .LBB338:
+ 890 .LSM133:
+ 891 0044 8091 F200 lds r24,242
+ 892 .LBE338:
+ 893 .LBE337:
+ 894 .LSM134:
+ 895 0048 8823 tst r24
+ 896 004a 01F4 brne .L95
+ 897 .L94:
+ 898 .LBB339:
+ 899 .LBB340:
+ 900 .LSM135:
+ 901 004c 8091 E800 lds r24,232
+ 902 0050 8B77 andi r24,lo8(123)
+ 903 0052 8093 E800 sts 232,r24
+ 904 .L87:
+ 905 .LBE340:
+ 906 .LBE339:
+ 907 .LBE330:
+ 908 .LSM136:
+ 909 0056 6115 cp r22,__zero_reg__
+ 910 0058 7105 cpc r23,__zero_reg__
+ 911 005a 01F4 brne .L100
+ 912 005c 00C0 rjmp .L101
+ 913 .L97:
+ 914 .LBB341:
+ 915 .LSM137:
+ 916 005e 8091 0000 lds r24,USB_DeviceState
+ 917 .LVL92:
+ 918 .LSM138:
+ 919 0062 8823 tst r24
+ 920 0064 01F0 breq .L88
+ 921 .LSM139:
+ 922 0066 8530 cpi r24,lo8(5)
+ 923 0068 01F0 breq .L89
+ 924 .L101:
+ 925 .LBE341:
+ 926 .LBB342:
+ 927 .LBB343:
+ 928 .LSM140:
+ 929 006a 8091 E800 lds r24,232
+ 930 .LVL93:
+ 931 .LBE343:
+ 932 .LBE342:
+ 933 .LSM141:
+ 934 006e 80FF sbrs r24,0
+ 935 0070 00C0 rjmp .L97
+ 936 0072 80E0 ldi r24,lo8(0)
+ 937 0074 0895 ret
+ 938 .LVL94:
+ 939 .L88:
+ 940 0076 82E0 ldi r24,lo8(2)
+ 941 .LVL95:
+ 942 0078 0895 ret
+ 943 .LVL96:
+ 944 .L89:
+ 945 007a 83E0 ldi r24,lo8(3)
+ 946 .LVL97:
+ 947 .LSM142:
+ 948 007c 0895 ret
+ 949 .LFE85:
+ 951 .section .text.Endpoint_Read_Control_Stream_BE,"ax",@progbits
+ 952 .global Endpoint_Read_Control_Stream_BE
+ 954 Endpoint_Read_Control_Stream_BE:
+ 955 .LFB87:
+ 956 .LSM143:
+ 957 .LVL98:
+ 958 /* prologue: function */
+ 959 /* frame size = 0 */
+ 960 0000 AC01 movw r20,r24
+ 961 .LSM144:
+ 962 0002 6115 cp r22,__zero_reg__
+ 963 0004 7105 cpc r23,__zero_reg__
+ 964 0006 01F0 breq .L103
+ 965 .LVL99:
+ 966 0008 9B01 movw r18,r22
+ 967 000a 00C0 rjmp .L104
+ 968 .LVL100:
+ 969 .L103:
+ 970 .LBB344:
+ 971 .LBB345:
+ 972 .LSM145:
+ 973 000c 8091 E800 lds r24,232
+ 974 0010 8B77 andi r24,lo8(123)
+ 975 0012 8093 E800 sts 232,r24
+ 976 0016 20E0 ldi r18,lo8(0)
+ 977 0018 30E0 ldi r19,hi8(0)
+ 978 .LVL101:
+ 979 .L104:
+ 980 .LBE345:
+ 981 .LBE344:
+ 982 .LSM146:
+ 983 001a FB01 movw r30,r22
+ 984 .LVL102:
+ 985 001c 3197 sbiw r30,1
+ 986 001e E40F add r30,r20
+ 987 0020 F51F adc r31,r21
+ 988 0022 00C0 rjmp .L105
+ 989 .L118:
+ 990 .LBB346:
+ 991 .LSM147:
+ 992 0024 8091 0000 lds r24,USB_DeviceState
+ 993 .LVL103:
+ 994 .LSM148:
+ 995 0028 8823 tst r24
+ 996 002a 01F0 breq .L106
+ 997 .LSM149:
+ 998 002c 8530 cpi r24,lo8(5)
+ 999 002e 01F0 breq .L107
+ 1000 .LBB347:
+ 1001 .LBB348:
+ 1002 .LSM150:
+ 1003 0030 8091 E800 lds r24,232
+ 1004 .LVL104:
+ 1005 .LBE348:
+ 1006 .LBE347:
+ 1007 .LSM151:
+ 1008 0034 83FF sbrs r24,3
+ 1009 0036 00C0 rjmp .L108
+ 1010 0038 81E0 ldi r24,lo8(1)
+ 1011 003a 0895 ret
+ 1012 .L108:
+ 1013 .LBB349:
+ 1014 .LBB350:
+ 1015 .LSM152:
+ 1016 003c 8091 E800 lds r24,232
+ 1017 .LBE350:
+ 1018 .LBE349:
+ 1019 .LSM153:
+ 1020 0040 82FF sbrs r24,2
+ 1021 0042 00C0 rjmp .L118
+ 1022 0044 00C0 rjmp .L117
+ 1023 .L113:
+ 1024 .LBB351:
+ 1025 .LBB352:
+ 1026 .LSM154:
+ 1027 0046 8091 F100 lds r24,241
+ 1028 .LBE352:
+ 1029 .LBE351:
+ 1030 .LSM155:
+ 1031 004a 8083 st Z,r24
+ 1032 004c 3197 sbiw r30,1
+ 1033 .LSM156:
+ 1034 004e 2150 subi r18,lo8(-(-1))
+ 1035 0050 3040 sbci r19,hi8(-(-1))
+ 1036 .LSM157:
+ 1037 0052 01F0 breq .L112
+ 1038 .LVL105:
+ 1039 .L117:
+ 1040 .LBB353:
+ 1041 .LBB354:
+ 1042 .LSM158:
+ 1043 0054 8091 F200 lds r24,242
+ 1044 .LBE354:
+ 1045 .LBE353:
+ 1046 .LSM159:
+ 1047 0058 8823 tst r24
+ 1048 005a 01F4 brne .L113
+ 1049 .L112:
+ 1050 .LBB355:
+ 1051 .LBB356:
+ 1052 .LSM160:
+ 1053 005c 8091 E800 lds r24,232
+ 1054 0060 8B77 andi r24,lo8(123)
+ 1055 0062 8093 E800 sts 232,r24
+ 1056 .LVL106:
+ 1057 .L105:
+ 1058 .LBE356:
+ 1059 .LBE355:
+ 1060 .LBE346:
+ 1061 .LSM161:
+ 1062 0066 2115 cp r18,__zero_reg__
+ 1063 0068 3105 cpc r19,__zero_reg__
+ 1064 006a 01F4 brne .L118
+ 1065 006c 00C0 rjmp .L119
+ 1066 .LVL107:
+ 1067 .L115:
+ 1068 .LBB357:
+ 1069 .LSM162:
+ 1070 006e 8091 0000 lds r24,USB_DeviceState
+ 1071 .LVL108:
+ 1072 .LSM163:
+ 1073 0072 8823 tst r24
+ 1074 0074 01F0 breq .L106
+ 1075 .LSM164:
+ 1076 0076 8530 cpi r24,lo8(5)
+ 1077 0078 01F0 breq .L107
+ 1078 .LVL109:
+ 1079 .L119:
+ 1080 .LBE357:
+ 1081 .LBB358:
+ 1082 .LBB359:
+ 1083 .LSM165:
+ 1084 007a 8091 E800 lds r24,232
+ 1085 .LVL110:
+ 1086 .LBE359:
+ 1087 .LBE358:
+ 1088 .LSM166:
+ 1089 007e 80FF sbrs r24,0
+ 1090 0080 00C0 rjmp .L115
+ 1091 0082 80E0 ldi r24,lo8(0)
+ 1092 0084 0895 ret
+ 1093 .LVL111:
+ 1094 .L106:
+ 1095 0086 82E0 ldi r24,lo8(2)
+ 1096 .LVL112:
+ 1097 0088 0895 ret
+ 1098 .LVL113:
+ 1099 .L107:
+ 1100 008a 83E0 ldi r24,lo8(3)
+ 1101 .LVL114:
+ 1102 .LSM167:
+ 1103 008c 0895 ret
+ 1104 .LFE87:
+ 1106 .section .text.Endpoint_Read_Control_EStream_BE,"ax",@progbits
+ 1107 .global Endpoint_Read_Control_EStream_BE
+ 1109 Endpoint_Read_Control_EStream_BE:
+ 1110 .LFB88:
+ 1111 .LSM168:
+ 1112 .LVL115:
+ 1113 0000 0F93 push r16
+ 1114 0002 1F93 push r17
+ 1115 0004 CF93 push r28
+ 1116 0006 DF93 push r29
+ 1117 /* prologue: function */
+ 1118 /* frame size = 0 */
+ 1119 0008 AC01 movw r20,r24
+ 1120 .LSM169:
+ 1121 000a 6115 cp r22,__zero_reg__
+ 1122 000c 7105 cpc r23,__zero_reg__
+ 1123 000e 01F0 breq .L121
+ 1124 .LVL116:
+ 1125 0010 8B01 movw r16,r22
+ 1126 0012 00C0 rjmp .L122
+ 1127 .LVL117:
+ 1128 .L121:
+ 1129 .LBB360:
+ 1130 .LBB361:
+ 1131 .LSM170:
+ 1132 0014 8091 E800 lds r24,232
+ 1133 0018 8B77 andi r24,lo8(123)
+ 1134 001a 8093 E800 sts 232,r24
+ 1135 001e 00E0 ldi r16,lo8(0)
+ 1136 0020 10E0 ldi r17,hi8(0)
+ 1137 .LVL118:
+ 1138 .L122:
+ 1139 .LBE361:
+ 1140 .LBE360:
+ 1141 .LSM171:
+ 1142 0022 9B01 movw r18,r22
+ 1143 .LVL119:
+ 1144 0024 2150 subi r18,lo8(-(-1))
+ 1145 0026 3040 sbci r19,hi8(-(-1))
+ 1146 0028 240F add r18,r20
+ 1147 002a 351F adc r19,r21
+ 1148 002c 00C0 rjmp .L123
+ 1149 .LVL120:
+ 1150 .L136:
+ 1151 .LBB362:
+ 1152 .LSM172:
+ 1153 002e 8091 0000 lds r24,USB_DeviceState
+ 1154 .LVL121:
+ 1155 .LSM173:
+ 1156 0032 8823 tst r24
+ 1157 0034 01F0 breq .L124
+ 1158 .LSM174:
+ 1159 0036 8530 cpi r24,lo8(5)
+ 1160 0038 01F0 breq .L125
+ 1161 .LBB363:
+ 1162 .LBB364:
+ 1163 .LSM175:
+ 1164 003a 8091 E800 lds r24,232
+ 1165 .LVL122:
+ 1166 .LBE364:
+ 1167 .LBE363:
+ 1168 .LSM176:
+ 1169 003e 83FF sbrs r24,3
+ 1170 0040 00C0 rjmp .L126
+ 1171 0042 81E0 ldi r24,lo8(1)
+ 1172 0044 00C0 rjmp .L127
+ 1173 .L126:
+ 1174 .LBB365:
+ 1175 .LBB366:
+ 1176 .LSM177:
+ 1177 0046 8091 E800 lds r24,232
+ 1178 .LBE366:
+ 1179 .LBE365:
+ 1180 .LSM178:
+ 1181 004a 82FF sbrs r24,2
+ 1182 004c 00C0 rjmp .L136
+ 1183 004e 00C0 rjmp .L135
+ 1184 .L131:
+ 1185 .LSM179:
+ 1186 0050 E901 movw r28,r18
+ 1187 0052 2197 sbiw r28,1
+ 1188 .LVL123:
+ 1189 .LBB367:
+ 1190 .LBB368:
+ 1191 .LSM180:
+ 1192 0054 6091 F100 lds r22,241
+ 1193 .LBE368:
+ 1194 .LBE367:
+ 1195 .LSM181:
+ 1196 0058 C901 movw r24,r18
+ 1197 005a 0E94 0000 call __eeupd_byte_usb162
+ 1198 .LVL124:
+ 1199 .LSM182:
+ 1200 005e 0150 subi r16,lo8(-(-1))
+ 1201 0060 1040 sbci r17,hi8(-(-1))
+ 1202 .LSM183:
+ 1203 0062 01F0 breq .L130
+ 1204 0064 9E01 movw r18,r28
+ 1205 .LVL125:
+ 1206 .L135:
+ 1207 .LBB369:
+ 1208 .LBB370:
+ 1209 .LSM184:
+ 1210 0066 8091 F200 lds r24,242
+ 1211 .LBE370:
+ 1212 .LBE369:
+ 1213 .LSM185:
+ 1214 006a 8823 tst r24
+ 1215 006c 01F4 brne .L131
+ 1216 006e E901 movw r28,r18
+ 1217 .LVL126:
+ 1218 .L130:
+ 1219 .LBB371:
+ 1220 .LBB372:
+ 1221 .LSM186:
+ 1222 0070 8091 E800 lds r24,232
+ 1223 0074 8B77 andi r24,lo8(123)
+ 1224 0076 8093 E800 sts 232,r24
+ 1225 007a 9E01 movw r18,r28
+ 1226 .LVL127:
+ 1227 .L123:
+ 1228 .LBE372:
+ 1229 .LBE371:
+ 1230 .LBE362:
+ 1231 .LSM187:
+ 1232 007c 0115 cp r16,__zero_reg__
+ 1233 007e 1105 cpc r17,__zero_reg__
+ 1234 0080 01F4 brne .L136
+ 1235 0082 00C0 rjmp .L137
+ 1236 .LVL128:
+ 1237 .L133:
+ 1238 .LBB373:
+ 1239 .LSM188:
+ 1240 0084 8091 0000 lds r24,USB_DeviceState
+ 1241 .LVL129:
+ 1242 .LSM189:
+ 1243 0088 8823 tst r24
+ 1244 008a 01F0 breq .L124
+ 1245 .LSM190:
+ 1246 008c 8530 cpi r24,lo8(5)
+ 1247 008e 01F0 breq .L125
+ 1248 .LVL130:
+ 1249 .L137:
+ 1250 .LBE373:
+ 1251 .LBB374:
+ 1252 .LBB375:
+ 1253 .LSM191:
+ 1254 0090 8091 E800 lds r24,232
+ 1255 .LVL131:
+ 1256 .LBE375:
+ 1257 .LBE374:
+ 1258 .LSM192:
+ 1259 0094 80FF sbrs r24,0
+ 1260 0096 00C0 rjmp .L133
+ 1261 0098 80E0 ldi r24,lo8(0)
+ 1262 009a 00C0 rjmp .L127
+ 1263 .LVL132:
+ 1264 .L124:
+ 1265 009c 82E0 ldi r24,lo8(2)
+ 1266 .LVL133:
+ 1267 009e 00C0 rjmp .L127
+ 1268 .LVL134:
+ 1269 .L125:
+ 1270 00a0 83E0 ldi r24,lo8(3)
+ 1271 .LVL135:
+ 1272 .L127:
+ 1273 /* epilogue start */
+ 1274 .LSM193:
+ 1275 00a2 DF91 pop r29
+ 1276 00a4 CF91 pop r28
+ 1277 00a6 1F91 pop r17
+ 1278 00a8 0F91 pop r16
+ 1279 .LVL136:
+ 1280 00aa 0895 ret
+ 1281 .LFE88:
+ 1283 .section .text.Endpoint_Read_Control_EStream_LE,"ax",@progbits
+ 1284 .global Endpoint_Read_Control_EStream_LE
+ 1286 Endpoint_Read_Control_EStream_LE:
+ 1287 .LFB86:
+ 1288 .LSM194:
+ 1289 .LVL137:
+ 1290 0000 0F93 push r16
+ 1291 0002 1F93 push r17
+ 1292 0004 CF93 push r28
+ 1293 0006 DF93 push r29
+ 1294 /* prologue: function */
+ 1295 /* frame size = 0 */
+ 1296 0008 9C01 movw r18,r24
+ 1297 .LVL138:
+ 1298 000a 8B01 movw r16,r22
+ 1299 .LSM195:
+ 1300 000c 6115 cp r22,__zero_reg__
+ 1301 000e 7105 cpc r23,__zero_reg__
+ 1302 0010 01F4 brne .L140
+ 1303 .LBB376:
+ 1304 .LBB377:
+ 1305 .LSM196:
+ 1306 0012 8091 E800 lds r24,232
+ 1307 0016 8B77 andi r24,lo8(123)
+ 1308 0018 8093 E800 sts 232,r24
+ 1309 001c 00C0 rjmp .L140
+ 1310 .LVL139:
+ 1311 .L153:
+ 1312 .LBE377:
+ 1313 .LBE376:
+ 1314 .LBB378:
+ 1315 .LSM197:
+ 1316 001e 8091 0000 lds r24,USB_DeviceState
+ 1317 .LVL140:
+ 1318 .LSM198:
+ 1319 0022 8823 tst r24
+ 1320 0024 01F0 breq .L141
+ 1321 .LSM199:
+ 1322 0026 8530 cpi r24,lo8(5)
+ 1323 0028 01F0 breq .L142
+ 1324 .LBB379:
+ 1325 .LBB380:
+ 1326 .LSM200:
+ 1327 002a 8091 E800 lds r24,232
+ 1328 .LVL141:
+ 1329 .LBE380:
+ 1330 .LBE379:
+ 1331 .LSM201:
+ 1332 002e 83FF sbrs r24,3
+ 1333 0030 00C0 rjmp .L143
+ 1334 0032 81E0 ldi r24,lo8(1)
+ 1335 0034 00C0 rjmp .L144
+ 1336 .L143:
+ 1337 .LBB381:
+ 1338 .LBB382:
+ 1339 .LSM202:
+ 1340 0036 8091 E800 lds r24,232
+ 1341 .LBE382:
+ 1342 .LBE381:
+ 1343 .LSM203:
+ 1344 003a 82FF sbrs r24,2
+ 1345 003c 00C0 rjmp .L153
+ 1346 003e 00C0 rjmp .L152
+ 1347 .L148:
+ 1348 .LSM204:
+ 1349 0040 E901 movw r28,r18
+ 1350 0042 2196 adiw r28,1
+ 1351 .LVL142:
+ 1352 .LBB383:
+ 1353 .LBB384:
+ 1354 .LSM205:
+ 1355 0044 6091 F100 lds r22,241
+ 1356 .LBE384:
+ 1357 .LBE383:
+ 1358 .LSM206:
+ 1359 0048 C901 movw r24,r18
+ 1360 004a 0E94 0000 call __eeupd_byte_usb162
+ 1361 .LSM207:
+ 1362 004e 0150 subi r16,lo8(-(-1))
+ 1363 0050 1040 sbci r17,hi8(-(-1))
+ 1364 .LSM208:
+ 1365 0052 01F0 breq .L147
+ 1366 0054 9E01 movw r18,r28
+ 1367 .LVL143:
+ 1368 .L152:
+ 1369 .LBB385:
+ 1370 .LBB386:
+ 1371 .LSM209:
+ 1372 0056 8091 F200 lds r24,242
+ 1373 .LBE386:
+ 1374 .LBE385:
+ 1375 .LSM210:
+ 1376 005a 8823 tst r24
+ 1377 005c 01F4 brne .L148
+ 1378 005e E901 movw r28,r18
+ 1379 .LVL144:
+ 1380 .L147:
+ 1381 .LBB387:
+ 1382 .LBB388:
+ 1383 .LSM211:
+ 1384 0060 8091 E800 lds r24,232
+ 1385 0064 8B77 andi r24,lo8(123)
+ 1386 0066 8093 E800 sts 232,r24
+ 1387 006a 9E01 movw r18,r28
+ 1388 .LVL145:
+ 1389 .L140:
+ 1390 .LBE388:
+ 1391 .LBE387:
+ 1392 .LBE378:
+ 1393 .LSM212:
+ 1394 006c 0115 cp r16,__zero_reg__
+ 1395 006e 1105 cpc r17,__zero_reg__
+ 1396 0070 01F4 brne .L153
+ 1397 0072 00C0 rjmp .L154
+ 1398 .L150:
+ 1399 .LBB389:
+ 1400 .LSM213:
+ 1401 0074 8091 0000 lds r24,USB_DeviceState
+ 1402 .LVL146:
+ 1403 .LSM214:
+ 1404 0078 8823 tst r24
+ 1405 007a 01F0 breq .L141
+ 1406 .LSM215:
+ 1407 007c 8530 cpi r24,lo8(5)
+ 1408 007e 01F0 breq .L142
+ 1409 .L154:
+ 1410 .LBE389:
+ 1411 .LBB390:
+ 1412 .LBB391:
+ 1413 .LSM216:
+ 1414 0080 8091 E800 lds r24,232
+ 1415 .LVL147:
+ 1416 .LBE391:
+ 1417 .LBE390:
+ 1418 .LSM217:
+ 1419 0084 80FF sbrs r24,0
+ 1420 0086 00C0 rjmp .L150
+ 1421 0088 80E0 ldi r24,lo8(0)
+ 1422 008a 00C0 rjmp .L144
+ 1423 .LVL148:
+ 1424 .L141:
+ 1425 008c 82E0 ldi r24,lo8(2)
+ 1426 .LVL149:
+ 1427 008e 00C0 rjmp .L144
+ 1428 .LVL150:
+ 1429 .L142:
+ 1430 0090 83E0 ldi r24,lo8(3)
+ 1431 .LVL151:
+ 1432 .L144:
+ 1433 /* epilogue start */
+ 1434 .LSM218:
+ 1435 0092 DF91 pop r29
+ 1436 0094 CF91 pop r28
+ 1437 0096 1F91 pop r17
+ 1438 0098 0F91 pop r16
+ 1439 .LVL152:
+ 1440 009a 0895 ret
+ 1441 .LFE86:
+ 1443 .section .text.Endpoint_Write_Control_EStream_BE,"ax",@progbits
+ 1444 .global Endpoint_Write_Control_EStream_BE
+ 1446 Endpoint_Write_Control_EStream_BE:
+ 1447 .LFB84:
+ 1448 .LSM219:
+ 1449 .LVL153:
+ 1450 0000 EF92 push r14
+ 1451 0002 FF92 push r15
+ 1452 0004 0F93 push r16
+ 1453 0006 1F93 push r17
+ 1454 0008 CF93 push r28
+ 1455 000a DF93 push r29
+ 1456 /* prologue: function */
+ 1457 /* frame size = 0 */
+ 1458 000c 9C01 movw r18,r24
+ 1459 .LSM220:
+ 1460 000e E090 0000 lds r14,USB_ControlRequest+6
+ 1461 0012 F090 0000 lds r15,(USB_ControlRequest+6)+1
+ 1462 .LVL154:
+ 1463 0016 E616 cp r14,r22
+ 1464 0018 F706 cpc r15,r23
+ 1465 001a 00F4 brsh .L156
+ 1466 .LVL155:
+ 1467 .L159:
+ 1468 .LSM221:
+ 1469 001c 6150 subi r22,lo8(-(-1))
+ 1470 001e 7040 sbci r23,hi8(-(-1))
+ 1471 .LVL156:
+ 1472 0020 620F add r22,r18
+ 1473 0022 731F adc r23,r19
+ 1474 0024 90E0 ldi r25,lo8(0)
+ 1475 .LVL157:
+ 1476 0026 00C0 rjmp .L175
+ 1477 .LVL158:
+ 1478 .L156:
+ 1479 .LSM222:
+ 1480 0028 6115 cp r22,__zero_reg__
+ 1481 002a 7105 cpc r23,__zero_reg__
+ 1482 002c 01F0 breq .L158
+ 1483 .LVL159:
+ 1484 002e 7B01 movw r14,r22
+ 1485 0030 00C0 rjmp .L159
+ 1486 .L158:
+ 1487 .LBB392:
+ 1488 .LBB393:
+ 1489 .LSM223:
+ 1490 0032 8091 E800 lds r24,232
+ 1491 0036 8E77 andi r24,lo8(126)
+ 1492 0038 8093 E800 sts 232,r24
+ 1493 003c EE24 clr r14
+ 1494 003e FF24 clr r15
+ 1495 .LVL160:
+ 1496 0040 00C0 rjmp .L159
+ 1497 .LVL161:
+ 1498 .L169:
+ 1499 .LBE393:
+ 1500 .LBE392:
+ 1501 .LBB394:
+ 1502 .LSM224:
+ 1503 0042 8091 0000 lds r24,USB_DeviceState
+ 1504 .LVL162:
+ 1505 .LSM225:
+ 1506 0046 8823 tst r24
+ 1507 0048 01F4 brne .+2
+ 1508 004a 00C0 rjmp .L160
+ 1509 .LSM226:
+ 1510 004c 8530 cpi r24,lo8(5)
+ 1511 004e 01F4 brne .+2
+ 1512 0050 00C0 rjmp .L161
+ 1513 .LBB395:
+ 1514 .LBB396:
+ 1515 .LSM227:
+ 1516 0052 8091 E800 lds r24,232
+ 1517 .LVL163:
+ 1518 .LBE396:
+ 1519 .LBE395:
+ 1520 .LSM228:
+ 1521 0056 83FF sbrs r24,3
+ 1522 0058 00C0 rjmp .L162
+ 1523 005a 81E0 ldi r24,lo8(1)
+ 1524 005c 00C0 rjmp .L163
+ 1525 .L162:
+ 1526 .LBB397:
+ 1527 .LBB398:
+ 1528 .LSM229:
+ 1529 005e 8091 E800 lds r24,232
+ 1530 .LBE398:
+ 1531 .LBE397:
+ 1532 .LSM230:
+ 1533 0062 82FD sbrc r24,2
+ 1534 0064 00C0 rjmp .L173
+ 1535 .LBB399:
+ 1536 .LBB400:
+ 1537 .LSM231:
+ 1538 0066 8091 E800 lds r24,232
+ 1539 .LBE400:
+ 1540 .LBE399:
+ 1541 .LSM232:
+ 1542 006a 80FF sbrs r24,0
+ 1543 006c 00C0 rjmp .L175
+ 1544 .LBB401:
+ 1545 .LBB402:
+ 1546 .LBB403:
+ 1547 .LSM233:
+ 1548 006e 8091 F200 lds r24,242
+ 1549 0072 C82F mov r28,r24
+ 1550 .LVL164:
+ 1551 0074 D0E0 ldi r29,lo8(0)
+ 1552 0076 00C0 rjmp .L165
+ 1553 .L167:
+ 1554 .LBE403:
+ 1555 .LBE402:
+ 1556 .LSM234:
+ 1557 0078 8B01 movw r16,r22
+ 1558 007a 0150 subi r16,lo8(-(-1))
+ 1559 007c 1040 sbci r17,hi8(-(-1))
+ 1560 .LVL165:
+ 1561 007e CB01 movw r24,r22
+ 1562 0080 0E94 0000 call __eerd_byte_usb162
+ 1563 .LVL166:
+ 1564 .LBB404:
+ 1565 .LBB405:
+ 1566 .LSM235:
+ 1567 0084 8093 F100 sts 241,r24
+ 1568 .LBE405:
+ 1569 .LBE404:
+ 1570 .LSM236:
+ 1571 0088 0894 sec
+ 1572 008a E108 sbc r14,__zero_reg__
+ 1573 008c F108 sbc r15,__zero_reg__
+ 1574 .LSM237:
+ 1575 008e 2196 adiw r28,1
+ 1576 0090 B801 movw r22,r16
+ 1577 .LVL167:
+ 1578 .L165:
+ 1579 .LSM238:
+ 1580 0092 E114 cp r14,__zero_reg__
+ 1581 0094 F104 cpc r15,__zero_reg__
+ 1582 0096 01F0 breq .L166
+ 1583 0098 C830 cpi r28,8
+ 1584 009a D105 cpc r29,__zero_reg__
+ 1585 009c 00F0 brlo .L167
+ 1586 .L166:
+ 1587 .LSM239:
+ 1588 009e 90E0 ldi r25,lo8(0)
+ 1589 00a0 2897 sbiw r28,8
+ 1590 00a2 01F4 brne .L168
+ 1591 00a4 91E0 ldi r25,lo8(1)
+ 1592 .L168:
+ 1593 .LBB406:
+ 1594 .LBB407:
+ 1595 .LSM240:
+ 1596 00a6 8091 E800 lds r24,232
+ 1597 00aa 8E77 andi r24,lo8(126)
+ 1598 00ac 8093 E800 sts 232,r24
+ 1599 .LVL168:
+ 1600 .L175:
+ 1601 .LBE407:
+ 1602 .LBE406:
+ 1603 .LBE401:
+ 1604 .LBE394:
+ 1605 .LSM241:
+ 1606 00b0 E114 cp r14,__zero_reg__
+ 1607 00b2 F104 cpc r15,__zero_reg__
+ 1608 00b4 01F4 brne .L169
+ 1609 00b6 9923 tst r25
+ 1610 00b8 01F4 brne .L169
+ 1611 00ba 00C0 rjmp .L173
+ 1612 .LVL169:
+ 1613 .L170:
+ 1614 .LBB408:
+ 1615 .LSM242:
+ 1616 00bc 8091 0000 lds r24,USB_DeviceState
+ 1617 .LVL170:
+ 1618 .LSM243:
+ 1619 00c0 8823 tst r24
+ 1620 00c2 01F0 breq .L160
+ 1621 .LSM244:
+ 1622 00c4 8530 cpi r24,lo8(5)
+ 1623 00c6 01F0 breq .L161
+ 1624 .LVL171:
+ 1625 .L173:
+ 1626 .LBE408:
+ 1627 .LBB409:
+ 1628 .LBB410:
+ 1629 .LSM245:
+ 1630 00c8 8091 E800 lds r24,232
+ 1631 .LVL172:
+ 1632 .LBE410:
+ 1633 .LBE409:
+ 1634 .LSM246:
+ 1635 00cc 82FF sbrs r24,2
+ 1636 00ce 00C0 rjmp .L170
+ 1637 00d0 80E0 ldi r24,lo8(0)
+ 1638 00d2 00C0 rjmp .L163
+ 1639 .LVL173:
+ 1640 .L160:
+ 1641 00d4 82E0 ldi r24,lo8(2)
+ 1642 .LVL174:
+ 1643 00d6 00C0 rjmp .L163
+ 1644 .LVL175:
+ 1645 .L161:
+ 1646 00d8 83E0 ldi r24,lo8(3)
+ 1647 .LVL176:
+ 1648 .L163:
+ 1649 /* epilogue start */
+ 1650 .LSM247:
+ 1651 00da DF91 pop r29
+ 1652 .LVL177:
+ 1653 00dc CF91 pop r28
+ 1654 .LVL178:
+ 1655 00de 1F91 pop r17
+ 1656 00e0 0F91 pop r16
+ 1657 00e2 FF90 pop r15
+ 1658 00e4 EF90 pop r14
+ 1659 .LVL179:
+ 1660 00e6 0895 ret
+ 1661 .LFE84:
+ 1663 .section .text.Endpoint_Write_Control_EStream_LE,"ax",@progbits
+ 1664 .global Endpoint_Write_Control_EStream_LE
+ 1666 Endpoint_Write_Control_EStream_LE:
+ 1667 .LFB81:
+ 1668 .LSM248:
+ 1669 .LVL180:
+ 1670 0000 EF92 push r14
+ 1671 0002 FF92 push r15
+ 1672 0004 0F93 push r16
+ 1673 0006 1F93 push r17
+ 1674 0008 CF93 push r28
+ 1675 000a DF93 push r29
+ 1676 /* prologue: function */
+ 1677 /* frame size = 0 */
+ 1678 000c 9C01 movw r18,r24
+ 1679 .LVL181:
+ 1680 .LSM249:
+ 1681 000e E090 0000 lds r14,USB_ControlRequest+6
+ 1682 0012 F090 0000 lds r15,(USB_ControlRequest+6)+1
+ 1683 .LVL182:
+ 1684 0016 E616 cp r14,r22
+ 1685 0018 F706 cpc r15,r23
+ 1686 001a 00F4 brsh .L177
+ 1687 .L180:
+ 1688 .LSM250:
+ 1689 001c 90E0 ldi r25,lo8(0)
+ 1690 .LVL183:
+ 1691 001e 00C0 rjmp .L196
+ 1692 .LVL184:
+ 1693 .L177:
+ 1694 .LSM251:
+ 1695 0020 6115 cp r22,__zero_reg__
+ 1696 0022 7105 cpc r23,__zero_reg__
+ 1697 0024 01F0 breq .L179
+ 1698 .LVL185:
+ 1699 0026 7B01 movw r14,r22
+ 1700 0028 00C0 rjmp .L180
+ 1701 .L179:
+ 1702 .LBB411:
+ 1703 .LBB412:
+ 1704 .LSM252:
+ 1705 002a 8091 E800 lds r24,232
+ 1706 002e 8E77 andi r24,lo8(126)
+ 1707 0030 8093 E800 sts 232,r24
+ 1708 0034 EE24 clr r14
+ 1709 0036 FF24 clr r15
+ 1710 .LVL186:
+ 1711 0038 00C0 rjmp .L180
+ 1712 .LVL187:
+ 1713 .L190:
+ 1714 .LBE412:
+ 1715 .LBE411:
+ 1716 .LBB413:
+ 1717 .LSM253:
+ 1718 003a 8091 0000 lds r24,USB_DeviceState
+ 1719 .LVL188:
+ 1720 .LSM254:
+ 1721 003e 8823 tst r24
+ 1722 0040 01F4 brne .+2
+ 1723 0042 00C0 rjmp .L181
+ 1724 .LSM255:
+ 1725 0044 8530 cpi r24,lo8(5)
+ 1726 0046 01F4 brne .+2
+ 1727 0048 00C0 rjmp .L182
+ 1728 .LBB414:
+ 1729 .LBB415:
+ 1730 .LSM256:
+ 1731 004a 8091 E800 lds r24,232
+ 1732 .LVL189:
+ 1733 .LBE415:
+ 1734 .LBE414:
+ 1735 .LSM257:
+ 1736 004e 83FF sbrs r24,3
+ 1737 0050 00C0 rjmp .L183
+ 1738 0052 81E0 ldi r24,lo8(1)
+ 1739 0054 00C0 rjmp .L184
+ 1740 .L183:
+ 1741 .LBB416:
+ 1742 .LBB417:
+ 1743 .LSM258:
+ 1744 0056 8091 E800 lds r24,232
+ 1745 .LBE417:
+ 1746 .LBE416:
+ 1747 .LSM259:
+ 1748 005a 82FD sbrc r24,2
+ 1749 005c 00C0 rjmp .L194
+ 1750 .LBB418:
+ 1751 .LBB419:
+ 1752 .LSM260:
+ 1753 005e 8091 E800 lds r24,232
+ 1754 .LBE419:
+ 1755 .LBE418:
+ 1756 .LSM261:
+ 1757 0062 80FF sbrs r24,0
+ 1758 0064 00C0 rjmp .L196
+ 1759 .LBB420:
+ 1760 .LBB421:
+ 1761 .LBB422:
+ 1762 .LSM262:
+ 1763 0066 8091 F200 lds r24,242
+ 1764 006a C82F mov r28,r24
+ 1765 .LVL190:
+ 1766 006c D0E0 ldi r29,lo8(0)
+ 1767 006e 00C0 rjmp .L186
+ 1768 .L188:
+ 1769 .LBE422:
+ 1770 .LBE421:
+ 1771 .LSM263:
+ 1772 0070 8901 movw r16,r18
+ 1773 0072 0F5F subi r16,lo8(-(1))
+ 1774 0074 1F4F sbci r17,hi8(-(1))
+ 1775 .LVL191:
+ 1776 0076 C901 movw r24,r18
+ 1777 0078 0E94 0000 call __eerd_byte_usb162
+ 1778 .LVL192:
+ 1779 .LBB423:
+ 1780 .LBB424:
+ 1781 .LSM264:
+ 1782 007c 8093 F100 sts 241,r24
+ 1783 .LBE424:
+ 1784 .LBE423:
+ 1785 .LSM265:
+ 1786 0080 0894 sec
+ 1787 0082 E108 sbc r14,__zero_reg__
+ 1788 0084 F108 sbc r15,__zero_reg__
+ 1789 .LSM266:
+ 1790 0086 2196 adiw r28,1
+ 1791 0088 9801 movw r18,r16
+ 1792 .LVL193:
+ 1793 .L186:
+ 1794 .LSM267:
+ 1795 008a E114 cp r14,__zero_reg__
+ 1796 008c F104 cpc r15,__zero_reg__
+ 1797 008e 01F0 breq .L187
+ 1798 0090 C830 cpi r28,8
+ 1799 0092 D105 cpc r29,__zero_reg__
+ 1800 0094 00F0 brlo .L188
+ 1801 .L187:
+ 1802 .LSM268:
+ 1803 0096 90E0 ldi r25,lo8(0)
+ 1804 0098 2897 sbiw r28,8
+ 1805 009a 01F4 brne .L189
+ 1806 009c 91E0 ldi r25,lo8(1)
+ 1807 .L189:
+ 1808 .LBB425:
+ 1809 .LBB426:
+ 1810 .LSM269:
+ 1811 009e 8091 E800 lds r24,232
+ 1812 00a2 8E77 andi r24,lo8(126)
+ 1813 00a4 8093 E800 sts 232,r24
+ 1814 .L196:
+ 1815 .LBE426:
+ 1816 .LBE425:
+ 1817 .LBE420:
+ 1818 .LBE413:
+ 1819 .LSM270:
+ 1820 00a8 E114 cp r14,__zero_reg__
+ 1821 00aa F104 cpc r15,__zero_reg__
+ 1822 00ac 01F4 brne .L190
+ 1823 00ae 9923 tst r25
+ 1824 00b0 01F4 brne .L190
+ 1825 00b2 00C0 rjmp .L194
+ 1826 .L191:
+ 1827 .LBB427:
+ 1828 .LSM271:
+ 1829 00b4 8091 0000 lds r24,USB_DeviceState
+ 1830 .LVL194:
+ 1831 .LSM272:
+ 1832 00b8 8823 tst r24
+ 1833 00ba 01F0 breq .L181
+ 1834 .LSM273:
+ 1835 00bc 8530 cpi r24,lo8(5)
+ 1836 00be 01F0 breq .L182
+ 1837 .L194:
+ 1838 .LBE427:
+ 1839 .LBB428:
+ 1840 .LBB429:
+ 1841 .LSM274:
+ 1842 00c0 8091 E800 lds r24,232
+ 1843 .LVL195:
+ 1844 .LBE429:
+ 1845 .LBE428:
+ 1846 .LSM275:
+ 1847 00c4 82FF sbrs r24,2
+ 1848 00c6 00C0 rjmp .L191
+ 1849 00c8 80E0 ldi r24,lo8(0)
+ 1850 00ca 00C0 rjmp .L184
+ 1851 .LVL196:
+ 1852 .L181:
+ 1853 00cc 82E0 ldi r24,lo8(2)
+ 1854 .LVL197:
+ 1855 00ce 00C0 rjmp .L184
+ 1856 .LVL198:
+ 1857 .L182:
+ 1858 00d0 83E0 ldi r24,lo8(3)
+ 1859 .LVL199:
+ 1860 .L184:
+ 1861 /* epilogue start */
+ 1862 .LSM276:
+ 1863 00d2 DF91 pop r29
+ 1864 .LVL200:
+ 1865 00d4 CF91 pop r28
+ 1866 .LVL201:
+ 1867 00d6 1F91 pop r17
+ 1868 00d8 0F91 pop r16
+ 1869 00da FF90 pop r15
+ 1870 00dc EF90 pop r14
+ 1871 .LVL202:
+ 1872 00de 0895 ret
+ 1873 .LFE81:
+ 1875 .section .text.Endpoint_Read_EStream_BE,"ax",@progbits
+ 1876 .global Endpoint_Read_EStream_BE
+ 1878 Endpoint_Read_EStream_BE:
+ 1879 .LFB78:
+ 1880 .LSM277:
+ 1881 .LVL203:
+ 1882 0000 BF92 push r11
+ 1883 0002 CF92 push r12
+ 1884 0004 DF92 push r13
+ 1885 0006 EF92 push r14
+ 1886 0008 FF92 push r15
+ 1887 000a 0F93 push r16
+ 1888 000c 1F93 push r17
+ 1889 000e CF93 push r28
+ 1890 0010 DF93 push r29
+ 1891 /* prologue: function */
+ 1892 /* frame size = 0 */
+ 1893 0012 7C01 movw r14,r24
+ 1894 0014 EB01 movw r28,r22
+ 1895 0016 6A01 movw r12,r20
+ 1896 .LSM278:
+ 1897 0018 0E94 0000 call Endpoint_WaitUntilReady
+ 1898 .LVL204:
+ 1899 001c B82E mov r11,r24
+ 1900 .LVL205:
+ 1901 001e 8823 tst r24
+ 1902 0020 01F4 brne .L198
+ 1903 .LVL206:
+ 1904 .LSM279:
+ 1905 0022 2197 sbiw r28,1
+ 1906 0024 EC0E add r14,r28
+ 1907 0026 FD1E adc r15,r29
+ 1908 .LVL207:
+ 1909 0028 2196 adiw r28,1
+ 1910 002a 00C0 rjmp .L205
+ 1911 .LVL208:
+ 1912 .L203:
+ 1913 .LBB430:
+ 1914 .LBB431:
+ 1915 .LSM280:
+ 1916 002c 8091 E800 lds r24,232
+ 1917 .LBE431:
+ 1918 .LBE430:
+ 1919 .LSM281:
+ 1920 0030 85FD sbrc r24,5
+ 1921 0032 00C0 rjmp .L200
+ 1922 .LBB432:
+ 1923 .LBB433:
+ 1924 .LSM282:
+ 1925 0034 8091 E800 lds r24,232
+ 1926 0038 8B77 andi r24,lo8(123)
+ 1927 003a 8093 E800 sts 232,r24
+ 1928 .LBE433:
+ 1929 .LBE432:
+ 1930 .LSM283:
+ 1931 003e C114 cp r12,__zero_reg__
+ 1932 0040 D104 cpc r13,__zero_reg__
+ 1933 0042 01F0 breq .L201
+ 1934 0044 F601 movw r30,r12
+ 1935 0046 0995 icall
+ 1936 0048 8130 cpi r24,lo8(1)
+ 1937 004a 01F4 brne .L201
+ 1938 004c 85E0 ldi r24,lo8(5)
+ 1939 .LVL209:
+ 1940 004e 00C0 rjmp .L202
+ 1941 .LVL210:
+ 1942 .L201:
+ 1943 .LSM284:
+ 1944 0050 0E94 0000 call Endpoint_WaitUntilReady
+ 1945 0054 8823 tst r24
+ 1946 0056 01F0 breq .L205
+ 1947 .LVL211:
+ 1948 0058 00C0 rjmp .L202
+ 1949 .LVL212:
+ 1950 .L200:
+ 1951 .LSM285:
+ 1952 005a 8701 movw r16,r14
+ 1953 005c 0150 subi r16,lo8(-(-1))
+ 1954 005e 1040 sbci r17,hi8(-(-1))
+ 1955 .LVL213:
+ 1956 .LBB434:
+ 1957 .LBB435:
+ 1958 .LSM286:
+ 1959 0060 6091 F100 lds r22,241
+ 1960 .LBE435:
+ 1961 .LBE434:
+ 1962 .LSM287:
+ 1963 0064 C701 movw r24,r14
+ 1964 0066 0E94 0000 call __eeupd_byte_usb162
+ 1965 .LSM288:
+ 1966 006a 2197 sbiw r28,1
+ 1967 006c 7801 movw r14,r16
+ 1968 .LVL214:
+ 1969 .L205:
+ 1970 .LSM289:
+ 1971 006e 2097 sbiw r28,0
+ 1972 0070 01F4 brne .L203
+ 1973 .LVL215:
+ 1974 .L198:
+ 1975 0072 8B2D mov r24,r11
+ 1976 .L202:
+ 1977 .LVL216:
+ 1978 /* epilogue start */
+ 1979 .LSM290:
+ 1980 0074 DF91 pop r29
+ 1981 0076 CF91 pop r28
+ 1982 .LVL217:
+ 1983 0078 1F91 pop r17
+ 1984 007a 0F91 pop r16
+ 1985 007c FF90 pop r15
+ 1986 007e EF90 pop r14
+ 1987 .LVL218:
+ 1988 0080 DF90 pop r13
+ 1989 0082 CF90 pop r12
+ 1990 .LVL219:
+ 1991 0084 BF90 pop r11
+ 1992 .LVL220:
+ 1993 0086 0895 ret
+ 1994 .LFE78:
+ 1996 .section .text.Endpoint_Read_Stream_BE,"ax",@progbits
+ 1997 .global Endpoint_Read_Stream_BE
+ 1999 Endpoint_Read_Stream_BE:
+ 2000 .LFB77:
+ 2001 .LSM291:
+ 2002 .LVL221:
+ 2003 0000 DF92 push r13
+ 2004 0002 EF92 push r14
+ 2005 0004 FF92 push r15
+ 2006 0006 0F93 push r16
+ 2007 0008 1F93 push r17
+ 2008 000a CF93 push r28
+ 2009 000c DF93 push r29
+ 2010 /* prologue: function */
+ 2011 /* frame size = 0 */
+ 2012 000e 8C01 movw r16,r24
+ 2013 0010 EB01 movw r28,r22
+ 2014 0012 7A01 movw r14,r20
+ 2015 .LSM292:
+ 2016 0014 0E94 0000 call Endpoint_WaitUntilReady
+ 2017 .LVL222:
+ 2018 0018 D82E mov r13,r24
+ 2019 .LVL223:
+ 2020 001a 8823 tst r24
+ 2021 001c 01F4 brne .L207
+ 2022 .LVL224:
+ 2023 .LSM293:
+ 2024 001e 2197 sbiw r28,1
+ 2025 0020 0C0F add r16,r28
+ 2026 0022 1D1F adc r17,r29
+ 2027 .LVL225:
+ 2028 0024 2196 adiw r28,1
+ 2029 0026 00C0 rjmp .L214
+ 2030 .L212:
+ 2031 .LBB436:
+ 2032 .LBB437:
+ 2033 .LSM294:
+ 2034 0028 8091 E800 lds r24,232
+ 2035 .LVL226:
+ 2036 .LBE437:
+ 2037 .LBE436:
+ 2038 .LSM295:
+ 2039 002c 85FD sbrc r24,5
+ 2040 002e 00C0 rjmp .L209
+ 2041 .LBB438:
+ 2042 .LBB439:
+ 2043 .LSM296:
+ 2044 0030 8091 E800 lds r24,232
+ 2045 0034 8B77 andi r24,lo8(123)
+ 2046 0036 8093 E800 sts 232,r24
+ 2047 .LBE439:
+ 2048 .LBE438:
+ 2049 .LSM297:
+ 2050 003a E114 cp r14,__zero_reg__
+ 2051 003c F104 cpc r15,__zero_reg__
+ 2052 003e 01F0 breq .L210
+ 2053 0040 F701 movw r30,r14
+ 2054 0042 0995 icall
+ 2055 0044 8130 cpi r24,lo8(1)
+ 2056 0046 01F4 brne .L210
+ 2057 0048 85E0 ldi r24,lo8(5)
+ 2058 .LVL227:
+ 2059 004a 00C0 rjmp .L211
+ 2060 .LVL228:
+ 2061 .L210:
+ 2062 .LSM298:
+ 2063 004c 0E94 0000 call Endpoint_WaitUntilReady
+ 2064 0050 8823 tst r24
+ 2065 0052 01F0 breq .L214
+ 2066 .LVL229:
+ 2067 0054 00C0 rjmp .L211
+ 2068 .LVL230:
+ 2069 .L209:
+ 2070 .LBB440:
+ 2071 .LBB441:
+ 2072 .LSM299:
+ 2073 0056 8091 F100 lds r24,241
+ 2074 .LBE441:
+ 2075 .LBE440:
+ 2076 .LSM300:
+ 2077 005a F801 movw r30,r16
+ 2078 005c 8083 st Z,r24
+ 2079 005e 0150 subi r16,lo8(-(-1))
+ 2080 0060 1040 sbci r17,hi8(-(-1))
+ 2081 .LSM301:
+ 2082 0062 2197 sbiw r28,1
+ 2083 .LVL231:
+ 2084 .L214:
+ 2085 .LSM302:
+ 2086 0064 2097 sbiw r28,0
+ 2087 0066 01F4 brne .L212
+ 2088 .LVL232:
+ 2089 .L207:
+ 2090 0068 8D2D mov r24,r13
+ 2091 .L211:
+ 2092 .LVL233:
+ 2093 /* epilogue start */
+ 2094 .LSM303:
+ 2095 006a DF91 pop r29
+ 2096 006c CF91 pop r28
+ 2097 .LVL234:
+ 2098 006e 1F91 pop r17
+ 2099 0070 0F91 pop r16
+ 2100 .LVL235:
+ 2101 0072 FF90 pop r15
+ 2102 0074 EF90 pop r14
+ 2103 .LVL236:
+ 2104 0076 DF90 pop r13
+ 2105 .LVL237:
+ 2106 0078 0895 ret
+ 2107 .LFE77:
+ 2109 .section .text.Endpoint_Read_EStream_LE,"ax",@progbits
+ 2110 .global Endpoint_Read_EStream_LE
+ 2112 Endpoint_Read_EStream_LE:
+ 2113 .LFB76:
+ 2114 .LSM304:
+ 2115 .LVL238:
+ 2116 0000 BF92 push r11
+ 2117 0002 CF92 push r12
+ 2118 0004 DF92 push r13
+ 2119 0006 EF92 push r14
+ 2120 0008 FF92 push r15
+ 2121 000a 0F93 push r16
+ 2122 000c 1F93 push r17
+ 2123 000e CF93 push r28
+ 2124 0010 DF93 push r29
+ 2125 /* prologue: function */
+ 2126 /* frame size = 0 */
+ 2127 0012 8C01 movw r16,r24
+ 2128 .LVL239:
+ 2129 0014 7B01 movw r14,r22
+ 2130 0016 6A01 movw r12,r20
+ 2131 .LSM305:
+ 2132 0018 0E94 0000 call Endpoint_WaitUntilReady
+ 2133 .LVL240:
+ 2134 001c B82E mov r11,r24
+ 2135 .LVL241:
+ 2136 001e 8823 tst r24
+ 2137 0020 01F4 brne .L216
+ 2138 .LVL242:
+ 2139 .LSM306:
+ 2140 0022 E801 movw r28,r16
+ 2141 .LVL243:
+ 2142 0024 00C0 rjmp .L223
+ 2143 .LVL244:
+ 2144 .L221:
+ 2145 .LBB442:
+ 2146 .LBB443:
+ 2147 .LSM307:
+ 2148 0026 8091 E800 lds r24,232
+ 2149 .LVL245:
+ 2150 .LBE443:
+ 2151 .LBE442:
+ 2152 .LSM308:
+ 2153 002a 85FD sbrc r24,5
+ 2154 002c 00C0 rjmp .L218
+ 2155 .LBB444:
+ 2156 .LBB445:
+ 2157 .LSM309:
+ 2158 002e 8091 E800 lds r24,232
+ 2159 0032 8B77 andi r24,lo8(123)
+ 2160 0034 8093 E800 sts 232,r24
+ 2161 .LBE445:
+ 2162 .LBE444:
+ 2163 .LSM310:
+ 2164 0038 C114 cp r12,__zero_reg__
+ 2165 003a D104 cpc r13,__zero_reg__
+ 2166 003c 01F0 breq .L219
+ 2167 003e F601 movw r30,r12
+ 2168 0040 0995 icall
+ 2169 0042 8130 cpi r24,lo8(1)
+ 2170 0044 01F4 brne .L219
+ 2171 0046 85E0 ldi r24,lo8(5)
+ 2172 .LVL246:
+ 2173 0048 00C0 rjmp .L220
+ 2174 .LVL247:
+ 2175 .L219:
+ 2176 .LSM311:
+ 2177 004a 0E94 0000 call Endpoint_WaitUntilReady
+ 2178 004e 8823 tst r24
+ 2179 0050 01F0 breq .L223
+ 2180 .LVL248:
+ 2181 0052 00C0 rjmp .L220
+ 2182 .LVL249:
+ 2183 .L218:
+ 2184 .LSM312:
+ 2185 0054 8E01 movw r16,r28
+ 2186 0056 0F5F subi r16,lo8(-(1))
+ 2187 0058 1F4F sbci r17,hi8(-(1))
+ 2188 .LVL250:
+ 2189 .LBB446:
+ 2190 .LBB447:
+ 2191 .LSM313:
+ 2192 005a 6091 F100 lds r22,241
+ 2193 .LBE447:
+ 2194 .LBE446:
+ 2195 .LSM314:
+ 2196 005e CE01 movw r24,r28
+ 2197 0060 0E94 0000 call __eeupd_byte_usb162
+ 2198 .LSM315:
+ 2199 0064 0894 sec
+ 2200 0066 E108 sbc r14,__zero_reg__
+ 2201 0068 F108 sbc r15,__zero_reg__
+ 2202 006a E801 movw r28,r16
+ 2203 .LVL251:
+ 2204 .L223:
+ 2205 .LSM316:
+ 2206 006c E114 cp r14,__zero_reg__
+ 2207 006e F104 cpc r15,__zero_reg__
+ 2208 0070 01F4 brne .L221
+ 2209 .LVL252:
+ 2210 .L216:
+ 2211 0072 8B2D mov r24,r11
+ 2212 .L220:
+ 2213 .LVL253:
+ 2214 /* epilogue start */
+ 2215 .LSM317:
+ 2216 0074 DF91 pop r29
+ 2217 0076 CF91 pop r28
+ 2218 .LVL254:
+ 2219 0078 1F91 pop r17
+ 2220 007a 0F91 pop r16
+ 2221 .LVL255:
+ 2222 007c FF90 pop r15
+ 2223 007e EF90 pop r14
+ 2224 .LVL256:
+ 2225 0080 DF90 pop r13
+ 2226 0082 CF90 pop r12
+ 2227 .LVL257:
+ 2228 0084 BF90 pop r11
+ 2229 .LVL258:
+ 2230 0086 0895 ret
+ 2231 .LFE76:
+ 2233 .section .text.Endpoint_Read_Stream_LE,"ax",@progbits
+ 2234 .global Endpoint_Read_Stream_LE
+ 2236 Endpoint_Read_Stream_LE:
+ 2237 .LFB75:
+ 2238 .LSM318:
+ 2239 .LVL259:
+ 2240 0000 DF92 push r13
+ 2241 0002 EF92 push r14
+ 2242 0004 FF92 push r15
+ 2243 0006 0F93 push r16
+ 2244 0008 1F93 push r17
+ 2245 000a CF93 push r28
+ 2246 000c DF93 push r29
+ 2247 /* prologue: function */
+ 2248 /* frame size = 0 */
+ 2249 000e 182F mov r17,r24
+ 2250 0010 092F mov r16,r25
+ 2251 .LVL260:
+ 2252 0012 EB01 movw r28,r22
+ 2253 0014 7A01 movw r14,r20
+ 2254 .LSM319:
+ 2255 0016 0E94 0000 call Endpoint_WaitUntilReady
+ 2256 .LVL261:
+ 2257 001a D82E mov r13,r24
+ 2258 .LVL262:
+ 2259 001c 8823 tst r24
+ 2260 001e 01F4 brne .L225
+ 2261 .LVL263:
+ 2262 .LSM320:
+ 2263 0020 812F mov r24,r17
+ 2264 .LVL264:
+ 2265 0022 902F mov r25,r16
+ 2266 .LVL265:
+ 2267 0024 9C01 movw r18,r24
+ 2268 .LVL266:
+ 2269 0026 8901 movw r16,r18
+ 2270 .LVL267:
+ 2271 0028 00C0 rjmp .L232
+ 2272 .LVL268:
+ 2273 .L230:
+ 2274 .LBB448:
+ 2275 .LBB449:
+ 2276 .LSM321:
+ 2277 002a 8091 E800 lds r24,232
+ 2278 .LBE449:
+ 2279 .LBE448:
+ 2280 .LSM322:
+ 2281 002e 85FD sbrc r24,5
+ 2282 0030 00C0 rjmp .L227
+ 2283 .LBB450:
+ 2284 .LBB451:
+ 2285 .LSM323:
+ 2286 0032 8091 E800 lds r24,232
+ 2287 0036 8B77 andi r24,lo8(123)
+ 2288 0038 8093 E800 sts 232,r24
+ 2289 .LBE451:
+ 2290 .LBE450:
+ 2291 .LSM324:
+ 2292 003c E114 cp r14,__zero_reg__
+ 2293 003e F104 cpc r15,__zero_reg__
+ 2294 0040 01F0 breq .L228
+ 2295 0042 F701 movw r30,r14
+ 2296 0044 0995 icall
+ 2297 .LVL269:
+ 2298 0046 8130 cpi r24,lo8(1)
+ 2299 0048 01F4 brne .L228
+ 2300 004a 85E0 ldi r24,lo8(5)
+ 2301 .LVL270:
+ 2302 004c 00C0 rjmp .L229
+ 2303 .LVL271:
+ 2304 .L228:
+ 2305 .LSM325:
+ 2306 004e 0E94 0000 call Endpoint_WaitUntilReady
+ 2307 .LVL272:
+ 2308 0052 8823 tst r24
+ 2309 0054 01F0 breq .L232
+ 2310 .LVL273:
+ 2311 0056 00C0 rjmp .L229
+ 2312 .LVL274:
+ 2313 .L227:
+ 2314 .LBB452:
+ 2315 .LBB453:
+ 2316 .LSM326:
+ 2317 0058 8091 F100 lds r24,241
+ 2318 .LBE453:
+ 2319 .LBE452:
+ 2320 .LSM327:
+ 2321 005c F801 movw r30,r16
+ 2322 005e 8193 st Z+,r24
+ 2323 0060 8F01 movw r16,r30
+ 2324 .LSM328:
+ 2325 0062 2197 sbiw r28,1
+ 2326 .LVL275:
+ 2327 .L232:
+ 2328 .LSM329:
+ 2329 0064 2097 sbiw r28,0
+ 2330 0066 01F4 brne .L230
+ 2331 .LVL276:
+ 2332 .L225:
+ 2333 0068 8D2D mov r24,r13
+ 2334 .L229:
+ 2335 .LVL277:
+ 2336 /* epilogue start */
+ 2337 .LSM330:
+ 2338 006a DF91 pop r29
+ 2339 006c CF91 pop r28
+ 2340 .LVL278:
+ 2341 006e 1F91 pop r17
+ 2342 .LVL279:
+ 2343 0070 0F91 pop r16
+ 2344 .LVL280:
+ 2345 0072 FF90 pop r15
+ 2346 0074 EF90 pop r14
+ 2347 .LVL281:
+ 2348 0076 DF90 pop r13
+ 2349 .LVL282:
+ 2350 0078 0895 ret
+ 2351 .LFE75:
+ 2353 .section .text.Endpoint_Write_PStream_BE,"ax",@progbits
+ 2354 .global Endpoint_Write_PStream_BE
+ 2356 Endpoint_Write_PStream_BE:
+ 2357 .LFB74:
+ 2358 .LSM331:
+ 2359 .LVL283:
+ 2360 0000 DF92 push r13
+ 2361 0002 EF92 push r14
+ 2362 0004 FF92 push r15
+ 2363 0006 0F93 push r16
+ 2364 0008 1F93 push r17
+ 2365 000a CF93 push r28
+ 2366 000c DF93 push r29
+ 2367 /* prologue: function */
+ 2368 /* frame size = 0 */
+ 2369 000e 8C01 movw r16,r24
+ 2370 0010 EB01 movw r28,r22
+ 2371 0012 7A01 movw r14,r20
+ 2372 .LSM332:
+ 2373 0014 0E94 0000 call Endpoint_WaitUntilReady
+ 2374 .LVL284:
+ 2375 0018 D82E mov r13,r24
+ 2376 .LVL285:
+ 2377 001a 8823 tst r24
+ 2378 001c 01F4 brne .L234
+ 2379 .LVL286:
+ 2380 .LSM333:
+ 2381 001e 2197 sbiw r28,1
+ 2382 0020 0C0F add r16,r28
+ 2383 0022 1D1F adc r17,r29
+ 2384 .LVL287:
+ 2385 0024 2196 adiw r28,1
+ 2386 0026 00C0 rjmp .L241
+ 2387 .LVL288:
+ 2388 .L239:
+ 2389 .LBB454:
+ 2390 .LBB455:
+ 2391 .LSM334:
+ 2392 0028 8091 E800 lds r24,232
+ 2393 .LBE455:
+ 2394 .LBE454:
+ 2395 .LSM335:
+ 2396 002c 85FD sbrc r24,5
+ 2397 002e 00C0 rjmp .L236
+ 2398 .LBB456:
+ 2399 .LBB457:
+ 2400 .LSM336:
+ 2401 0030 8091 E800 lds r24,232
+ 2402 0034 8E77 andi r24,lo8(126)
+ 2403 0036 8093 E800 sts 232,r24
+ 2404 .LBE457:
+ 2405 .LBE456:
+ 2406 .LSM337:
+ 2407 003a E114 cp r14,__zero_reg__
+ 2408 003c F104 cpc r15,__zero_reg__
+ 2409 003e 01F0 breq .L237
+ 2410 0040 F701 movw r30,r14
+ 2411 0042 0995 icall
+ 2412 .LVL289:
+ 2413 0044 8130 cpi r24,lo8(1)
+ 2414 0046 01F4 brne .L237
+ 2415 0048 85E0 ldi r24,lo8(5)
+ 2416 .LVL290:
+ 2417 004a 00C0 rjmp .L238
+ 2418 .LVL291:
+ 2419 .L237:
+ 2420 .LSM338:
+ 2421 004c 0E94 0000 call Endpoint_WaitUntilReady
+ 2422 .LVL292:
+ 2423 0050 8823 tst r24
+ 2424 0052 01F0 breq .L241
+ 2425 .LVL293:
+ 2426 0054 00C0 rjmp .L238
+ 2427 .LVL294:
+ 2428 .L236:
+ 2429 .LBB458:
+ 2430 .LSM339:
+ 2431 0056 F801 movw r30,r16
+ 2432 .LVL295:
+ 2433 0058 0150 subi r16,lo8(-(-1))
+ 2434 005a 1040 sbci r17,hi8(-(-1))
+ 2435 /* #APP */
+ 2436 ; 67 "LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_RW.c" 1
+ 2437 005c E491 lpm r30, Z
+ 2438
+ 2439 ; 0 "" 2
+ 2440 .LVL296:
+ 2441 /* #NOAPP */
+ 2442 .LBE458:
+ 2443 .LBB459:
+ 2444 .LBB460:
+ 2445 .LSM340:
+ 2446 005e E093 F100 sts 241,r30
+ 2447 .LBE460:
+ 2448 .LBE459:
+ 2449 .LSM341:
+ 2450 0062 2197 sbiw r28,1
+ 2451 .LVL297:
+ 2452 .L241:
+ 2453 .LSM342:
+ 2454 0064 2097 sbiw r28,0
+ 2455 0066 01F4 brne .L239
+ 2456 .LVL298:
+ 2457 .L234:
+ 2458 0068 8D2D mov r24,r13
+ 2459 .L238:
+ 2460 .LVL299:
+ 2461 /* epilogue start */
+ 2462 .LSM343:
+ 2463 006a DF91 pop r29
+ 2464 006c CF91 pop r28
+ 2465 .LVL300:
+ 2466 006e 1F91 pop r17
+ 2467 0070 0F91 pop r16
+ 2468 .LVL301:
+ 2469 0072 FF90 pop r15
+ 2470 0074 EF90 pop r14
+ 2471 .LVL302:
+ 2472 0076 DF90 pop r13
+ 2473 .LVL303:
+ 2474 0078 0895 ret
+ 2475 .LFE74:
+ 2477 .section .text.Endpoint_Write_EStream_BE,"ax",@progbits
+ 2478 .global Endpoint_Write_EStream_BE
+ 2480 Endpoint_Write_EStream_BE:
+ 2481 .LFB73:
+ 2482 .LSM344:
+ 2483 .LVL304:
+ 2484 0000 BF92 push r11
+ 2485 0002 CF92 push r12
+ 2486 0004 DF92 push r13
+ 2487 0006 EF92 push r14
+ 2488 0008 FF92 push r15
+ 2489 000a 0F93 push r16
+ 2490 000c 1F93 push r17
+ 2491 000e CF93 push r28
+ 2492 0010 DF93 push r29
+ 2493 /* prologue: function */
+ 2494 /* frame size = 0 */
+ 2495 0012 7C01 movw r14,r24
+ 2496 0014 EB01 movw r28,r22
+ 2497 0016 6A01 movw r12,r20
+ 2498 .LSM345:
+ 2499 0018 0E94 0000 call Endpoint_WaitUntilReady
+ 2500 .LVL305:
+ 2501 001c B82E mov r11,r24
+ 2502 .LVL306:
+ 2503 001e 8823 tst r24
+ 2504 0020 01F4 brne .L243
+ 2505 .LVL307:
+ 2506 .LSM346:
+ 2507 0022 2197 sbiw r28,1
+ 2508 0024 EC0E add r14,r28
+ 2509 0026 FD1E adc r15,r29
+ 2510 .LVL308:
+ 2511 0028 2196 adiw r28,1
+ 2512 002a 00C0 rjmp .L250
+ 2513 .LVL309:
+ 2514 .L248:
+ 2515 .LBB461:
+ 2516 .LBB462:
+ 2517 .LSM347:
+ 2518 002c 8091 E800 lds r24,232
+ 2519 .LBE462:
+ 2520 .LBE461:
+ 2521 .LSM348:
+ 2522 0030 85FD sbrc r24,5
+ 2523 0032 00C0 rjmp .L245
+ 2524 .LBB463:
+ 2525 .LBB464:
+ 2526 .LSM349:
+ 2527 0034 8091 E800 lds r24,232
+ 2528 0038 8E77 andi r24,lo8(126)
+ 2529 003a 8093 E800 sts 232,r24
+ 2530 .LBE464:
+ 2531 .LBE463:
+ 2532 .LSM350:
+ 2533 003e C114 cp r12,__zero_reg__
+ 2534 0040 D104 cpc r13,__zero_reg__
+ 2535 0042 01F0 breq .L246
+ 2536 0044 F601 movw r30,r12
+ 2537 0046 0995 icall
+ 2538 0048 8130 cpi r24,lo8(1)
+ 2539 004a 01F4 brne .L246
+ 2540 004c 85E0 ldi r24,lo8(5)
+ 2541 .LVL310:
+ 2542 004e 00C0 rjmp .L247
+ 2543 .LVL311:
+ 2544 .L246:
+ 2545 .LSM351:
+ 2546 0050 0E94 0000 call Endpoint_WaitUntilReady
+ 2547 0054 8823 tst r24
+ 2548 0056 01F0 breq .L250
+ 2549 .LVL312:
+ 2550 0058 00C0 rjmp .L247
+ 2551 .LVL313:
+ 2552 .L245:
+ 2553 .LSM352:
+ 2554 005a 8701 movw r16,r14
+ 2555 005c 0150 subi r16,lo8(-(-1))
+ 2556 005e 1040 sbci r17,hi8(-(-1))
+ 2557 .LVL314:
+ 2558 0060 C701 movw r24,r14
+ 2559 0062 0E94 0000 call __eerd_byte_usb162
+ 2560 .LBB465:
+ 2561 .LBB466:
+ 2562 .LSM353:
+ 2563 0066 8093 F100 sts 241,r24
+ 2564 .LBE466:
+ 2565 .LBE465:
+ 2566 .LSM354:
+ 2567 006a 2197 sbiw r28,1
+ 2568 006c 7801 movw r14,r16
+ 2569 .LVL315:
+ 2570 .L250:
+ 2571 .LSM355:
+ 2572 006e 2097 sbiw r28,0
+ 2573 0070 01F4 brne .L248
+ 2574 .LVL316:
+ 2575 .L243:
+ 2576 0072 8B2D mov r24,r11
+ 2577 .L247:
+ 2578 .LVL317:
+ 2579 /* epilogue start */
+ 2580 .LSM356:
+ 2581 0074 DF91 pop r29
+ 2582 0076 CF91 pop r28
+ 2583 .LVL318:
+ 2584 0078 1F91 pop r17
+ 2585 007a 0F91 pop r16
+ 2586 007c FF90 pop r15
+ 2587 007e EF90 pop r14
+ 2588 .LVL319:
+ 2589 0080 DF90 pop r13
+ 2590 0082 CF90 pop r12
+ 2591 .LVL320:
+ 2592 0084 BF90 pop r11
+ 2593 .LVL321:
+ 2594 0086 0895 ret
+ 2595 .LFE73:
+ 2597 .section .text.Endpoint_Write_Stream_BE,"ax",@progbits
+ 2598 .global Endpoint_Write_Stream_BE
+ 2600 Endpoint_Write_Stream_BE:
+ 2601 .LFB72:
+ 2602 .LSM357:
+ 2603 .LVL322:
+ 2604 0000 DF92 push r13
+ 2605 0002 EF92 push r14
+ 2606 0004 FF92 push r15
+ 2607 0006 0F93 push r16
+ 2608 0008 1F93 push r17
+ 2609 000a CF93 push r28
+ 2610 000c DF93 push r29
+ 2611 /* prologue: function */
+ 2612 /* frame size = 0 */
+ 2613 000e 8C01 movw r16,r24
+ 2614 0010 EB01 movw r28,r22
+ 2615 0012 7A01 movw r14,r20
+ 2616 .LSM358:
+ 2617 0014 0E94 0000 call Endpoint_WaitUntilReady
+ 2618 .LVL323:
+ 2619 0018 D82E mov r13,r24
+ 2620 .LVL324:
+ 2621 001a 8823 tst r24
+ 2622 001c 01F4 brne .L252
+ 2623 .LVL325:
+ 2624 .LSM359:
+ 2625 001e 2197 sbiw r28,1
+ 2626 0020 0C0F add r16,r28
+ 2627 0022 1D1F adc r17,r29
+ 2628 .LVL326:
+ 2629 0024 2196 adiw r28,1
+ 2630 0026 00C0 rjmp .L259
+ 2631 .L257:
+ 2632 .LBB467:
+ 2633 .LBB468:
+ 2634 .LSM360:
+ 2635 0028 8091 E800 lds r24,232
+ 2636 .LVL327:
+ 2637 .LBE468:
+ 2638 .LBE467:
+ 2639 .LSM361:
+ 2640 002c 85FD sbrc r24,5
+ 2641 002e 00C0 rjmp .L254
+ 2642 .LBB469:
+ 2643 .LBB470:
+ 2644 .LSM362:
+ 2645 0030 8091 E800 lds r24,232
+ 2646 0034 8E77 andi r24,lo8(126)
+ 2647 0036 8093 E800 sts 232,r24
+ 2648 .LBE470:
+ 2649 .LBE469:
+ 2650 .LSM363:
+ 2651 003a E114 cp r14,__zero_reg__
+ 2652 003c F104 cpc r15,__zero_reg__
+ 2653 003e 01F0 breq .L255
+ 2654 0040 F701 movw r30,r14
+ 2655 0042 0995 icall
+ 2656 0044 8130 cpi r24,lo8(1)
+ 2657 0046 01F4 brne .L255
+ 2658 0048 85E0 ldi r24,lo8(5)
+ 2659 .LVL328:
+ 2660 004a 00C0 rjmp .L256
+ 2661 .LVL329:
+ 2662 .L255:
+ 2663 .LSM364:
+ 2664 004c 0E94 0000 call Endpoint_WaitUntilReady
+ 2665 0050 8823 tst r24
+ 2666 0052 01F0 breq .L259
+ 2667 .LVL330:
+ 2668 0054 00C0 rjmp .L256
+ 2669 .LVL331:
+ 2670 .L254:
+ 2671 .LSM365:
+ 2672 0056 F801 movw r30,r16
+ 2673 0058 8081 ld r24,Z
+ 2674 005a 0150 subi r16,lo8(-(-1))
+ 2675 005c 1040 sbci r17,hi8(-(-1))
+ 2676 .LBB471:
+ 2677 .LBB472:
+ 2678 .LSM366:
+ 2679 005e 8093 F100 sts 241,r24
+ 2680 .LBE472:
+ 2681 .LBE471:
+ 2682 .LSM367:
+ 2683 0062 2197 sbiw r28,1
+ 2684 .LVL332:
+ 2685 .L259:
+ 2686 .LSM368:
+ 2687 0064 2097 sbiw r28,0
+ 2688 0066 01F4 brne .L257
+ 2689 .LVL333:
+ 2690 .L252:
+ 2691 0068 8D2D mov r24,r13
+ 2692 .L256:
+ 2693 .LVL334:
+ 2694 /* epilogue start */
+ 2695 .LSM369:
+ 2696 006a DF91 pop r29
+ 2697 006c CF91 pop r28
+ 2698 .LVL335:
+ 2699 006e 1F91 pop r17
+ 2700 0070 0F91 pop r16
+ 2701 .LVL336:
+ 2702 0072 FF90 pop r15
+ 2703 0074 EF90 pop r14
+ 2704 .LVL337:
+ 2705 0076 DF90 pop r13
+ 2706 .LVL338:
+ 2707 0078 0895 ret
+ 2708 .LFE72:
+ 2710 .section .text.Endpoint_Write_EStream_LE,"ax",@progbits
+ 2711 .global Endpoint_Write_EStream_LE
+ 2713 Endpoint_Write_EStream_LE:
+ 2714 .LFB71:
+ 2715 .LSM370:
+ 2716 .LVL339:
+ 2717 0000 BF92 push r11
+ 2718 0002 CF92 push r12
+ 2719 0004 DF92 push r13
+ 2720 0006 EF92 push r14
+ 2721 0008 FF92 push r15
+ 2722 000a 0F93 push r16
+ 2723 000c 1F93 push r17
+ 2724 000e CF93 push r28
+ 2725 0010 DF93 push r29
+ 2726 /* prologue: function */
+ 2727 /* frame size = 0 */
+ 2728 0012 8C01 movw r16,r24
+ 2729 .LVL340:
+ 2730 0014 7B01 movw r14,r22
+ 2731 0016 6A01 movw r12,r20
+ 2732 .LSM371:
+ 2733 0018 0E94 0000 call Endpoint_WaitUntilReady
+ 2734 .LVL341:
+ 2735 001c B82E mov r11,r24
+ 2736 .LVL342:
+ 2737 001e 8823 tst r24
+ 2738 0020 01F4 brne .L261
+ 2739 .LVL343:
+ 2740 .LSM372:
+ 2741 0022 E801 movw r28,r16
+ 2742 .LVL344:
+ 2743 0024 00C0 rjmp .L268
+ 2744 .LVL345:
+ 2745 .L266:
+ 2746 .LBB473:
+ 2747 .LBB474:
+ 2748 .LSM373:
+ 2749 0026 8091 E800 lds r24,232
+ 2750 .LVL346:
+ 2751 .LBE474:
+ 2752 .LBE473:
+ 2753 .LSM374:
+ 2754 002a 85FD sbrc r24,5
+ 2755 002c 00C0 rjmp .L263
+ 2756 .LBB475:
+ 2757 .LBB476:
+ 2758 .LSM375:
+ 2759 002e 8091 E800 lds r24,232
+ 2760 0032 8E77 andi r24,lo8(126)
+ 2761 0034 8093 E800 sts 232,r24
+ 2762 .LBE476:
+ 2763 .LBE475:
+ 2764 .LSM376:
+ 2765 0038 C114 cp r12,__zero_reg__
+ 2766 003a D104 cpc r13,__zero_reg__
+ 2767 003c 01F0 breq .L264
+ 2768 003e F601 movw r30,r12
+ 2769 0040 0995 icall
+ 2770 0042 8130 cpi r24,lo8(1)
+ 2771 0044 01F4 brne .L264
+ 2772 0046 85E0 ldi r24,lo8(5)
+ 2773 .LVL347:
+ 2774 0048 00C0 rjmp .L265
+ 2775 .LVL348:
+ 2776 .L264:
+ 2777 .LSM377:
+ 2778 004a 0E94 0000 call Endpoint_WaitUntilReady
+ 2779 004e 8823 tst r24
+ 2780 0050 01F0 breq .L268
+ 2781 .LVL349:
+ 2782 0052 00C0 rjmp .L265
+ 2783 .LVL350:
+ 2784 .L263:
+ 2785 .LSM378:
+ 2786 0054 8E01 movw r16,r28
+ 2787 0056 0F5F subi r16,lo8(-(1))
+ 2788 0058 1F4F sbci r17,hi8(-(1))
+ 2789 .LVL351:
+ 2790 005a CE01 movw r24,r28
+ 2791 005c 0E94 0000 call __eerd_byte_usb162
+ 2792 .LBB477:
+ 2793 .LBB478:
+ 2794 .LSM379:
+ 2795 0060 8093 F100 sts 241,r24
+ 2796 .LBE478:
+ 2797 .LBE477:
+ 2798 .LSM380:
+ 2799 0064 0894 sec
+ 2800 0066 E108 sbc r14,__zero_reg__
+ 2801 0068 F108 sbc r15,__zero_reg__
+ 2802 006a E801 movw r28,r16
+ 2803 .LVL352:
+ 2804 .L268:
+ 2805 .LSM381:
+ 2806 006c E114 cp r14,__zero_reg__
+ 2807 006e F104 cpc r15,__zero_reg__
+ 2808 0070 01F4 brne .L266
+ 2809 .LVL353:
+ 2810 .L261:
+ 2811 0072 8B2D mov r24,r11
+ 2812 .L265:
+ 2813 .LVL354:
+ 2814 /* epilogue start */
+ 2815 .LSM382:
+ 2816 0074 DF91 pop r29
+ 2817 0076 CF91 pop r28
+ 2818 .LVL355:
+ 2819 0078 1F91 pop r17
+ 2820 007a 0F91 pop r16
+ 2821 .LVL356:
+ 2822 007c FF90 pop r15
+ 2823 007e EF90 pop r14
+ 2824 .LVL357:
+ 2825 0080 DF90 pop r13
+ 2826 0082 CF90 pop r12
+ 2827 .LVL358:
+ 2828 0084 BF90 pop r11
+ 2829 .LVL359:
+ 2830 0086 0895 ret
+ 2831 .LFE71:
+ 2833 .section .text.Endpoint_Write_PStream_LE,"ax",@progbits
+ 2834 .global Endpoint_Write_PStream_LE
+ 2836 Endpoint_Write_PStream_LE:
+ 2837 .LFB70:
+ 2838 .LSM383:
+ 2839 .LVL360:
+ 2840 0000 BF92 push r11
+ 2841 0002 CF92 push r12
+ 2842 0004 DF92 push r13
+ 2843 0006 EF92 push r14
+ 2844 0008 FF92 push r15
+ 2845 000a 0F93 push r16
+ 2846 000c 1F93 push r17
+ 2847 000e CF93 push r28
+ 2848 0010 DF93 push r29
+ 2849 /* prologue: function */
+ 2850 /* frame size = 0 */
+ 2851 0012 F82E mov r15,r24
+ 2852 0014 E92E mov r14,r25
+ 2853 .LVL361:
+ 2854 0016 8B01 movw r16,r22
+ 2855 0018 6A01 movw r12,r20
+ 2856 .LSM384:
+ 2857 001a 0E94 0000 call Endpoint_WaitUntilReady
+ 2858 .LVL362:
+ 2859 001e B82E mov r11,r24
+ 2860 .LVL363:
+ 2861 0020 8823 tst r24
+ 2862 0022 01F4 brne .L270
+ 2863 .LVL364:
+ 2864 .LSM385:
+ 2865 0024 8F2D mov r24,r15
+ 2866 .LVL365:
+ 2867 0026 9E2D mov r25,r14
+ 2868 .LVL366:
+ 2869 0028 9C01 movw r18,r24
+ 2870 .LVL367:
+ 2871 002a E901 movw r28,r18
+ 2872 .LVL368:
+ 2873 002c 00C0 rjmp .L277
+ 2874 .LVL369:
+ 2875 .L275:
+ 2876 .LBB479:
+ 2877 .LBB480:
+ 2878 .LSM386:
+ 2879 002e 8091 E800 lds r24,232
+ 2880 .LBE480:
+ 2881 .LBE479:
+ 2882 .LSM387:
+ 2883 0032 85FD sbrc r24,5
+ 2884 0034 00C0 rjmp .L272
+ 2885 .LBB481:
+ 2886 .LBB482:
+ 2887 .LSM388:
+ 2888 0036 8091 E800 lds r24,232
+ 2889 003a 8E77 andi r24,lo8(126)
+ 2890 003c 8093 E800 sts 232,r24
+ 2891 .LBE482:
+ 2892 .LBE481:
+ 2893 .LSM389:
+ 2894 0040 C114 cp r12,__zero_reg__
+ 2895 0042 D104 cpc r13,__zero_reg__
+ 2896 0044 01F0 breq .L273
+ 2897 0046 F601 movw r30,r12
+ 2898 0048 0995 icall
+ 2899 .LVL370:
+ 2900 004a 8130 cpi r24,lo8(1)
+ 2901 004c 01F4 brne .L273
+ 2902 004e 85E0 ldi r24,lo8(5)
+ 2903 .LVL371:
+ 2904 0050 00C0 rjmp .L274
+ 2905 .LVL372:
+ 2906 .L273:
+ 2907 .LSM390:
+ 2908 0052 0E94 0000 call Endpoint_WaitUntilReady
+ 2909 .LVL373:
+ 2910 0056 8823 tst r24
+ 2911 0058 01F0 breq .L277
+ 2912 .LVL374:
+ 2913 005a 00C0 rjmp .L274
+ 2914 .LVL375:
+ 2915 .L272:
+ 2916 .LBB483:
+ 2917 .LSM391:
+ 2918 005c FE01 movw r30,r28
+ 2919 .LVL376:
+ 2920 005e 2196 adiw r28,1
+ 2921 /* #APP */
+ 2922 ; 67 "LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_RW.c" 1
+ 2923 0060 E491 lpm r30, Z
+ 2924
+ 2925 ; 0 "" 2
+ 2926 .LVL377:
+ 2927 /* #NOAPP */
+ 2928 .LBE483:
+ 2929 .LBB484:
+ 2930 .LBB485:
+ 2931 .LSM392:
+ 2932 0062 E093 F100 sts 241,r30
+ 2933 .LBE485:
+ 2934 .LBE484:
+ 2935 .LSM393:
+ 2936 0066 0150 subi r16,lo8(-(-1))
+ 2937 0068 1040 sbci r17,hi8(-(-1))
+ 2938 .LVL378:
+ 2939 .L277:
+ 2940 .LSM394:
+ 2941 006a 0115 cp r16,__zero_reg__
+ 2942 006c 1105 cpc r17,__zero_reg__
+ 2943 006e 01F4 brne .L275
+ 2944 .LVL379:
+ 2945 .L270:
+ 2946 0070 8B2D mov r24,r11
+ 2947 .L274:
+ 2948 .LVL380:
+ 2949 /* epilogue start */
+ 2950 .LSM395:
+ 2951 0072 DF91 pop r29
+ 2952 0074 CF91 pop r28
+ 2953 .LVL381:
+ 2954 0076 1F91 pop r17
+ 2955 0078 0F91 pop r16
+ 2956 .LVL382:
+ 2957 007a FF90 pop r15
+ 2958 .LVL383:
+ 2959 007c EF90 pop r14
+ 2960 .LVL384:
+ 2961 007e DF90 pop r13
+ 2962 0080 CF90 pop r12
+ 2963 .LVL385:
+ 2964 0082 BF90 pop r11
+ 2965 .LVL386:
+ 2966 0084 0895 ret
+ 2967 .LFE70:
+ 2969 .section .text.Endpoint_Write_Stream_LE,"ax",@progbits
+ 2970 .global Endpoint_Write_Stream_LE
+ 2972 Endpoint_Write_Stream_LE:
+ 2973 .LFB69:
+ 2974 .LSM396:
+ 2975 .LVL387:
+ 2976 0000 DF92 push r13
+ 2977 0002 EF92 push r14
+ 2978 0004 FF92 push r15
+ 2979 0006 0F93 push r16
+ 2980 0008 1F93 push r17
+ 2981 000a CF93 push r28
+ 2982 000c DF93 push r29
+ 2983 /* prologue: function */
+ 2984 /* frame size = 0 */
+ 2985 000e 182F mov r17,r24
+ 2986 0010 092F mov r16,r25
+ 2987 .LVL388:
+ 2988 0012 EB01 movw r28,r22
+ 2989 0014 7A01 movw r14,r20
+ 2990 .LSM397:
+ 2991 0016 0E94 0000 call Endpoint_WaitUntilReady
+ 2992 .LVL389:
+ 2993 001a D82E mov r13,r24
+ 2994 .LVL390:
+ 2995 001c 8823 tst r24
+ 2996 001e 01F4 brne .L279
+ 2997 .LVL391:
+ 2998 .LSM398:
+ 2999 0020 812F mov r24,r17
+ 3000 .LVL392:
+ 3001 0022 902F mov r25,r16
+ 3002 .LVL393:
+ 3003 0024 9C01 movw r18,r24
+ 3004 .LVL394:
+ 3005 0026 8901 movw r16,r18
+ 3006 .LVL395:
+ 3007 0028 00C0 rjmp .L286
+ 3008 .LVL396:
+ 3009 .L284:
+ 3010 .LBB486:
+ 3011 .LBB487:
+ 3012 .LSM399:
+ 3013 002a 8091 E800 lds r24,232
+ 3014 .LBE487:
+ 3015 .LBE486:
+ 3016 .LSM400:
+ 3017 002e 85FD sbrc r24,5
+ 3018 0030 00C0 rjmp .L281
+ 3019 .LBB488:
+ 3020 .LBB489:
+ 3021 .LSM401:
+ 3022 0032 8091 E800 lds r24,232
+ 3023 0036 8E77 andi r24,lo8(126)
+ 3024 0038 8093 E800 sts 232,r24
+ 3025 .LBE489:
+ 3026 .LBE488:
+ 3027 .LSM402:
+ 3028 003c E114 cp r14,__zero_reg__
+ 3029 003e F104 cpc r15,__zero_reg__
+ 3030 0040 01F0 breq .L282
+ 3031 0042 F701 movw r30,r14
+ 3032 0044 0995 icall
+ 3033 .LVL397:
+ 3034 0046 8130 cpi r24,lo8(1)
+ 3035 0048 01F4 brne .L282
+ 3036 004a 85E0 ldi r24,lo8(5)
+ 3037 .LVL398:
+ 3038 004c 00C0 rjmp .L283
+ 3039 .LVL399:
+ 3040 .L282:
+ 3041 .LSM403:
+ 3042 004e 0E94 0000 call Endpoint_WaitUntilReady
+ 3043 .LVL400:
+ 3044 0052 8823 tst r24
+ 3045 0054 01F0 breq .L286
+ 3046 .LVL401:
+ 3047 0056 00C0 rjmp .L283
+ 3048 .LVL402:
+ 3049 .L281:
+ 3050 .LSM404:
+ 3051 0058 F801 movw r30,r16
+ 3052 005a 8191 ld r24,Z+
+ 3053 005c 8F01 movw r16,r30
+ 3054 .LBB490:
+ 3055 .LBB491:
+ 3056 .LSM405:
+ 3057 005e 8093 F100 sts 241,r24
+ 3058 .LBE491:
+ 3059 .LBE490:
+ 3060 .LSM406:
+ 3061 0062 2197 sbiw r28,1
+ 3062 .LVL403:
+ 3063 .L286:
+ 3064 .LSM407:
+ 3065 0064 2097 sbiw r28,0
+ 3066 0066 01F4 brne .L284
+ 3067 .LVL404:
+ 3068 .L279:
+ 3069 0068 8D2D mov r24,r13
+ 3070 .L283:
+ 3071 .LVL405:
+ 3072 /* epilogue start */
+ 3073 .LSM408:
+ 3074 006a DF91 pop r29
+ 3075 006c CF91 pop r28
+ 3076 .LVL406:
+ 3077 006e 1F91 pop r17
+ 3078 .LVL407:
+ 3079 0070 0F91 pop r16
+ 3080 .LVL408:
+ 3081 0072 FF90 pop r15
+ 3082 0074 EF90 pop r14
+ 3083 .LVL409:
+ 3084 0076 DF90 pop r13
+ 3085 .LVL410:
+ 3086 0078 0895 ret
+ 3087 .LFE69:
+ 3089 .section .text.Endpoint_Discard_Stream,"ax",@progbits
+ 3090 .global Endpoint_Discard_Stream
+ 3092 Endpoint_Discard_Stream:
+ 3093 .LFB68:
+ 3094 .LSM409:
+ 3095 .LVL411:
+ 3096 0000 FF92 push r15
+ 3097 0002 0F93 push r16
+ 3098 0004 1F93 push r17
+ 3099 0006 CF93 push r28
+ 3100 0008 DF93 push r29
+ 3101 /* prologue: function */
+ 3102 /* frame size = 0 */
+ 3103 000a EC01 movw r28,r24
+ 3104 000c 8B01 movw r16,r22
+ 3105 .LSM410:
+ 3106 000e 0E94 0000 call Endpoint_WaitUntilReady
+ 3107 .LVL412:
+ 3108 0012 F82E mov r15,r24
+ 3109 .LVL413:
+ 3110 0014 8823 tst r24
+ 3111 0016 01F0 breq .L295
+ 3112 .LVL414:
+ 3113 0018 00C0 rjmp .L288
+ 3114 .LVL415:
+ 3115 .L293:
+ 3116 .LBB492:
+ 3117 .LBB493:
+ 3118 .LSM411:
+ 3119 001a 8091 E800 lds r24,232
+ 3120 .LVL416:
+ 3121 .LBE493:
+ 3122 .LBE492:
+ 3123 .LSM412:
+ 3124 001e 85FD sbrc r24,5
+ 3125 0020 00C0 rjmp .L290
+ 3126 .LBB494:
+ 3127 .LBB495:
+ 3128 .LSM413:
+ 3129 0022 8091 E800 lds r24,232
+ 3130 0026 8B77 andi r24,lo8(123)
+ 3131 0028 8093 E800 sts 232,r24
+ 3132 .LBE495:
+ 3133 .LBE494:
+ 3134 .LSM414:
+ 3135 002c 0115 cp r16,__zero_reg__
+ 3136 002e 1105 cpc r17,__zero_reg__
+ 3137 0030 01F0 breq .L291
+ 3138 0032 F801 movw r30,r16
+ 3139 0034 0995 icall
+ 3140 0036 8130 cpi r24,lo8(1)
+ 3141 0038 01F4 brne .L291
+ 3142 003a 85E0 ldi r24,lo8(5)
+ 3143 .LVL417:
+ 3144 003c 00C0 rjmp .L292
+ 3145 .LVL418:
+ 3146 .L291:
+ 3147 .LSM415:
+ 3148 003e 0E94 0000 call Endpoint_WaitUntilReady
+ 3149 0042 8823 tst r24
+ 3150 0044 01F0 breq .L295
+ 3151 .LVL419:
+ 3152 0046 00C0 rjmp .L292
+ 3153 .LVL420:
+ 3154 .L290:
+ 3155 .LBB496:
+ 3156 .LBB497:
+ 3157 .LSM416:
+ 3158 0048 8091 F100 lds r24,241
+ 3159 .LVL421:
+ 3160 .LBE497:
+ 3161 .LBE496:
+ 3162 .LSM417:
+ 3163 004c 2197 sbiw r28,1
+ 3164 .LVL422:
+ 3165 .L295:
+ 3166 .LSM418:
+ 3167 004e 2097 sbiw r28,0
+ 3168 0050 01F4 brne .L293
+ 3169 .L288:
+ 3170 0052 8F2D mov r24,r15
+ 3171 .LVL423:
+ 3172 .L292:
+ 3173 .LVL424:
+ 3174 /* epilogue start */
+ 3175 .LSM419:
+ 3176 0054 DF91 pop r29
+ 3177 0056 CF91 pop r28
+ 3178 .LVL425:
+ 3179 0058 1F91 pop r17
+ 3180 005a 0F91 pop r16
+ 3181 .LVL426:
+ 3182 005c FF90 pop r15
+ 3183 .LVL427:
+ 3184 005e 0895 ret
+ 3185 .LFE68:
+ 3371 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 EndpointStream.c
+ /tmp/ccfOEB0Q.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccfOEB0Q.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccfOEB0Q.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccfOEB0Q.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccfOEB0Q.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccfOEB0Q.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/ccfOEB0Q.s:19 .text.Endpoint_Write_Control_Stream_LE:0000000000000000 Endpoint_Write_Control_Stream_LE
+ /tmp/ccfOEB0Q.s:208 .text.Endpoint_Write_Control_PStream_LE:0000000000000000 Endpoint_Write_Control_PStream_LE
+ /tmp/ccfOEB0Q.s:407 .text.Endpoint_Write_Control_Stream_BE:0000000000000000 Endpoint_Write_Control_Stream_BE
+ /tmp/ccfOEB0Q.s:605 .text.Endpoint_Write_Control_PStream_BE:0000000000000000 Endpoint_Write_Control_PStream_BE
+ /tmp/ccfOEB0Q.s:812 .text.Endpoint_Read_Control_Stream_LE:0000000000000000 Endpoint_Read_Control_Stream_LE
+ /tmp/ccfOEB0Q.s:954 .text.Endpoint_Read_Control_Stream_BE:0000000000000000 Endpoint_Read_Control_Stream_BE
+ /tmp/ccfOEB0Q.s:1109 .text.Endpoint_Read_Control_EStream_BE:0000000000000000 Endpoint_Read_Control_EStream_BE
+ /tmp/ccfOEB0Q.s:1286 .text.Endpoint_Read_Control_EStream_LE:0000000000000000 Endpoint_Read_Control_EStream_LE
+ /tmp/ccfOEB0Q.s:1446 .text.Endpoint_Write_Control_EStream_BE:0000000000000000 Endpoint_Write_Control_EStream_BE
+ /tmp/ccfOEB0Q.s:1666 .text.Endpoint_Write_Control_EStream_LE:0000000000000000 Endpoint_Write_Control_EStream_LE
+ /tmp/ccfOEB0Q.s:1878 .text.Endpoint_Read_EStream_BE:0000000000000000 Endpoint_Read_EStream_BE
+ /tmp/ccfOEB0Q.s:1999 .text.Endpoint_Read_Stream_BE:0000000000000000 Endpoint_Read_Stream_BE
+ /tmp/ccfOEB0Q.s:2112 .text.Endpoint_Read_EStream_LE:0000000000000000 Endpoint_Read_EStream_LE
+ /tmp/ccfOEB0Q.s:2236 .text.Endpoint_Read_Stream_LE:0000000000000000 Endpoint_Read_Stream_LE
+ /tmp/ccfOEB0Q.s:2356 .text.Endpoint_Write_PStream_BE:0000000000000000 Endpoint_Write_PStream_BE
+ /tmp/ccfOEB0Q.s:2480 .text.Endpoint_Write_EStream_BE:0000000000000000 Endpoint_Write_EStream_BE
+ /tmp/ccfOEB0Q.s:2600 .text.Endpoint_Write_Stream_BE:0000000000000000 Endpoint_Write_Stream_BE
+ /tmp/ccfOEB0Q.s:2713 .text.Endpoint_Write_EStream_LE:0000000000000000 Endpoint_Write_EStream_LE
+ /tmp/ccfOEB0Q.s:2836 .text.Endpoint_Write_PStream_LE:0000000000000000 Endpoint_Write_PStream_LE
+ /tmp/ccfOEB0Q.s:2972 .text.Endpoint_Write_Stream_LE:0000000000000000 Endpoint_Write_Stream_LE
+ /tmp/ccfOEB0Q.s:3092 .text.Endpoint_Discard_Stream:0000000000000000 Endpoint_Discard_Stream
+
+UNDEFINED SYMBOLS
+USB_ControlRequest
+USB_DeviceState
+__eeupd_byte_usb162
+__eerd_byte_usb162
+Endpoint_WaitUntilReady
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.o b/firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.o
new file mode 100644
index 0000000..9ba8202
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/EndpointStream.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/Events.c b/firmware/LUFA/Drivers/USB/HighLevel/Events.c
new file mode 100644
index 0000000..b73a7d1
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/Events.c
@@ -0,0 +1,39 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_EVENTS_C
+#define __INCLUDE_FROM_USB_DRIVER
+#include "Events.h"
+
+void USB_Event_Stub(void)
+{
+
+}
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/Events.h b/firmware/LUFA/Drivers/USB/HighLevel/Events.h
new file mode 100644
index 0000000..a7d3543
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/Events.h
@@ -0,0 +1,375 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB controller events manager.
+ *
+ * This file contains macros and functions relating to the management of library events, which are small
+ * pieces of code similar to ISRs which are run when a given condition is met. Each event can be fired from
+ * multiple places in the user or library code, which may or may not be inside an ISR, thus each handler
+ * should be written to be as small and fast as possible to prevent possible problems.
+ *
+ * Events can be hooked by the user application by declaring a handler function with the same name and parameters
+ * listed here. If an event with no user-associated handler is fired within the library, it by default maps to an
+ * internal empty stub function.
+ *
+ * Each event must only have one associated event handler, but can be raised by multiple sources by calling the
+ * event handler function (with any required event parameters).
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+/** \ingroup Group_USB
+ * @defgroup Group_Events USB Events
+ *
+ * This module contains macros and functions relating to the management of library events, which are small
+ * pieces of code similar to ISRs which are run when a given condition is met. Each event can be fired from
+ * multiple places in the user or library code, which may or may not be inside an ISR, thus each handler
+ * should be written to be as small and fast as possible to prevent possible problems.
+ *
+ * Events can be hooked by the user application by declaring a handler function with the same name and parameters
+ * listed here. If an event with no user-associated handler is fired within the library, it by default maps to an
+ * internal empty stub function.
+ *
+ * Each event must only have one associated event handler, but can be raised by multiple sources by calling the
+ * event handler function (with any required event parameters).
+ *
+ * @{
+ */
+
+#ifndef __USBEVENTS_H__
+#define __USBEVENTS_H__
+
+ /* Includes: */
+ #include <stdint.h>
+
+ #include "../../../Common/Common.h"
+ #include "USBMode.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Pseudo-Functions for Doxygen: */
+ #if !defined(__INCLUDE_FROM_EVENTS_C) || defined(__DOXYGEN__)
+ /** Event for USB mode pin level change. This event fires when the USB interface is set to dual role
+ * mode, and the UID pin level has changed to indicate a new mode (device or host). This event fires
+ * before the mode is switched to the newly indicated mode but after the \ref EVENT_USB_Device_Disconnect
+ * event has fired (if connected before the role change).
+ *
+ * \note This event only exists on USB AVR models which support dual role modes.
+ * \n\n
+ *
+ * \note This event does not exist if the USB_DEVICE_ONLY or USB_HOST_ONLY tokens have been supplied
+ * to the compiler (see \ref Group_USBManagement documentation).
+ */
+ void EVENT_USB_UIDChange(void);
+
+ /** Event for USB host error. This event fires when a hardware fault has occurred whilst the USB
+ * interface is in host mode.
+ *
+ * \param[in] ErrorCode Error code indicating the failure reason, a value in \ref USB_Host_ErrorCodes_t.
+ *
+ * \note This event only exists on USB AVR models which supports host mode.
+ * \n\n
+ *
+ * \note This event does not exist if the USB_DEVICE_ONLY token is supplied to the compiler (see
+ * \ref Group_USBManagement documentation).
+ */
+ void EVENT_USB_Host_HostError(const uint8_t ErrorCode);
+
+ /** Event for USB device attachment. This event fires when a the USB interface is in host mode, and
+ * a USB device has been connected to the USB interface. This is interrupt driven, thus fires before
+ * the standard \ref EVENT_USB_Device_Connect() event and so can be used to programmatically start the USB
+ * management task to reduce CPU consumption.
+ *
+ * \note This event only exists on USB AVR models which supports host mode.
+ * \n\n
+ *
+ * \note This event does not exist if the USB_DEVICE_ONLY token is supplied to the compiler (see
+ * \ref Group_USBManagement documentation).
+ *
+ * \see \ref USB_USBTask() for more information on the USB management task and reducing CPU usage.
+ */
+ void EVENT_USB_Host_DeviceAttached(void);
+
+ /** Event for USB device removal. This event fires when a the USB interface is in host mode, and
+ * a USB device has been removed the USB interface whether or not it has been enumerated. This
+ * can be used to programmatically stop the USB management task to reduce CPU consumption.
+ *
+ * \note This event only exists on USB AVR models which supports host mode.
+ * \n\n
+ *
+ * \note This event does not exist if the USB_DEVICE_ONLY token is supplied to the compiler (see
+ * \ref Group_USBManagement documentation).
+ *
+ * \see \ref USB_USBTask() for more information on the USB management task and reducing CPU usage.
+ */
+ void EVENT_USB_Host_DeviceUnattached(void);
+
+ /** Event for USB device enumeration failure. This event fires when a the USB interface is
+ * in host mode, and an attached USB device has failed to enumerate completely.
+ *
+ * \param[in] ErrorCode Error code indicating the failure reason, a value in
+ * \ref USB_Host_EnumerationErrorCodes_t.
+ *
+ * \param[in] SubErrorCode Sub error code indicating the reason for failure - for example, if the
+ * ErrorCode parameter indicates a control error, this will give the error
+ * code returned by the \ref USB_Host_SendControlRequest() function.
+ *
+ * \note This event only exists on USB AVR models which supports host mode.
+ * \n\n
+ *
+ * \note This event does not exist if the USB_DEVICE_ONLY token is supplied to the compiler (see
+ * \ref Group_USBManagement documentation).
+ */
+ void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode,
+ const uint8_t SubErrorCode);
+
+ /** Event for USB device enumeration completion. This event fires when a the USB interface is
+ * in host mode and an attached USB device has been completely enumerated and is ready to be
+ * controlled by the user application.
+ *
+ * This event is time-critical; exceeding OS-specific delays within this event handler (typically of around
+ * 1 second) when a transaction is waiting to be processed by the device will prevent break communications
+ * and cause the host to reset the USB bus.
+ */
+ void EVENT_USB_Host_DeviceEnumerationComplete(void);
+
+ /** Event for USB Start Of Frame detection, when enabled. This event fires at the start of each USB
+ * frame, once per millisecond, and is synchronized to the USB bus. This can be used as an accurate
+ * millisecond timer source when the USB bus is not suspended while in host mode.
+ *
+ * This event is time-critical; it is run once per millisecond and thus long handlers will significantly
+ * degrade device performance. This event should only be enabled when needed to reduce device wake-ups.
+ *
+ * \note This event is not normally active - it must be manually enabled and disabled via the
+ * \ref USB_Host_EnableSOFEvents() and \ref USB_Host_DisableSOFEvents() commands after enumeration of
+ * a USB device.
+ * \n\n
+ *
+ * \note This event does not exist if the USB_DEVICE_ONLY token is supplied to the compiler (see
+ * \ref Group_USBManagement documentation).
+ */
+ void EVENT_USB_Host_StartOfFrame(void);
+
+ /** Event for USB device connection. This event fires when the AVR in device mode and the device is connected
+ * to a host, beginning the enumeration process, measured by a rising level on the AVR's VBUS pin.
+ *
+ * This event is time-critical; exceeding OS-specific delays within this event handler (typically of around
+ * two seconds) will prevent the device from enumerating correctly.
+ *
+ * \note For the smaller series 2 USB AVRs with limited USB controllers, VBUS is not available to the USB controller.
+ * this means that the current connection state is derived from the bus suspension and wake up events by default,
+ * which is not always accurate (host may suspend the bus while still connected). If the actual connection state
+ * needs to be determined, VBUS should be routed to an external pin, and the auto-detect behaviour turned off by
+ * passing the NO_LIMITED_CONTROLLER_CONNECT token to the compiler via the -D switch at compile time. The connection
+ * and disconnection events may be manually fired, and the \ref USB_DeviceState global changed manually.
+ * \n\n
+ *
+ * \note This event may fire multiple times during device enumeration on the series 2 USB AVRs with limited USB controllers
+ * if NO_LIMITED_CONTROLLER_CONNECT is not defined.
+ *
+ * \see USBTask.h for more information on the USB management task and reducing CPU usage.
+ */
+ void EVENT_USB_Device_Connect(void);
+
+ /** Event for USB device disconnection. This event fires when the AVR in device mode and the device is disconnected
+ * from a host, measured by a falling level on the AVR's VBUS pin.
+ *
+ * \note For the smaller series 2 USB AVRs with limited USB controllers, VBUS is not available to the USB controller.
+ * this means that the current connection state is derived from the bus suspension and wake up events by default,
+ * which is not always accurate (host may suspend the bus while still connected). If the actual connection state
+ * needs to be determined, VBUS should be routed to an external pin, and the auto-detect behaviour turned off by
+ * passing the NO_LIMITED_CONTROLLER_CONNECT token to the compiler via the -D switch at compile time. The connection
+ * and disconnection events may be manually fired, and the \ref USB_DeviceState global changed manually.
+ * \n\n
+ *
+ * \note This event may fire multiple times during device enumeration on the series 2 USB AVRs with limited USB controllers
+ * if NO_LIMITED_CONTROLLER_CONNECT is not defined.
+ *
+ * \see USBTask.h for more information on the USB management task and reducing CPU usage.
+ */
+ void EVENT_USB_Device_Disconnect(void);
+
+ /** Event for control requests. This event fires when a the USB host issues a control request
+ * to the mandatory device control endpoint (of address 0). This may either be a standard
+ * request that the library may have a handler code for internally, or a class specific request
+ * issued to the device which must be handled appropriately. If a request is not processed in the
+ * user application via this event, it will be passed to the library for processing internally
+ * if a suitable handler exists.
+ *
+ * This event is time-critical; each packet within the request transaction must be acknowledged or
+ * sent within 50ms or the host will abort the transfer.
+ *
+ * The library internally handles all standard control requests with the exceptions of SYNC FRAME,
+ * SET DESCRIPTOR and SET INTERFACE. These and all other non-standard control requests will be left
+ * for the user to process via this event if desired. If not handled in the user application or by
+ * the library internally, unknown requests are automatically STALLed.
+ *
+ * \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
+ * \ref Group_USBManagement documentation).
+ * \n\n
+ *
+ * \note Requests should be handled in the same manner as described in the USB 2.0 Specification,
+ * or appropriate class specification. In all instances, the library has already read the
+ * request SETUP parameters into the \ref USB_ControlRequest structure which should then be used
+ * by the application to determine how to handle the issued request.
+ */
+ void EVENT_USB_Device_ControlRequest(void);
+
+ /** Event for USB configuration number changed. This event fires when a the USB host changes the
+ * selected configuration number while in device mode. This event should be hooked in device
+ * applications to create the endpoints and configure the device for the selected configuration.
+ *
+ * This event is time-critical; exceeding OS-specific delays within this event handler (typically of around
+ * one second) will prevent the device from enumerating correctly.
+ *
+ * This event fires after the value of \ref USB_ConfigurationNumber has been changed.
+ *
+ * \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
+ * \ref Group_USBManagement documentation).
+ */
+ void EVENT_USB_Device_ConfigurationChanged(void);
+
+ /** Event for USB suspend. This event fires when a the USB host suspends the device by halting its
+ * transmission of Start Of Frame pulses to the device. This is generally hooked in order to move
+ * the device over to a low power state until the host wakes up the device. If the USB interface is
+ * enumerated with the \ref USB_OPT_AUTO_PLL option set, the library will automatically suspend the
+ * USB PLL before the event is fired to save power.
+ *
+ * \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
+ * \ref Group_USBManagement documentation).
+ * \n\n
+ *
+ * \note This event does not exist on the series 2 USB AVRs when the NO_LIMITED_CONTROLLER_CONNECT
+ * compile time token is not set - see \ref EVENT_USB_Device_Disconnect.
+ *
+ * \see \ref EVENT_USB_Device_WakeUp() event for accompanying Wake Up event.
+ */
+ void EVENT_USB_Device_Suspend(void);
+
+ /** Event for USB wake up. This event fires when a the USB interface is suspended while in device
+ * mode, and the host wakes up the device by supplying Start Of Frame pulses. This is generally
+ * hooked to pull the user application out of a low power state and back into normal operating
+ * mode. If the USB interface is enumerated with the \ref USB_OPT_AUTO_PLL option set, the library
+ * will automatically restart the USB PLL before the event is fired.
+ *
+ * \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
+ * \ref Group_USBManagement documentation).
+ * \n\n
+ *
+ * \note This event does not exist on the series 2 USB AVRs when the NO_LIMITED_CONTROLLER_CONNECT
+ * compile time token is not set - see \ref EVENT_USB_Device_Connect.
+ *
+ * \see \ref EVENT_USB_Device_Suspend() event for accompanying Suspend event.
+ */
+ void EVENT_USB_Device_WakeUp(void);
+
+ /** Event for USB interface reset. This event fires when the USB interface is in device mode, and
+ * a the USB host requests that the device reset its interface. This event fires after the control
+ * endpoint has been automatically configured by the library.
+ *
+ * This event is time-critical; exceeding OS-specific delays within this event handler (typically of around
+ * two seconds) will prevent the device from enumerating correctly.
+ *
+ * \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
+ * \ref Group_USBManagement documentation).
+ */
+ void EVENT_USB_Device_Reset(void);
+
+ /** Event for USB Start Of Frame detection, when enabled. This event fires at the start of each USB
+ * frame, once per millisecond, and is synchronized to the USB bus. This can be used as an accurate
+ * millisecond timer source when the USB bus is enumerated in device mode to a USB host.
+ *
+ * This event is time-critical; it is run once per millisecond and thus long handlers will significantly
+ * degrade device performance. This event should only be enabled when needed to reduce device wake-ups.
+ *
+ * \note This event is not normally active - it must be manually enabled and disabled via the
+ * \ref USB_Device_EnableSOFEvents() and \ref USB_Device_DisableSOFEvents() commands after enumeration.
+ * \n\n
+ *
+ * \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
+ * \ref Group_USBManagement documentation).
+ */
+ void EVENT_USB_Device_StartOfFrame(void);
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Function Prototypes: */
+ #if defined(__INCLUDE_FROM_EVENTS_C)
+ void USB_Event_Stub(void) ATTR_CONST;
+
+ #if defined(USB_CAN_BE_BOTH)
+ void EVENT_USB_UIDChange(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
+ #endif
+
+ #if defined(USB_CAN_BE_HOST)
+ void EVENT_USB_Host_HostError(const uint8_t ErrorCode) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
+ void EVENT_USB_Host_DeviceAttached(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
+ void EVENT_USB_Host_DeviceUnattached(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
+ void EVENT_USB_Host_DeviceEnumerationComplete(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
+ void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode,
+ const uint8_t SubErrorCode)
+ ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
+ void EVENT_USB_Host_StartOfFrame(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
+ #endif
+
+ #if defined(USB_CAN_BE_DEVICE)
+ void EVENT_USB_Device_Connect(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
+ void EVENT_USB_Device_Disconnect(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
+ void EVENT_USB_Device_ControlRequest(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
+ void EVENT_USB_Device_ConfigurationChanged(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
+ void EVENT_USB_Device_Suspend(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
+ void EVENT_USB_Device_WakeUp(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
+ void EVENT_USB_Device_Reset(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
+ void EVENT_USB_Device_StartOfFrame(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
+ #endif
+ #endif
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/Events.lst b/firmware/LUFA/Drivers/USB/HighLevel/Events.lst
new file mode 100644
index 0000000..73ddf6a
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/Events.lst
@@ -0,0 +1,55 @@
+ 1 .file "Events.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.USB_Event_Stub,"ax",@progbits
+ 17 .global USB_Event_Stub
+ 19 USB_Event_Stub:
+ 20 .LFB6:
+ 21 .LSM0:
+ 22 /* prologue: function */
+ 23 /* frame size = 0 */
+ 24 /* epilogue start */
+ 25 .LSM1:
+ 26 0000 0895 ret
+ 27 .LFE6:
+ 29 .weak EVENT_USB_Device_Connect
+ 30 .set EVENT_USB_Device_Connect,USB_Event_Stub
+ 31 .weak EVENT_USB_Device_Disconnect
+ 32 .set EVENT_USB_Device_Disconnect,USB_Event_Stub
+ 33 .weak EVENT_USB_Device_ControlRequest
+ 34 .set EVENT_USB_Device_ControlRequest,USB_Event_Stub
+ 35 .weak EVENT_USB_Device_ConfigurationChanged
+ 36 .set EVENT_USB_Device_ConfigurationChanged,USB_Event_Stub
+ 37 .weak EVENT_USB_Device_Suspend
+ 38 .set EVENT_USB_Device_Suspend,USB_Event_Stub
+ 39 .weak EVENT_USB_Device_WakeUp
+ 40 .set EVENT_USB_Device_WakeUp,USB_Event_Stub
+ 41 .weak EVENT_USB_Device_Reset
+ 42 .set EVENT_USB_Device_Reset,USB_Event_Stub
+ 43 .weak EVENT_USB_Device_StartOfFrame
+ 44 .set EVENT_USB_Device_StartOfFrame,USB_Event_Stub
+ 69 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 Events.c
+ /tmp/ccamxlGJ.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccamxlGJ.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccamxlGJ.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccamxlGJ.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccamxlGJ.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccamxlGJ.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/ccamxlGJ.s:19 .text.USB_Event_Stub:0000000000000000 USB_Event_Stub
+ /tmp/ccamxlGJ.s:19 .text.USB_Event_Stub:0000000000000000 EVENT_USB_Device_Connect
+ /tmp/ccamxlGJ.s:19 .text.USB_Event_Stub:0000000000000000 EVENT_USB_Device_Disconnect
+ /tmp/ccamxlGJ.s:19 .text.USB_Event_Stub:0000000000000000 EVENT_USB_Device_ControlRequest
+ /tmp/ccamxlGJ.s:19 .text.USB_Event_Stub:0000000000000000 EVENT_USB_Device_ConfigurationChanged
+ /tmp/ccamxlGJ.s:19 .text.USB_Event_Stub:0000000000000000 EVENT_USB_Device_Suspend
+ /tmp/ccamxlGJ.s:19 .text.USB_Event_Stub:0000000000000000 EVENT_USB_Device_WakeUp
+ /tmp/ccamxlGJ.s:19 .text.USB_Event_Stub:0000000000000000 EVENT_USB_Device_Reset
+ /tmp/ccamxlGJ.s:19 .text.USB_Event_Stub:0000000000000000 EVENT_USB_Device_StartOfFrame
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/Events.o b/firmware/LUFA/Drivers/USB/HighLevel/Events.o
new file mode 100644
index 0000000..7b2f08b
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/Events.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.c b/firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.c
new file mode 100644
index 0000000..2eee726
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.c
@@ -0,0 +1,180 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "USBMode.h"
+
+#if defined(USB_CAN_BE_HOST)
+
+#define __INCLUDE_FROM_HOSTSTDREQ_C
+#include "HostStandardReq.h"
+
+uint8_t USB_Host_SendControlRequest(void* const BufferPtr)
+{
+ uint8_t* HeaderStream = (uint8_t*)&USB_ControlRequest;
+ uint8_t* DataStream = (uint8_t*)BufferPtr;
+ bool BusSuspended = USB_Host_IsBusSuspended();
+ uint8_t ReturnStatus = HOST_SENDCONTROL_Successful;
+ uint16_t DataLen = USB_ControlRequest.wLength;
+
+ USB_Host_ResumeBus();
+
+ if ((ReturnStatus = USB_Host_WaitMS(1)) != HOST_WAITERROR_Successful)
+ goto End_Of_Control_Send;
+
+ Pipe_SetPipeToken(PIPE_TOKEN_SETUP);
+ Pipe_ClearErrorFlags();
+
+ Pipe_Unfreeze();
+
+ for (uint8_t HeaderByte = 0; HeaderByte < sizeof(USB_Request_Header_t); HeaderByte++)
+ Pipe_Write_Byte(*(HeaderStream++));
+
+ Pipe_ClearSETUP();
+
+ if ((ReturnStatus = USB_Host_WaitForIOS(USB_HOST_WAITFOR_SetupSent)) != HOST_SENDCONTROL_Successful)
+ goto End_Of_Control_Send;
+
+ Pipe_Freeze();
+
+ if ((ReturnStatus = USB_Host_WaitMS(1)) != HOST_WAITERROR_Successful)
+ goto End_Of_Control_Send;
+
+ if ((USB_ControlRequest.bmRequestType & CONTROL_REQTYPE_DIRECTION) == REQDIR_DEVICETOHOST)
+ {
+ Pipe_SetPipeToken(PIPE_TOKEN_IN);
+
+ if (DataStream != NULL)
+ {
+ while (DataLen)
+ {
+ Pipe_Unfreeze();
+
+ if ((ReturnStatus = USB_Host_WaitForIOS(USB_HOST_WAITFOR_InReceived)) != HOST_SENDCONTROL_Successful)
+ goto End_Of_Control_Send;
+
+ if (!(Pipe_BytesInPipe()))
+ DataLen = 0;
+
+ while (Pipe_BytesInPipe() && DataLen)
+ {
+ *(DataStream++) = Pipe_Read_Byte();
+ DataLen--;
+ }
+
+ Pipe_Freeze();
+ Pipe_ClearIN();
+ }
+ }
+
+ Pipe_SetPipeToken(PIPE_TOKEN_OUT);
+ Pipe_Unfreeze();
+
+ if ((ReturnStatus = USB_Host_WaitForIOS(USB_HOST_WAITFOR_OutReady)) != HOST_SENDCONTROL_Successful)
+ goto End_Of_Control_Send;
+
+ Pipe_ClearOUT();
+
+ if ((ReturnStatus = USB_Host_WaitForIOS(USB_HOST_WAITFOR_OutReady)) != HOST_SENDCONTROL_Successful)
+ goto End_Of_Control_Send;
+ }
+ else
+ {
+ if (DataStream != NULL)
+ {
+ Pipe_SetPipeToken(PIPE_TOKEN_OUT);
+ Pipe_Unfreeze();
+
+ while (DataLen)
+ {
+ if ((ReturnStatus = USB_Host_WaitForIOS(USB_HOST_WAITFOR_OutReady)) != HOST_SENDCONTROL_Successful)
+ goto End_Of_Control_Send;
+
+ while (DataLen && (Pipe_BytesInPipe() < USB_ControlPipeSize))
+ {
+ Pipe_Write_Byte(*(DataStream++));
+ DataLen--;
+ }
+
+ Pipe_ClearOUT();
+ }
+
+ if ((ReturnStatus = USB_Host_WaitForIOS(USB_HOST_WAITFOR_OutReady)) != HOST_SENDCONTROL_Successful)
+ goto End_Of_Control_Send;
+
+ Pipe_Freeze();
+ }
+
+ Pipe_SetPipeToken(PIPE_TOKEN_IN);
+ Pipe_Unfreeze();
+
+ if ((ReturnStatus = USB_Host_WaitForIOS(USB_HOST_WAITFOR_InReceived)) != HOST_SENDCONTROL_Successful)
+ goto End_Of_Control_Send;
+
+ Pipe_ClearIN();
+ }
+
+End_Of_Control_Send:
+ Pipe_Freeze();
+
+ if (BusSuspended)
+ USB_Host_SuspendBus();
+
+ Pipe_ResetPipe(PIPE_CONTROLPIPE);
+
+ return ReturnStatus;
+}
+
+static uint8_t USB_Host_WaitForIOS(const uint8_t WaitType)
+{
+ #if (USB_HOST_TIMEOUT_MS < 0xFF)
+ uint8_t TimeoutCounter = USB_HOST_TIMEOUT_MS;
+ #else
+ uint16_t TimeoutCounter = USB_HOST_TIMEOUT_MS;
+ #endif
+
+ while (!(((WaitType == USB_HOST_WAITFOR_SetupSent) && Pipe_IsSETUPSent()) ||
+ ((WaitType == USB_HOST_WAITFOR_InReceived) && Pipe_IsINReceived()) ||
+ ((WaitType == USB_HOST_WAITFOR_OutReady) && Pipe_IsOUTReady())))
+ {
+ uint8_t ErrorCode;
+
+ if ((ErrorCode = USB_Host_WaitMS(1)) != HOST_WAITERROR_Successful)
+ return ErrorCode;
+
+ if (!(TimeoutCounter--))
+ return HOST_SENDCONTROL_SoftwareTimeOut;
+ }
+
+ return HOST_SENDCONTROL_Successful;
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.h b/firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.h
new file mode 100644
index 0000000..4b9b3dc
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.h
@@ -0,0 +1,118 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB host standard request management.
+ *
+ * This file contains the function prototypes necessary for the issuing of outgoing standard control requests
+ * when the library is in USB host mode.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+#ifndef __HOSTSTDREQ_H__
+#define __HOSTSTDREQ_H__
+
+ /* Includes: */
+ #include <stdint.h>
+ #include <stdbool.h>
+
+ #include "USBMode.h"
+ #include "StdRequestType.h"
+ #include "../LowLevel/USBController.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Enums: */
+ /** Enum for the \ref USB_Host_SendControlRequest() return code, indicating the reason for the error
+ * if the transfer of the request is unsuccessful.
+ *
+ * \ingroup Group_PipeControlReq
+ */
+ enum USB_Host_SendControlErrorCodes_t
+ {
+ HOST_SENDCONTROL_Successful = 0, /**< No error occurred in the request transfer. */
+ HOST_SENDCONTROL_DeviceDisconnected = 1, /**< The attached device was disconnected during the
+ * request transfer.
+ */
+ HOST_SENDCONTROL_PipeError = 2, /**< An error occurred in the pipe while sending the request. */
+ HOST_SENDCONTROL_SetupStalled = 3, /**< The attached device stalled the request, usually
+ * indicating that the request is unsupported on the device.
+ */
+ HOST_SENDCONTROL_SoftwareTimeOut = 4, /**< The request or data transfer timed out. */
+ };
+
+ /* Function Prototypes: */
+ /** Sends the request stored in the \ref USB_ControlRequest global structure to the attached device,
+ * and transfers the data stored in the buffer to the device, or from the device to the buffer
+ * as requested. The transfer is made on the currently selected pipe.
+ *
+ * \ingroup Group_PipeControlReq
+ *
+ * \param[in] BufferPtr Pointer to the start of the data buffer if the request has a data stage, or
+ * NULL if the request transfers no data to or from the device.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum to indicate the result.
+ */
+ uint8_t USB_Host_SendControlRequest(void* const BufferPtr);
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Enums: */
+ enum USB_WaitForTypes_t
+ {
+ USB_HOST_WAITFOR_SetupSent,
+ USB_HOST_WAITFOR_InReceived,
+ USB_HOST_WAITFOR_OutReady,
+ };
+
+ /* Function Prototypes: */
+ #if defined(__INCLUDE_FROM_HOSTSTDREQ_C)
+ static uint8_t USB_Host_WaitForIOS(const uint8_t WaitType);
+ #endif
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.lst b/firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.lst
new file mode 100644
index 0000000..499a9dd
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.lst
@@ -0,0 +1,19 @@
+ 1 .file "HostStandardReq.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 HostStandardReq.c
+ /tmp/ccRphupV.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccRphupV.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccRphupV.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccRphupV.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccRphupV.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccRphupV.s:7 *ABS*:0000000000000001 __zero_reg__
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.o b/firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.o
new file mode 100644
index 0000000..b9865fa
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/HostStandardReq.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/PipeStream.c b/firmware/LUFA/Drivers/USB/HighLevel/PipeStream.c
new file mode 100644
index 0000000..25100ca
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/PipeStream.c
@@ -0,0 +1,196 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "USBMode.h"
+
+#if defined(USB_CAN_BE_HOST)
+
+#include "PipeStream.h"
+
+uint8_t Pipe_Discard_Stream(uint16_t Length
+ __CALLBACK_PARAM)
+{
+ uint8_t ErrorCode;
+
+ Pipe_SetPipeToken(PIPE_TOKEN_IN);
+
+ if ((ErrorCode = Pipe_WaitUntilReady()))
+ return ErrorCode;
+
+ #if defined(FAST_STREAM_TRANSFERS)
+ uint8_t BytesRemToAlignment = (Pipe_BytesInPipe() & 0x07);
+
+ if (Length >= 8)
+ {
+ Length -= BytesRemToAlignment;
+
+ switch (BytesRemToAlignment)
+ {
+ default:
+ do
+ {
+ if (!(Pipe_IsReadWriteAllowed()))
+ {
+ Pipe_ClearIN();
+
+ #if !defined(NO_STREAM_CALLBACKS)
+ if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
+ return PIPE_RWSTREAM_CallbackAborted;
+ #endif
+
+ if ((ErrorCode = Pipe_WaitUntilReady()))
+ return ErrorCode;
+ }
+
+ Length -= 8;
+
+ Pipe_Discard_Byte();
+ case 7: Pipe_Discard_Byte();
+ case 6: Pipe_Discard_Byte();
+ case 5: Pipe_Discard_Byte();
+ case 4: Pipe_Discard_Byte();
+ case 3: Pipe_Discard_Byte();
+ case 2: Pipe_Discard_Byte();
+ case 1: Pipe_Discard_Byte();
+ } while (Length >= 8);
+ }
+ }
+ #endif
+
+ while (Length)
+ {
+ if (!(Pipe_IsReadWriteAllowed()))
+ {
+ Pipe_ClearIN();
+
+ #if !defined(NO_STREAM_CALLBACKS)
+ if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
+ return PIPE_RWSTREAM_CallbackAborted;
+ #endif
+
+ if ((ErrorCode = Pipe_WaitUntilReady()))
+ return ErrorCode;
+ }
+ else
+ {
+ Pipe_Discard_Byte();
+ Length--;
+ }
+ }
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+/* The following abuses the C preprocessor in order to copy-past common code with slight alterations,
+ * so that the code needs to be written once. It is a crude form of templating to reduce code maintenance. */
+
+#define TEMPLATE_FUNC_NAME Pipe_Write_Stream_LE
+#define TEMPLATE_BUFFER_TYPE const void*
+#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
+#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
+#define TEMPLATE_BUFFER_OFFSET(Length) 0
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(*((uint8_t*)BufferPtr++))
+#include "Template/Template_Pipe_RW.c"
+
+#define TEMPLATE_FUNC_NAME Pipe_Write_PStream_LE
+#define TEMPLATE_BUFFER_TYPE const void*
+#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
+#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
+#define TEMPLATE_BUFFER_OFFSET(Length) 0
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(pgm_read_byte((uint8_t*)BufferPtr++))
+#include "Template/Template_Pipe_RW.c"
+
+#define TEMPLATE_FUNC_NAME Pipe_Write_EStream_LE
+#define TEMPLATE_BUFFER_TYPE const void*
+#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
+#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
+#define TEMPLATE_BUFFER_OFFSET(Length) 0
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(eeprom_read_byte((uint8_t*)BufferPtr++))
+#include "Template/Template_Pipe_RW.c"
+
+#define TEMPLATE_FUNC_NAME Pipe_Write_Stream_BE
+#define TEMPLATE_BUFFER_TYPE const void*
+#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
+#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
+#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(*((uint8_t*)BufferPtr--))
+#include "Template/Template_Pipe_RW.c"
+
+#define TEMPLATE_FUNC_NAME Pipe_Write_PStream_BE
+#define TEMPLATE_BUFFER_TYPE const void*
+#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
+#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
+#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(pgm_read_byte((uint8_t*)BufferPtr--))
+#include "Template/Template_Pipe_RW.c"
+
+#define TEMPLATE_FUNC_NAME Pipe_Write_EStream_BE
+#define TEMPLATE_BUFFER_TYPE const void*
+#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
+#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
+#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(eeprom_read_byte((uint8_t*)BufferPtr--))
+#include "Template/Template_Pipe_RW.c"
+
+#define TEMPLATE_FUNC_NAME Pipe_Read_Stream_LE
+#define TEMPLATE_BUFFER_TYPE void*
+#define TEMPLATE_TOKEN PIPE_TOKEN_IN
+#define TEMPLATE_CLEAR_PIPE() Pipe_ClearIN()
+#define TEMPLATE_BUFFER_OFFSET(Length) 0
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *((uint8_t*)BufferPtr++) = Pipe_Read_Byte()
+#include "Template/Template_Pipe_RW.c"
+
+#define TEMPLATE_FUNC_NAME Pipe_Read_EStream_LE
+#define TEMPLATE_BUFFER_TYPE void*
+#define TEMPLATE_TOKEN PIPE_TOKEN_IN
+#define TEMPLATE_CLEAR_PIPE() Pipe_ClearIN()
+#define TEMPLATE_BUFFER_OFFSET(Length) 0
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_update_byte((uint8_t*)BufferPtr++, Pipe_Read_Byte())
+#include "Template/Template_Pipe_RW.c"
+
+#define TEMPLATE_FUNC_NAME Pipe_Read_Stream_BE
+#define TEMPLATE_BUFFER_TYPE void*
+#define TEMPLATE_TOKEN PIPE_TOKEN_IN
+#define TEMPLATE_CLEAR_PIPE() Pipe_ClearIN()
+#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *((uint8_t*)BufferPtr--) = Pipe_Read_Byte()
+#include "Template/Template_Pipe_RW.c"
+
+#define TEMPLATE_FUNC_NAME Pipe_Read_EStream_BE
+#define TEMPLATE_BUFFER_TYPE void*
+#define TEMPLATE_TOKEN PIPE_TOKEN_IN
+#define TEMPLATE_CLEAR_PIPE() Pipe_ClearIN()
+#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
+#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_update_byte((uint8_t*)BufferPtr--, Pipe_Read_Byte())
+#include "Template/Template_Pipe_RW.c"
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/PipeStream.h b/firmware/LUFA/Drivers/USB/HighLevel/PipeStream.h
new file mode 100644
index 0000000..730a338
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/PipeStream.h
@@ -0,0 +1,298 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB host pipe stream function definitions.
+ *
+ * This file contains structures, function prototypes and macros related to the sending and receiving of
+ * arbitrary data streams through the device's data pipes when the library is initialized in USB host mode.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+/** \ingroup Group_PipeRW
+ * @defgroup Group_PipeStreamRW Read/Write of Multi-Byte Streams
+ *
+ * Functions, macros, variables, enums and types related to data reading and writing of data streams from
+ * and to pipes.
+ *
+ * @{
+ */
+
+#ifndef __PIPE_STREAM_H__
+#define __PIPE_STREAM_H__
+
+ /* Includes: */
+ #include <avr/pgmspace.h>
+ #include <avr/eeprom.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+ #include "USBTask.h"
+
+ #if !defined(NO_STREAM_CALLBACKS) || defined(__DOXYGEN__)
+ #include "StreamCallbacks.h"
+ #endif
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ #if !defined(NO_STREAM_CALLBACKS) || defined(__DOXYGEN__)
+ #define __CALLBACK_PARAM , StreamCallbackPtr_t Callback
+ #else
+ #define __CALLBACK_PARAM
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Enums: */
+ /** Enum for the possible error return codes of the Pipe_*_Stream_* functions. */
+ enum Pipe_Stream_RW_ErrorCodes_t
+ {
+ PIPE_RWSTREAM_NoError = 0, /**< Command completed successfully, no error. */
+ PIPE_RWSTREAM_PipeStalled = 1, /**< The device stalled the pipe during the transfer. */
+ PIPE_RWSTREAM_DeviceDisconnected = 2, /**< Device was disconnected from the host during
+ * the transfer.
+ */
+ PIPE_RWSTREAM_Timeout = 3, /**< The device failed to accept or send the next packet
+ * within the software timeout period set by the
+ * \ref USB_STREAM_TIMEOUT_MS macro.
+ */
+ PIPE_RWSTREAM_CallbackAborted = 4, /**< Indicates that the stream's callback function aborted
+ * the transfer early.
+ */
+ };
+
+ /* Function Prototypes: */
+ /** Reads and discards the given number of bytes from the pipe, discarding fully read packets from the host
+ * as needed. The last packet is not automatically discarded once the remaining bytes has been read; the
+ * user is responsible for manually discarding the last packet from the device via the \ref Pipe_ClearIN() macro.
+ * Between each USB packet, the given stream callback function is executed repeatedly until the next packet is ready,
+ * allowing for early aborts of stream transfers.
+ *
+ * The callback routine should be created according to the information in \ref Group_StreamCallbacks.
+ * If the token NO_STREAM_CALLBACKS is passed via the -D option to the compiler, stream callbacks are
+ * disabled and this function has the Callback parameter omitted.
+ *
+ * The pipe token is set automatically, thus this can be used on bi-directional pipes directly without
+ * having to explicitly change the data direction with a call to \ref Pipe_SetPipeToken().
+ *
+ * \param[in] Length Number of bytes to send via the currently selected pipe.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Pipe_Discard_Stream(uint16_t Length
+ __CALLBACK_PARAM);
+
+ /** Writes the given number of bytes to the pipe from the given buffer in little endian,
+ * sending full packets to the device as needed. The last packet filled is not automatically sent;
+ * the user is responsible for manually sending the last written packet to the host via the
+ * \ref Pipe_ClearOUT() macro. Between each USB packet, the given stream callback function is
+ * executed repeatedly until the next packet is ready, allowing for early aborts of stream transfers.
+ *
+ * The callback routine should be created according to the information in \ref Group_StreamCallbacks.
+ * If the token NO_STREAM_CALLBACKS is passed via the -D option to the compiler, stream callbacks are
+ * disabled and this function has the Callback parameter omitted.
+ *
+ * The pipe token is set automatically, thus this can be used on bi-directional pipes directly without
+ * having to explicitly change the data direction with a call to \ref Pipe_SetPipeToken().
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected pipe into the buffer.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Pipe_Write_Stream_LE(const void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** EEPROM buffer source version of \ref Pipe_Write_Stream_LE().
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected pipe into the buffer.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Pipe_Write_EStream_LE(const void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** FLASH buffer source version of \ref Pipe_Write_Stream_LE().
+ *
+ * \pre The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected pipe into the buffer.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Pipe_Write_PStream_LE(const void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Writes the given number of bytes to the pipe from the given buffer in big endian,
+ * sending full packets to the device as needed. The last packet filled is not automatically sent;
+ * the user is responsible for manually sending the last written packet to the host via the
+ * \ref Pipe_ClearOUT() macro. Between each USB packet, the given stream callback function is
+ * executed repeatedly until the next packet is ready, allowing for early aborts of stream transfers.
+ *
+ * The callback routine should be created according to the information in \ref Group_StreamCallbacks.
+ * If the token NO_STREAM_CALLBACKS is passed via the -D option to the compiler, stream callbacks are
+ * disabled and this function has the Callback parameter omitted.
+ *
+ * The pipe token is set automatically, thus this can be used on bi-directional pipes directly without
+ * having to explicitly change the data direction with a call to \ref Pipe_SetPipeToken().
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected pipe into the buffer.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Pipe_Write_Stream_BE(const void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** EEPROM buffer source version of \ref Pipe_Write_Stream_BE().
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected pipe into the buffer.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Pipe_Write_EStream_BE(const void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** FLASH buffer source version of \ref Pipe_Write_Stream_BE().
+ *
+ * \pre The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
+ *
+ * \param[in] Buffer Pointer to the source data buffer to read from.
+ * \param[in] Length Number of bytes to read for the currently selected pipe into the buffer.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Pipe_Write_PStream_BE(const void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Reads the given number of bytes from the pipe into the given buffer in little endian,
+ * sending full packets to the device as needed. The last packet filled is not automatically sent;
+ * the user is responsible for manually sending the last written packet to the host via the
+ * \ref Pipe_ClearIN() macro. Between each USB packet, the given stream callback function is
+ * executed repeatedly until the next packet is ready, allowing for early aborts of stream transfers.
+ *
+ * The callback routine should be created according to the information in \ref Group_StreamCallbacks.
+ * If the token NO_STREAM_CALLBACKS is passed via the -D option to the compiler, stream callbacks are
+ * disabled and this function has the Callback parameter omitted.
+ *
+ * The pipe token is set automatically, thus this can be used on bi-directional pipes directly without
+ * having to explicitly change the data direction with a call to \ref Pipe_SetPipeToken().
+ *
+ * \param[out] Buffer Pointer to the source data buffer to write to.
+ * \param[in] Length Number of bytes to read for the currently selected pipe to read from.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Pipe_Read_Stream_LE(void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** EEPROM buffer source version of \ref Pipe_Read_Stream_LE().
+ *
+ * \param[out] Buffer Pointer to the source data buffer to write to.
+ * \param[in] Length Number of bytes to read for the currently selected pipe to read from.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Pipe_Read_EStream_LE(void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** Reads the given number of bytes from the pipe into the given buffer in big endian,
+ * sending full packets to the device as needed. The last packet filled is not automatically sent;
+ * the user is responsible for manually sending the last written packet to the host via the
+ * \ref Pipe_ClearIN() macro. Between each USB packet, the given stream callback function is
+ * executed repeatedly until the next packet is ready, allowing for early aborts of stream transfers.
+ *
+ * The callback routine should be created according to the information in \ref Group_StreamCallbacks.
+ * If the token NO_STREAM_CALLBACKS is passed via the -D option to the compiler, stream callbacks are
+ * disabled and this function has the Callback parameter omitted.
+ *
+ * The pipe token is set automatically, thus this can be used on bi-directional pipes directly without
+ * having to explicitly change the data direction with a call to \ref Pipe_SetPipeToken().
+ *
+ * \param[out] Buffer Pointer to the source data buffer to write to.
+ * \param[in] Length Number of bytes to read for the currently selected pipe to read from.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Pipe_Read_Stream_BE(void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /** EEPROM buffer source version of \ref Pipe_Read_Stream_BE().
+ *
+ * \param[out] Buffer Pointer to the source data buffer to write to.
+ * \param[in] Length Number of bytes to read for the currently selected pipe to read from.
+ * \param[in] Callback Name of a callback routine to call between successive USB packet transfers, NULL if no callback.
+ *
+ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+ */
+ uint8_t Pipe_Read_EStream_BE(void* Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/PipeStream.lst b/firmware/LUFA/Drivers/USB/HighLevel/PipeStream.lst
new file mode 100644
index 0000000..f931e06
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/PipeStream.lst
@@ -0,0 +1,19 @@
+ 1 .file "PipeStream.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 PipeStream.c
+ /tmp/cct2dEBX.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/cct2dEBX.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/cct2dEBX.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/cct2dEBX.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/cct2dEBX.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/cct2dEBX.s:7 *ABS*:0000000000000001 __zero_reg__
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/PipeStream.o b/firmware/LUFA/Drivers/USB/HighLevel/PipeStream.o
new file mode 100644
index 0000000..32ff384
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/PipeStream.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/StdDescriptors.h b/firmware/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
new file mode 100644
index 0000000..6001325
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
@@ -0,0 +1,692 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB standard descriptor definitions.
+ *
+ * This file contains structures and macros for the easy creation of standard USB descriptors in USB device projects.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+/** \ingroup Group_USB
+ * @defgroup Group_Descriptors USB Descriptors
+ *
+ * Standard USB device descriptor defines and retrieval routines, for USB devices. This module contains
+ * structures and macros for the easy creation of standard USB descriptors in USB device projects.
+ *
+ * @{
+ */
+
+#ifndef __USBDESCRIPTORS_H__
+#define __USBDESCRIPTORS_H__
+
+ /* Includes: */
+ #include <avr/pgmspace.h>
+ #include <stdbool.h>
+ #include <stdint.h>
+ #include <stddef.h>
+
+ #include "../../../Common/Common.h"
+ #include "USBMode.h"
+ #include "Events.h"
+
+ #if defined(USB_CAN_BE_DEVICE)
+ #include "../LowLevel/Device.h"
+ #endif
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Indicates that a given descriptor does not exist in the device. This can be used inside descriptors
+ * for string descriptor indexes, or may be use as a return value for GetDescriptor when the specified
+ * descriptor does not exist.
+ */
+ #define NO_DESCRIPTOR 0
+
+ #if (!defined(NO_INTERNAL_SERIAL) && \
+ (defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1287__) || \
+ defined(__AVR_ATmega32U6__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__) || \
+ defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega8U2__)))
+ /** String descriptor index for the device's unique serial number string descriptor within the device.
+ * This unique serial number is used by the host to associate resources to the device (such as drivers or COM port
+ * number allocations) to a device regardless of the port it is plugged in to on the host. Some USB AVRs contain
+ * a unique serial number internally, and setting the device descriptors serial number string index to this value
+ * will cause it to use the internal serial number.
+ *
+ * On unsupported devices, this will evaluate to NO_DESCRIPTOR and so will force the host to create a pseudo-serial
+ * number for the device.
+ */
+ #define USE_INTERNAL_SERIAL 0xDC
+ #else
+ #define USE_INTERNAL_SERIAL NO_DESCRIPTOR
+ #endif
+
+ /** Macro to calculate the power value for the configuration descriptor, from a given number of milliamperes. */
+ #define USB_CONFIG_POWER_MA(mA) ((mA) >> 1)
+
+ /** Macro to calculate the Unicode length of a string with a given number of Unicode characters.
+ * Should be used in string descriptor's headers for giving the string descriptor's byte length.
+ */
+ #define USB_STRING_LEN(str) (sizeof(USB_Descriptor_Header_t) + ((str) << 1))
+
+ /** Macro to encode a given four digit floating point version number (e.g. 01.23) into Binary Coded
+ * Decimal format for descriptor fields requiring BCD encoding, such as the USB version number in the
+ * standard device descriptor.
+ */
+ #define VERSION_BCD(x) ((((VERSION_TENS(x) << 4) | VERSION_ONES(x)) << 8) | \
+ ((VERSION_TENTHS(x) << 4) | VERSION_HUNDREDTHS(x)))
+
+ /** String language ID for the English language. Should be used in \ref USB_Descriptor_String_t descriptors
+ * to indicate that the English language is supported by the device in its string descriptors.
+ */
+ #define LANGUAGE_ID_ENG 0x0409
+
+ /** \name Endpoint Address Direction Masks */
+ //@{
+ /** Can be masked with an endpoint address for a \ref USB_Descriptor_Endpoint_t endpoint descriptor's
+ * EndpointAddress value to indicate to the host that the endpoint is of the IN direction (i.e, from
+ * device to host).
+ */
+ #define ENDPOINT_DESCRIPTOR_DIR_IN 0x80
+
+ /** Can be masked with an endpoint address for a \ref USB_Descriptor_Endpoint_t endpoint descriptor's
+ * EndpointAddress value to indicate to the host that the endpoint is of the OUT direction (i.e, from
+ * host to device).
+ */
+ #define ENDPOINT_DESCRIPTOR_DIR_OUT 0x00
+ //@}
+
+ /** \name USB Configuration Descriptor Attribute Masks */
+ //@{
+ /** Can be masked with other configuration descriptor attributes for a \ref USB_Descriptor_Configuration_Header_t
+ * descriptor's ConfigAttributes value to indicate that the specified configuration can draw its power
+ * from the host's VBUS line.
+ */
+ #define USB_CONFIG_ATTR_BUSPOWERED 0x80
+
+ /** Can be masked with other configuration descriptor attributes for a \ref USB_Descriptor_Configuration_Header_t
+ * descriptor's ConfigAttributes value to indicate that the specified configuration can draw its power
+ * from the device's own power source.
+ */
+ #define USB_CONFIG_ATTR_SELFPOWERED 0x40
+
+ /** Can be masked with other configuration descriptor attributes for a \ref USB_Descriptor_Configuration_Header_t
+ * descriptor's ConfigAttributes value to indicate that the specified configuration supports the
+ * remote wakeup feature of the USB standard, allowing a suspended USB device to wake up the host upon
+ * request.
+ */
+ #define USB_CONFIG_ATTR_REMOTEWAKEUP 0x20
+ //@}
+
+ /** \name Endpoint Descriptor Attribute Masks */
+ //@{
+ /** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
+ * Attributes value to indicate that the specified endpoint is not synchronized.
+ *
+ * \see The USB specification for more details on the possible Endpoint attributes.
+ */
+ #define ENDPOINT_ATTR_NO_SYNC (0 << 2)
+
+ /** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
+ * Attributes value to indicate that the specified endpoint is asynchronous.
+ *
+ * \see The USB specification for more details on the possible Endpoint attributes.
+ */
+ #define ENDPOINT_ATTR_ASYNC (1 << 2)
+
+ /** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
+ * Attributes value to indicate that the specified endpoint is adaptive.
+ *
+ * \see The USB specification for more details on the possible Endpoint attributes.
+ */
+ #define ENDPOINT_ATTR_ADAPTIVE (2 << 2)
+
+ /** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
+ * Attributes value to indicate that the specified endpoint is synchronized.
+ *
+ * \see The USB specification for more details on the possible Endpoint attributes.
+ */
+ #define ENDPOINT_ATTR_SYNC (3 << 2)
+ //@}
+
+ /** \name Endpoint Descriptor Usage Masks */
+ //@{
+ /** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
+ * Attributes value to indicate that the specified endpoint is used for data transfers.
+ *
+ * \see The USB specification for more details on the possible Endpoint usage attributes.
+ */
+ #define ENDPOINT_USAGE_DATA (0 << 4)
+
+ /** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
+ * Attributes value to indicate that the specified endpoint is used for feedback.
+ *
+ * \see The USB specification for more details on the possible Endpoint usage attributes.
+ */
+ #define ENDPOINT_USAGE_FEEDBACK (1 << 4)
+
+ /** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
+ * Attributes value to indicate that the specified endpoint is used for implicit feedback.
+ *
+ * \see The USB specification for more details on the possible Endpoint usage attributes.
+ */
+ #define ENDPOINT_USAGE_IMPLICIT_FEEDBACK (2 << 4)
+ //@}
+
+ /* Enums: */
+ /** Enum for the possible standard descriptor types, as given in each descriptor's header. */
+ enum USB_DescriptorTypes_t
+ {
+ DTYPE_Device = 0x01, /**< Indicates that the descriptor is a device descriptor. */
+ DTYPE_Configuration = 0x02, /**< Indicates that the descriptor is a configuration descriptor. */
+ DTYPE_String = 0x03, /**< Indicates that the descriptor is a string descriptor. */
+ DTYPE_Interface = 0x04, /**< Indicates that the descriptor is an interface descriptor. */
+ DTYPE_Endpoint = 0x05, /**< Indicates that the descriptor is an endpoint descriptor. */
+ DTYPE_DeviceQualifier = 0x06, /**< Indicates that the descriptor is a device qualifier descriptor. */
+ DTYPE_Other = 0x07, /**< Indicates that the descriptor is of other type. */
+ DTYPE_InterfacePower = 0x08, /**< Indicates that the descriptor is an interface power descriptor. */
+ DTYPE_InterfaceAssociation = 0x0B, /**< Indicates that the descriptor is an interface association descriptor. */
+ DTYPE_CSInterface = 0x24, /**< Indicates that the descriptor is a class specific interface descriptor. */
+ DTYPE_CSEndpoint = 0x25, /**< Indicates that the descriptor is a class specific endpoint descriptor. */
+ };
+
+ /** Enum for possible Class, Subclass and Protocol values of device and interface descriptors. */
+ enum USB_Descriptor_ClassSubclassProtocol_t
+ {
+ USB_CSCP_NoDeviceClass = 0x00, /**< Descriptor Class value indicating that the device does not belong
+ * to a particular class at the device level.
+ */
+ USB_CSCP_NoDeviceSubclass = 0x00, /**< Descriptor Subclass value indicating that the device does not belong
+ * to a particular subclass at the device level.
+ */
+ USB_CSCP_NoDeviceProtocol = 0x00, /**< Descriptor Protocol value indicating that the device does not belong
+ * to a particular protocol at the device level.
+ */
+ USB_CSCP_VendorSpecificClass = 0xFF, /**< Descriptor Class value indicating that the device/interface belongs
+ * to a vendor specific class.
+ */
+ USB_CSCP_VendorSpecificSubclass = 0xFF, /**< Descriptor Subclass value indicating that the device/interface belongs
+ * to a vendor specific subclass.
+ */
+ USB_CSCP_VendorSpecificProtocol = 0xFF, /**< Descriptor Protocol value indicating that the device/interface belongs
+ * to a vendor specific protocol.
+ */
+ USB_CSCP_IADDeviceClass = 0xEF, /**< Descriptor Class value indicating that the device belongs to the
+ * Interface Association Descriptor class.
+ */
+ USB_CSCP_IADDeviceSubclass = 0x02, /**< Descriptor Subclass value indicating that the device belongs to the
+ * Interface Association Descriptor subclass.
+ */
+ USB_CSCP_IADDeviceProtocol = 0x01, /**< Descriptor Protocol value indicating that the device belongs to the
+ * Interface Association Descriptor protocol.
+ */
+ };
+
+ /* Type Defines: */
+ /** \brief Standard USB Descriptor Header (LUFA naming conventions).
+ *
+ * Type define for all descriptors' standard header, indicating the descriptor's length and type. This structure
+ * uses LUFA-specific element names to make each element's purpose clearer.
+ *
+ * \see \ref USB_StdDescriptor_Header_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ uint8_t Size; /**< Size of the descriptor, in bytes. */
+ uint8_t Type; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+ } USB_Descriptor_Header_t;
+
+ /** \brief Standard USB Descriptor Header (USB-IF naming conventions).
+ *
+ * Type define for all descriptors' standard header, indicating the descriptor's length and type. This structure
+ * uses the relevant standard's given element names to ensure compatibility with the standard.
+ *
+ * \see \ref USB_Descriptor_Header_t for the version of this type with non-standard LUFA specific element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+ } USB_StdDescriptor_Header_t;
+
+ /** \brief Standard USB Device Descriptor (LUFA naming conventions).
+ *
+ * Type define for a standard Device Descriptor. This structure uses LUFA-specific element names to make each
+ * element's purpose clearer.
+ *
+ * \see \ref USB_StdDescriptor_Device_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */
+
+ uint16_t USBSpecification; /**< BCD of the supported USB specification. */
+ uint8_t Class; /**< USB device class. */
+ uint8_t SubClass; /**< USB device subclass. */
+ uint8_t Protocol; /**< USB device protocol. */
+
+ uint8_t Endpoint0Size; /**< Size of the control (address 0) endpoint's bank in bytes. */
+
+ uint16_t VendorID; /**< Vendor ID for the USB product. */
+ uint16_t ProductID; /**< Unique product ID for the USB product. */
+ uint16_t ReleaseNumber; /**< Product release (version) number. */
+
+ uint8_t ManufacturerStrIndex; /**< String index for the manufacturer's name. The
+ * host will request this string via a separate
+ * control request for the string descriptor.
+ *
+ * \note If no string supplied, use \ref NO_DESCRIPTOR.
+ */
+ uint8_t ProductStrIndex; /**< String index for the product name/details.
+ *
+ * \see ManufacturerStrIndex structure entry.
+ */
+ uint8_t SerialNumStrIndex; /**< String index for the product's globally unique hexadecimal
+ * serial number, in uppercase Unicode ASCII.
+ *
+ * \note On some AVR models, there is an embedded serial number
+ * in the chip which can be used for the device serial number.
+ * To use this serial number, set this to USE_INTERNAL_SERIAL.
+ * On unsupported devices, this will evaluate to 0 and will cause
+ * the host to generate a pseudo-unique value for the device upon
+ * insertion.
+ *
+ * \see ManufacturerStrIndex structure entry.
+ */
+ uint8_t NumberOfConfigurations; /**< Total number of configurations supported by
+ * the device.
+ */
+ } USB_Descriptor_Device_t;
+
+ /** \brief Standard USB Device Descriptor (USB-IF naming conventions).
+ *
+ * Type define for a standard Device Descriptor. This structure uses the relevant standard's given element names
+ * to ensure compatibility with the standard.
+ *
+ * \see \ref USB_Descriptor_Device_t for the version of this type with non-standard LUFA specific element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+ uint16_t bcdUSB; /**< BCD of the supported USB specification. */
+ uint8_t bDeviceClass; /**< USB device class. */
+ uint8_t bDeviceSubClass; /**< USB device subclass. */
+ uint8_t bDeviceProtocol; /**< USB device protocol. */
+ uint8_t bMaxPacketSize0; /**< Size of the control (address 0) endpoint's bank in bytes. */
+ uint16_t idVendor; /**< Vendor ID for the USB product. */
+ uint16_t idProduct; /**< Unique product ID for the USB product. */
+ uint16_t bcdDevice; /**< Product release (version) number. */
+ uint8_t iManufacturer; /**< String index for the manufacturer's name. The
+ * host will request this string via a separate
+ * control request for the string descriptor.
+ *
+ * \note If no string supplied, use \ref NO_DESCRIPTOR.
+ */
+ uint8_t iProduct; /**< String index for the product name/details.
+ *
+ * \see ManufacturerStrIndex structure entry.
+ */
+ uint8_t iSerialNumber; /**< String index for the product's globally unique hexadecimal
+ * serial number, in uppercase Unicode ASCII.
+ *
+ * \note On some AVR models, there is an embedded serial number
+ * in the chip which can be used for the device serial number.
+ * To use this serial number, set this to USE_INTERNAL_SERIAL.
+ * On unsupported devices, this will evaluate to 0 and will cause
+ * the host to generate a pseudo-unique value for the device upon
+ * insertion.
+ *
+ * \see ManufacturerStrIndex structure entry.
+ */
+ uint8_t bNumConfigurations; /**< Total number of configurations supported by
+ * the device.
+ */
+ } USB_StdDescriptor_Device_t;
+
+ /** \brief Standard USB Configuration Descriptor (LUFA naming conventions).
+ *
+ * Type define for a standard Configuration Descriptor header. This structure uses LUFA-specific element names
+ * to make each element's purpose clearer.
+ *
+ * \see \ref USB_StdDescriptor_Configuration_Header_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */
+
+ uint16_t TotalConfigurationSize; /**< Size of the configuration descriptor header,
+ * and all sub descriptors inside the configuration.
+ */
+ uint8_t TotalInterfaces; /**< Total number of interfaces in the configuration. */
+
+ uint8_t ConfigurationNumber; /**< Configuration index of the current configuration. */
+ uint8_t ConfigurationStrIndex; /**< Index of a string descriptor describing the configuration. */
+
+ uint8_t ConfigAttributes; /**< Configuration attributes, comprised of a mask of zero or
+ * more USB_CONFIG_ATTR_* masks.
+ */
+
+ uint8_t MaxPowerConsumption; /**< Maximum power consumption of the device while in the
+ * current configuration, calculated by the \ref USB_CONFIG_POWER_MA()
+ * macro.
+ */
+ } USB_Descriptor_Configuration_Header_t;
+
+ /** \brief Standard USB Configuration Descriptor (USB-IF naming conventions).
+ *
+ * Type define for a standard Configuration Descriptor header. This structure uses the relevant standard's given element names
+ * to ensure compatibility with the standard.
+ *
+ * \see \ref USB_Descriptor_Device_t for the version of this type with non-standard LUFA specific element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+ uint16_t wTotalLength; /**< Size of the configuration descriptor header,
+ * and all sub descriptors inside the configuration.
+ */
+ uint8_t bNumInterfaces; /**< Total number of interfaces in the configuration. */
+ uint8_t bConfigurationValue; /**< Configuration index of the current configuration. */
+ uint8_t iConfiguration; /**< Index of a string descriptor describing the configuration. */
+ uint8_t bmAttributes; /**< Configuration attributes, comprised of a mask of zero or
+ * more USB_CONFIG_ATTR_* masks.
+ */
+ uint8_t bMaxPower; /**< Maximum power consumption of the device while in the
+ * current configuration, calculated by the \ref USB_CONFIG_POWER_MA()
+ * macro.
+ */
+ } USB_StdDescriptor_Configuration_Header_t;
+
+ /** \brief Standard USB Interface Descriptor (LUFA naming conventions).
+ *
+ * Type define for a standard Interface Descriptor. This structure uses LUFA-specific element names
+ * to make each element's purpose clearer.
+ *
+ * \see \ref USB_StdDescriptor_Interface_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */
+
+ uint8_t InterfaceNumber; /**< Index of the interface in the current configuration. */
+ uint8_t AlternateSetting; /**< Alternate setting for the interface number. The same
+ * interface number can have multiple alternate settings
+ * with different endpoint configurations, which can be
+ * selected by the host.
+ */
+ uint8_t TotalEndpoints; /**< Total number of endpoints in the interface. */
+
+ uint8_t Class; /**< Interface class ID. */
+ uint8_t SubClass; /**< Interface subclass ID. */
+ uint8_t Protocol; /**< Interface protocol ID. */
+
+ uint8_t InterfaceStrIndex; /**< Index of the string descriptor describing the interface. */
+ } USB_Descriptor_Interface_t;
+
+ /** \brief Standard USB Interface Descriptor (USB-IF naming conventions).
+ *
+ * Type define for a standard Interface Descriptor. This structure uses the relevant standard's given element names
+ * to ensure compatibility with the standard.
+ *
+ * \see \ref USB_Descriptor_Interface_t for the version of this type with non-standard LUFA specific element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+ uint8_t bInterfaceNumber; /**< Index of the interface in the current configuration. */
+ uint8_t bAlternateSetting; /**< Alternate setting for the interface number. The same
+ * interface number can have multiple alternate settings
+ * with different endpoint configurations, which can be
+ * selected by the host.
+ */
+ uint8_t bNumEndpoints; /**< Total number of endpoints in the interface. */
+ uint8_t bInterfaceClass; /**< Interface class ID. */
+ uint8_t bInterfaceSubClass; /**< Interface subclass ID. */
+ uint8_t bInterfaceProtocol; /**< Interface protocol ID. */
+ uint8_t iInterface; /**< Index of the string descriptor describing the
+ * interface.
+ */
+ } USB_StdDescriptor_Interface_t;
+
+ /** \brief Standard USB Interface Association Descriptor (LUFA naming conventions).
+ *
+ * Type define for a standard Interface Association Descriptor. This structure uses LUFA-specific element names
+ * to make each element's purpose clearer.
+ *
+ * This descriptor has been added as a supplement to the USB2.0 standard, in the ECN located at
+ * <a>http://www.usb.org/developers/docs/InterfaceAssociationDescriptor_ecn.pdf</a>. It allows composite
+ * devices with multiple interfaces related to the same function to have the multiple interfaces bound
+ * together at the point of enumeration, loading one generic driver for all the interfaces in the single
+ * function. Read the ECN for more information.
+ *
+ * \see \ref USB_StdDescriptor_Interface_Association_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */
+
+ uint8_t FirstInterfaceIndex; /**< Index of the first associated interface. */
+ uint8_t TotalInterfaces; /**< Total number of associated interfaces. */
+
+ uint8_t Class; /**< Interface class ID. */
+ uint8_t SubClass; /**< Interface subclass ID. */
+ uint8_t Protocol; /**< Interface protocol ID. */
+
+ uint8_t IADStrIndex; /**< Index of the string descriptor describing the
+ * interface association.
+ */
+ } USB_Descriptor_Interface_Association_t;
+
+ /** \brief Standard USB Interface Association Descriptor (USB-IF naming conventions).
+ *
+ * Type define for a standard Interface Association Descriptor. This structure uses the relevant standard's given
+ * element names to ensure compatibility with the standard.
+ *
+ * This descriptor has been added as a supplement to the USB2.0 standard, in the ECN located at
+ * <a>http://www.usb.org/developers/docs/InterfaceAssociationDescriptor_ecn.pdf</a>. It allows composite
+ * devices with multiple interfaces related to the same function to have the multiple interfaces bound
+ * together at the point of enumeration, loading one generic driver for all the interfaces in the single
+ * function. Read the ECN for more information.
+ *
+ * \see \ref USB_Descriptor_Interface_Association_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a value
+ * given by the specific class.
+ */
+ uint8_t bFirstInterface; /**< Index of the first associated interface. */
+ uint8_t bInterfaceCount; /**< Total number of associated interfaces. */
+ uint8_t bFunctionClass; /**< Interface class ID. */
+ uint8_t bFunctionSubClass; /**< Interface subclass ID. */
+ uint8_t bFunctionProtocol; /**< Interface protocol ID. */
+ uint8_t iFunction; /**< Index of the string descriptor describing the
+ * interface association.
+ */
+ } USB_StdDescriptor_Interface_Association_t;
+
+ /** \brief Standard USB Endpoint Descriptor (LUFA naming conventions).
+ *
+ * Type define for a standard Endpoint Descriptor. This structure uses LUFA-specific element names
+ * to make each element's purpose clearer.
+ *
+ * \see \ref USB_StdDescriptor_Endpoint_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */
+
+ uint8_t EndpointAddress; /**< Logical address of the endpoint within the device for the current
+ * configuration, including direction mask.
+ */
+ uint8_t Attributes; /**< Endpoint attributes, comprised of a mask of the endpoint type (EP_TYPE_*)
+ * and attributes (ENDPOINT_ATTR_*) masks.
+ */
+ uint16_t EndpointSize; /**< Size of the endpoint bank, in bytes. This indicates the maximum packet
+ * size that the endpoint can receive at a time.
+ */
+ uint8_t PollingIntervalMS; /**< Polling interval in milliseconds for the endpoint if it is an INTERRUPT
+ * or ISOCHRONOUS type.
+ */
+ } USB_Descriptor_Endpoint_t;
+
+ /** \brief Standard USB Endpoint Descriptor (USB-IF naming conventions).
+ *
+ * Type define for a standard Endpoint Descriptor. This structure uses the relevant standard's given
+ * element names to ensure compatibility with the standard.
+ *
+ * \see \ref USB_Descriptor_Endpoint_t for the version of this type with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t or a
+ * value given by the specific class.
+ */
+ uint8_t bEndpointAddress; /**< Logical address of the endpoint within the device for the current
+ * configuration, including direction mask.
+ */
+ uint8_t bmAttributes; /**< Endpoint attributes, comprised of a mask of the endpoint type (EP_TYPE_*)
+ * and attributes (ENDPOINT_ATTR_*) masks.
+ */
+ uint16_t wMaxPacketSize; /**< Size of the endpoint bank, in bytes. This indicates the maximum packet size
+ * that the endpoint can receive at a time.
+ */
+ uint8_t bInterval; /**< Polling interval in milliseconds for the endpoint if it is an INTERRUPT or
+ * ISOCHRONOUS type.
+ */
+ } USB_StdDescriptor_Endpoint_t;
+
+ /** \brief Standard USB String Descriptor (LUFA naming conventions).
+ *
+ * Type define for a standard string descriptor. Unlike other standard descriptors, the length
+ * of the descriptor for placement in the descriptor header must be determined by the \ref USB_STRING_LEN()
+ * macro rather than by the size of the descriptor structure, as the length is not fixed.
+ *
+ * This structure should also be used for string index 0, which contains the supported language IDs for
+ * the device as an array.
+ *
+ * This structure uses LUFA-specific element names to make each element's purpose clearer.
+ *
+ * \see \ref USB_StdDescriptor_String_t for the version of this type with standard element names.
+ */
+ typedef struct
+ {
+ USB_Descriptor_Header_t Header; /**< Descriptor header, including type and size. */
+
+ wchar_t UnicodeString[]; /**< String data, as unicode characters (alternatively,
+ * string language IDs). If normal ASCII characters are
+ * to be used, they must be added as an array of characters
+ * rather than a normal C string so that they are widened to
+ * Unicode size.
+ *
+ * Under GCC, strings prefixed with the "L" character (before
+ * the opening string quotation mark) are considered to be
+ * Unicode strings, and may be used instead of an explicit
+ * array of ASCII characters.
+ */
+ } USB_Descriptor_String_t;
+
+ /** \brief Standard USB String Descriptor (USB-IF naming conventions).
+ *
+ * Type define for a standard string descriptor. Unlike other standard descriptors, the length
+ * of the descriptor for placement in the descriptor header must be determined by the \ref USB_STRING_LEN()
+ * macro rather than by the size of the descriptor structure, as the length is not fixed.
+ *
+ * This structure should also be used for string index 0, which contains the supported language IDs for
+ * the device as an array.
+ *
+ * This structure uses the relevant standard's given element names to ensure compatibility with the standard.
+ *
+ * \see \ref USB_Descriptor_String_t for the version of this type with with non-standard LUFA specific
+ * element names.
+ */
+ typedef struct
+ {
+ uint8_t bLength; /**< Size of the descriptor, in bytes. */
+ uint8_t bDescriptorType; /**< Type of the descriptor, either a value in \ref USB_DescriptorTypes_t
+ * or a value given by the specific class.
+ */
+ int16_t bString[]; /**< String data, as unicode characters (alternatively, string language IDs).
+ * If normal ASCII characters are to be used, they must be added as an array
+ * of characters rather than a normal C string so that they are widened to
+ * Unicode size.
+ *
+ * Under GCC, strings prefixed with the "L" character (before the opening string
+ * quotation mark) are considered to be Unicode strings, and may be used instead
+ * of an explicit array of ASCII characters.
+ */
+ } USB_StdDescriptor_String_t;
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define VERSION_TENS(x) (int)((x) / 10)
+ #define VERSION_ONES(x) (int)((x) - (10 * VERSION_TENS(x)))
+ #define VERSION_TENTHS(x) (int)(((x) - (int)(x)) * 10)
+ #define VERSION_HUNDREDTHS(x) (int)((((x) - (int)(x)) * 100) - (10 * VERSION_TENTHS(x)))
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/StdRequestType.h b/firmware/LUFA/Drivers/USB/HighLevel/StdRequestType.h
new file mode 100644
index 0000000..7c18ead
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/StdRequestType.h
@@ -0,0 +1,247 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB control endpoint request definitions.
+ *
+ * This file contains structures and macros for the easy creation and parsing of standard USB control requests.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+/** \ingroup Group_USB
+ * @defgroup Group_StdRequest Standard USB Requests
+ *
+ * This module contains definitions for the various control request parameters, so that the request
+ * details (such as data direction, request recipient, etc.) can be extracted via masking.
+ *
+ * @{
+ */
+
+#ifndef __STDREQTYPE_H__
+#define __STDREQTYPE_H__
+
+ /* Includes: */
+ #include <stdint.h>
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Mask for the request type parameter, to indicate the direction of the request data (Host to Device
+ * or Device to Host). The result of this mask should then be compared to the request direction masks.
+ *
+ * \see REQDIR_* macros for masks indicating the request data direction.
+ */
+ #define CONTROL_REQTYPE_DIRECTION 0x80
+
+ /** Mask for the request type parameter, to indicate the type of request (Device, Class or Vendor
+ * Specific). The result of this mask should then be compared to the request type masks.
+ *
+ * \see REQTYPE_* macros for masks indicating the request type.
+ */
+ #define CONTROL_REQTYPE_TYPE 0x60
+
+ /** Mask for the request type parameter, to indicate the recipient of the request (Standard, Class
+ * or Vendor Specific). The result of this mask should then be compared to the request recipient
+ * masks.
+ *
+ * \see REQREC_* macros for masks indicating the request recipient.
+ */
+ #define CONTROL_REQTYPE_RECIPIENT 0x1F
+
+ /** \name Control Request Data Direction Masks */
+ //@{
+ /** Request data direction mask, indicating that the request data will flow from host to device.
+ *
+ * \see \ref CONTROL_REQTYPE_DIRECTION macro.
+ */
+ #define REQDIR_HOSTTODEVICE (0 << 7)
+
+ /** Request data direction mask, indicating that the request data will flow from device to host.
+ *
+ * \see \ref CONTROL_REQTYPE_DIRECTION macro.
+ */
+ #define REQDIR_DEVICETOHOST (1 << 7)
+ //@}
+
+ /** \name Control Request Type Masks */
+ //@{
+ /** Request type mask, indicating that the request is a standard request.
+ *
+ * \see \ref CONTROL_REQTYPE_TYPE macro.
+ */
+ #define REQTYPE_STANDARD (0 << 5)
+
+ /** Request type mask, indicating that the request is a class-specific request.
+ *
+ * \see \ref CONTROL_REQTYPE_TYPE macro.
+ */
+ #define REQTYPE_CLASS (1 << 5)
+
+ /** Request type mask, indicating that the request is a vendor specific request.
+ *
+ * \see \ref CONTROL_REQTYPE_TYPE macro.
+ */
+ #define REQTYPE_VENDOR (2 << 5)
+ //@}
+
+ /** \name Control Request Recipient Masks */
+ //@{
+ /** Request recipient mask, indicating that the request is to be issued to the device as a whole.
+ *
+ * \see \ref CONTROL_REQTYPE_RECIPIENT macro.
+ */
+ #define REQREC_DEVICE (0 << 0)
+
+ /** Request recipient mask, indicating that the request is to be issued to an interface in the
+ * currently selected configuration.
+ *
+ * \see \ref CONTROL_REQTYPE_RECIPIENT macro.
+ */
+ #define REQREC_INTERFACE (1 << 0)
+
+ /** Request recipient mask, indicating that the request is to be issued to an endpoint in the
+ * currently selected configuration.
+ *
+ * \see \ref CONTROL_REQTYPE_RECIPIENT macro.
+ */
+ #define REQREC_ENDPOINT (2 << 0)
+
+ /** Request recipient mask, indicating that the request is to be issued to an unspecified element
+ * in the currently selected configuration.
+ *
+ * \see \ref CONTROL_REQTYPE_RECIPIENT macro.
+ */
+ #define REQREC_OTHER (3 << 0)
+ //@}
+
+ /* Type Defines: */
+ /** \brief Standard USB Control Request
+ *
+ * Type define for a standard USB control request.
+ *
+ * \see The USB 2.0 specification for more information on standard control requests.
+ */
+ typedef struct
+ {
+ uint8_t bmRequestType; /**< Type of the request. */
+ uint8_t bRequest; /**< Request command code. */
+ uint16_t wValue; /**< wValue parameter of the request. */
+ uint16_t wIndex; /**< wIndex parameter of the request. */
+ uint16_t wLength; /**< Length of the data to transfer in bytes. */
+ } USB_Request_Header_t;
+
+ /* Enums: */
+ /** Enumeration for the various standard request commands. These commands are applicable when the
+ * request type is \ref REQTYPE_STANDARD (with the exception of \ref REQ_GetDescriptor, which is always
+ * handled regardless of the request type value).
+ *
+ * \see Chapter 9 of the USB 2.0 Specification.
+ */
+ enum USB_Control_Request_t
+ {
+ REQ_GetStatus = 0, /**< Implemented in the library for device, endpoint and interface
+ * recipients. Passed to the user application for other recipients
+ * via the \ref EVENT_USB_Device_ControlRequest() event when received in
+ * device mode. */
+ REQ_ClearFeature = 1, /**< Implemented in the library for device, endpoint and interface
+ * recipients. Passed to the user application for other recipients
+ * via the \ref EVENT_USB_Device_ControlRequest() event when received in
+ * device mode. */
+ REQ_SetFeature = 3, /**< Implemented in the library for device, endpoint and interface
+ * recipients. Passed to the user application for other recipients
+ * via the \ref EVENT_USB_Device_ControlRequest() event when received in
+ * device mode. */
+ REQ_SetAddress = 5, /**< Implemented in the library for the device recipient. Passed
+ * to the user application for other recipients via the
+ * \ref EVENT_USB_Device_ControlRequest() event when received in
+ * device mode. */
+ REQ_GetDescriptor = 6, /**< Implemented in the library for device and interface recipients. Passed to the
+ * user application for other recipients via the
+ * \ref EVENT_USB_Device_ControlRequest() event when received in
+ * device mode. */
+ REQ_SetDescriptor = 7, /**< Not implemented in the library, passed to the user application
+ * via the \ref EVENT_USB_Device_ControlRequest() event when received in
+ * device mode. */
+ REQ_GetConfiguration = 8, /**< Implemented in the library for the device recipient. Passed
+ * to the user application for other recipients via the
+ * \ref EVENT_USB_Device_ControlRequest() event when received in
+ * device mode. */
+ REQ_SetConfiguration = 9, /**< Implemented in the library for the device recipient. Passed
+ * to the user application for other recipients via the
+ * \ref EVENT_USB_Device_ControlRequest() event when received in
+ * device mode. */
+ REQ_GetInterface = 10, /**< Not implemented in the library, passed to the user application
+ * via the \ref EVENT_USB_Device_ControlRequest() event when received in
+ * device mode. */
+ REQ_SetInterface = 11, /**< Not implemented in the library, passed to the user application
+ * via the \ref EVENT_USB_Device_ControlRequest() event when received in
+ * device mode. */
+ REQ_SynchFrame = 12, /**< Not implemented in the library, passed to the user application
+ * via the \ref EVENT_USB_Device_ControlRequest() event when received in
+ * device mode. */
+ };
+
+ /** Feature Selector values for Set Feature and Clear Feature standard control requests directed to the device, interface
+ * and endpoint recipients.
+ */
+ enum USB_Feature_Selectors_t
+ {
+ FEATURE_SEL_EndpointHalt = 0x00, /**< Feature selector for Clear Feature or Set Feature commands. When
+ * used in a Set Feature or Clear Feature request this indicates that an
+ * endpoint (whose address is given elsewhere in the request should have
+ * its stall condition changed.
+ */
+ FEATURE_SEL_DeviceRemoteWakeup = 0x01, /**< Feature selector for Device level Remote Wakeup enable set or clear.
+ * This feature can be controlled by the host on devices which indicate
+ * remote wakeup support in their descriptors to selectively disable or
+ * enable remote wakeup.
+ */
+ FEATURE_SEL_TestMode = 0x02, /**< Feature selector for Test Mode features, used to test the USB controller
+ * to check for incorrect operation.
+ */
+ };
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define FEATURE_SELFPOWERED_ENABLED (1 << 0)
+ #define FEATURE_REMOTE_WAKEUP_ENABLED (1 << 1)
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h b/firmware/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h
new file mode 100644
index 0000000..6109de5
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h
@@ -0,0 +1,87 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB endpoint/pipe stream callback management.
+ *
+ * This file contains definitions for the creation of optional callback routines which can be passed to the
+ * endpoint and/or pipe stream APIs, to abort the transfer currently in progress when a condition is met.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+/** \ingroup Group_USB
+ * @defgroup Group_StreamCallbacks Endpoint and Pipe Stream Callbacks
+ *
+ * Macros and enums for the stream callback routines. This module contains the code required to easily set up
+ * stream callback functions which can be used to force early abort of a stream read/write process. Each callback
+ * should take no arguments, and return a value from the \ref StreamCallback_Return_ErrorCodes_t enum.
+ *
+ * @{
+ */
+
+#ifndef __STREAMCALLBACK_H__
+#define __STREAMCALLBACK_H__
+
+ /* Includes: */
+ #include <stdint.h>
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Used with the Endpoint and Pipe stream functions as the callback function parameter, indicating that the stream
+ * call has no callback function to be called between USB packets.
+ */
+ #define NO_STREAM_CALLBACK NULL
+
+ /* Enums: */
+ /** Enum for the possible error return codes of a stream callback function. */
+ enum StreamCallback_Return_ErrorCodes_t
+ {
+ STREAMCALLBACK_Continue = 0, /**< Continue sending or receiving the stream. */
+ STREAMCALLBACK_Abort = 1, /**< Abort the stream send or receiving process. */
+ };
+
+ /* Type Defines: */
+ /** Type define for a Stream Callback function (function taking no arguments and retuning a
+ * uint8_t value). Stream callback functions should have an identical function signature if they
+ * are to be used as the callback parameter of the stream functions.
+ */
+ typedef uint8_t (* const StreamCallbackPtr_t)(void);
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_R.c b/firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_R.c
new file mode 100644
index 0000000..893a390
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_R.c
@@ -0,0 +1,48 @@
+uint8_t TEMPLATE_FUNC_NAME (void* Buffer,
+ uint16_t Length)
+{
+ uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
+
+ if (!(Length))
+ Endpoint_ClearOUT();
+
+ while (Length)
+ {
+ uint8_t USB_DeviceState_LCL = USB_DeviceState;
+
+ if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
+ return ENDPOINT_RWCSTREAM_DeviceDisconnected;
+ else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
+ return ENDPOINT_RWCSTREAM_BusSuspended;
+ else if (Endpoint_IsSETUPReceived())
+ return ENDPOINT_RWCSTREAM_HostAborted;
+
+ if (Endpoint_IsOUTReceived())
+ {
+ while (Length && Endpoint_BytesInEndpoint())
+ {
+ TEMPLATE_TRANSFER_BYTE(DataStream);
+ Length--;
+ }
+
+ Endpoint_ClearOUT();
+ }
+ }
+
+ while (!(Endpoint_IsINReady()))
+ {
+ uint8_t USB_DeviceState_LCL = USB_DeviceState;
+
+ if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
+ return ENDPOINT_RWCSTREAM_DeviceDisconnected;
+ else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
+ return ENDPOINT_RWCSTREAM_BusSuspended;
+ }
+
+ return ENDPOINT_RWCSTREAM_NoError;
+}
+
+
+#undef TEMPLATE_BUFFER_OFFSET
+#undef TEMPLATE_FUNC_NAME
+#undef TEMPLATE_TRANSFER_BYTE
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_W.c b/firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_W.c
new file mode 100644
index 0000000..1bc550f
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_W.c
@@ -0,0 +1,56 @@
+uint8_t TEMPLATE_FUNC_NAME (const void* Buffer,
+ uint16_t Length)
+{
+ uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
+ bool LastPacketFull = false;
+
+ if (Length > USB_ControlRequest.wLength)
+ Length = USB_ControlRequest.wLength;
+ else if (!(Length))
+ Endpoint_ClearIN();
+
+ while (Length || LastPacketFull)
+ {
+ uint8_t USB_DeviceState_LCL = USB_DeviceState;
+
+ if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
+ return ENDPOINT_RWCSTREAM_DeviceDisconnected;
+ else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
+ return ENDPOINT_RWCSTREAM_BusSuspended;
+ else if (Endpoint_IsSETUPReceived())
+ return ENDPOINT_RWCSTREAM_HostAborted;
+ else if (Endpoint_IsOUTReceived())
+ break;
+
+ if (Endpoint_IsINReady())
+ {
+ uint16_t BytesInEndpoint = Endpoint_BytesInEndpoint();
+
+ while (Length && (BytesInEndpoint < USB_ControlEndpointSize))
+ {
+ TEMPLATE_TRANSFER_BYTE(DataStream);
+ Length--;
+ BytesInEndpoint++;
+ }
+
+ LastPacketFull = (BytesInEndpoint == USB_ControlEndpointSize);
+ Endpoint_ClearIN();
+ }
+ }
+
+ while (!(Endpoint_IsOUTReceived()))
+ {
+ uint8_t USB_DeviceState_LCL = USB_DeviceState;
+
+ if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
+ return ENDPOINT_RWCSTREAM_DeviceDisconnected;
+ else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
+ return ENDPOINT_RWCSTREAM_BusSuspended;
+ }
+
+ return ENDPOINT_RWCSTREAM_NoError;
+}
+
+#undef TEMPLATE_BUFFER_OFFSET
+#undef TEMPLATE_FUNC_NAME
+#undef TEMPLATE_TRANSFER_BYTE
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_RW.c b/firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_RW.c
new file mode 100644
index 0000000..a1a1e4b
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_RW.c
@@ -0,0 +1,79 @@
+uint8_t TEMPLATE_FUNC_NAME (TEMPLATE_BUFFER_TYPE Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM)
+{
+ uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
+ uint8_t ErrorCode;
+
+ if ((ErrorCode = Endpoint_WaitUntilReady()))
+ return ErrorCode;
+
+ #if defined(FAST_STREAM_TRANSFERS)
+ uint8_t BytesRemToAlignment = (Endpoint_BytesInEndpoint() & 0x07);
+
+ if (Length >= 8)
+ {
+ Length -= BytesRemToAlignment;
+
+ switch (BytesRemToAlignment)
+ {
+ default:
+ do
+ {
+ if (!(Endpoint_IsReadWriteAllowed()))
+ {
+ TEMPLATE_CLEAR_ENDPOINT();
+
+ #if !defined(NO_STREAM_CALLBACKS)
+ if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
+ return ENDPOINT_RWSTREAM_CallbackAborted;
+ #endif
+
+ if ((ErrorCode = Endpoint_WaitUntilReady()))
+ return ErrorCode;
+ }
+
+ Length -= 8;
+
+ TEMPLATE_TRANSFER_BYTE(DataStream);
+ case 7: TEMPLATE_TRANSFER_BYTE(DataStream);
+ case 6: TEMPLATE_TRANSFER_BYTE(DataStream);
+ case 5: TEMPLATE_TRANSFER_BYTE(DataStream);
+ case 4: TEMPLATE_TRANSFER_BYTE(DataStream);
+ case 3: TEMPLATE_TRANSFER_BYTE(DataStream);
+ case 2: TEMPLATE_TRANSFER_BYTE(DataStream);
+ case 1: TEMPLATE_TRANSFER_BYTE(DataStream);
+ } while (Length >= 8);
+ }
+ }
+ #endif
+
+ while (Length)
+ {
+ if (!(Endpoint_IsReadWriteAllowed()))
+ {
+ TEMPLATE_CLEAR_ENDPOINT();
+
+ #if !defined(NO_STREAM_CALLBACKS)
+ if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
+ return ENDPOINT_RWSTREAM_CallbackAborted;
+ #endif
+
+ if ((ErrorCode = Endpoint_WaitUntilReady()))
+ return ErrorCode;
+ }
+ else
+ {
+ TEMPLATE_TRANSFER_BYTE(DataStream);
+ Length--;
+ }
+ }
+
+ return ENDPOINT_RWSTREAM_NoError;
+}
+
+#undef TEMPLATE_FUNC_NAME
+#undef TEMPLATE_BUFFER_TYPE
+#undef TEMPLATE_TRANSFER_BYTE
+#undef TEMPLATE_CLEAR_ENDPOINT
+#undef TEMPLATE_BUFFER_OFFSET
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Pipe_RW.c b/firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Pipe_RW.c
new file mode 100644
index 0000000..3f8d91f
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/Template/Template_Pipe_RW.c
@@ -0,0 +1,83 @@
+uint8_t TEMPLATE_FUNC_NAME (TEMPLATE_BUFFER_TYPE Buffer,
+ uint16_t Length
+ __CALLBACK_PARAM)
+{
+ uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
+ uint8_t ErrorCode;
+
+ Pipe_SetPipeToken(TEMPLATE_TOKEN);
+
+ if ((ErrorCode = Pipe_WaitUntilReady()))
+ return ErrorCode;
+
+ #if defined(FAST_STREAM_TRANSFERS)
+ uint8_t BytesRemToAlignment = (Pipe_BytesInPipe() & 0x07);
+
+ if (Length >= 8)
+ {
+ Length -= BytesRemToAlignment;
+
+ switch (BytesRemToAlignment)
+ {
+ default:
+ do
+ {
+ if (!(Pipe_IsReadWriteAllowed()))
+ {
+ TEMPLATE_CLEAR_PIPE();
+
+ #if !defined(NO_STREAM_CALLBACKS)
+ if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
+ return PIPE_RWSTREAM_CallbackAborted;
+ #endif
+
+ if ((ErrorCode = Pipe_WaitUntilReady()))
+ return ErrorCode;
+ }
+
+ Length -= 8;
+
+ TEMPLATE_TRANSFER_BYTE(DataStream);
+ case 7: TEMPLATE_TRANSFER_BYTE(DataStream);
+ case 6: TEMPLATE_TRANSFER_BYTE(DataStream);
+ case 5: TEMPLATE_TRANSFER_BYTE(DataStream);
+ case 4: TEMPLATE_TRANSFER_BYTE(DataStream);
+ case 3: TEMPLATE_TRANSFER_BYTE(DataStream);
+ case 2: TEMPLATE_TRANSFER_BYTE(DataStream);
+ case 1: TEMPLATE_TRANSFER_BYTE(DataStream);
+ } while (Length >= 8);
+ }
+ }
+ #endif
+
+ while (Length)
+ {
+ if (!(Pipe_IsReadWriteAllowed()))
+ {
+ TEMPLATE_CLEAR_PIPE();
+
+ #if !defined(NO_STREAM_CALLBACKS)
+ if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
+ return PIPE_RWSTREAM_CallbackAborted;
+ #endif
+
+ if ((ErrorCode = Pipe_WaitUntilReady()))
+ return ErrorCode;
+ }
+ else
+ {
+ TEMPLATE_TRANSFER_BYTE(DataStream);
+ Length--;
+ }
+ }
+
+ return PIPE_RWSTREAM_NoError;
+}
+
+#undef TEMPLATE_FUNC_NAME
+#undef TEMPLATE_BUFFER_TYPE
+#undef TEMPLATE_TOKEN
+#undef TEMPLATE_TRANSFER_BYTE
+#undef TEMPLATE_CLEAR_PIPE
+#undef TEMPLATE_BUFFER_OFFSET
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/USBMode.h b/firmware/LUFA/Drivers/USB/HighLevel/USBMode.h
new file mode 100644
index 0000000..09d3631
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/USBMode.h
@@ -0,0 +1,138 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB mode and capability macros.
+ *
+ * This file defines macros indicating the type of USB controller the library is being compiled for, and its
+ * capabilities. These macros may then be referenced in the user application to selectively enable or disable
+ * code sections depending on if they are defined or not.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+/** \ingroup Group_USB
+ * @defgroup Group_USBMode USB Mode Tokens
+ *
+ * After the inclusion of the master USB driver header, one or more of the following
+ * tokens may be defined, to allow the user code to conditionally enable or disable
+ * code based on the USB controller family and allowable USB modes. These tokens may
+ * be tested against to eliminate code relating to a USB mode which is not enabled for
+ * the given compilation.
+ *
+ * @{
+ */
+
+#ifndef __USBMODE_H__
+#define __USBMODE_H__
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ #if defined(__DOXYGEN__)
+ /** Indicates that the target AVR microcontroller belongs to the Series 2 USB controller
+ * (i.e. AT90USBxxx2 or ATMEGAxxU2) when defined.
+ */
+ #define USB_SERIES_2_AVR
+
+ /** Indicates that the target AVR microcontroller belongs to the Series 4 USB controller
+ * (i.e. ATMEGAxxU4) when defined.
+ */
+ #define USB_SERIES_4_AVR
+
+ /** Indicates that the target AVR microcontroller belongs to the Series 6 USB controller
+ * (i.e. AT90USBxxx6) when defined.
+ */
+ #define USB_SERIES_6_AVR
+
+ /** Indicates that the target AVR microcontroller belongs to the Series 7 USB controller
+ * (i.e. AT90USBxxx7) when defined.
+ */
+ #define USB_SERIES_7_AVR
+
+ /** Indicates that the target AVR microcontroller and compilation settings allow for the
+ * target to be configured in USB Device mode when defined.
+ */
+ #define USB_CAN_BE_DEVICE
+
+ /** Indicates that the target AVR microcontroller and compilation settings allow for the
+ * target to be configured in USB Host mode when defined.
+ */
+ #define USB_CAN_BE_HOST
+
+ /** Indicates that the target AVR microcontroller and compilation settings allow for the
+ * target to be configured in either USB Device or Host mode when defined.
+ */
+ #define USB_CAN_BE_BOTH
+ #else
+ /* Macros: */
+ #if (defined(__AVR_AT90USB162__) || defined(__AVR_AT90USB82__) || \
+ defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega8U2__))
+ #define USB_SERIES_2_AVR
+ #elif (defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega16U4__))
+ #define USB_SERIES_4_AVR
+ #elif (defined(__AVR_ATmega32U6__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__))
+ #define USB_SERIES_6_AVR
+ #elif (defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1287__))
+ #define USB_SERIES_7_AVR
+ #endif
+
+ #if !defined(USB_SERIES_7_AVR)
+ #if defined(USB_HOST_ONLY)
+ #error USB_HOST_ONLY is not available for the currently selected USB AVR model.
+ #endif
+
+ #if !defined(USB_DEVICE_ONLY)
+ #define USB_DEVICE_ONLY
+ #endif
+ #endif
+
+ #if (!defined(USB_DEVICE_ONLY) && !defined(USB_HOST_ONLY))
+ #define USB_CAN_BE_BOTH
+ #define USB_CAN_BE_HOST
+ #define USB_CAN_BE_DEVICE
+ #elif defined(USB_HOST_ONLY)
+ #define USB_CAN_BE_HOST
+ #elif defined(USB_DEVICE_ONLY)
+ #define USB_CAN_BE_DEVICE
+ #endif
+
+ #if (defined(USB_HOST_ONLY) && defined(USB_DEVICE_ONLY))
+ #error USB_HOST_ONLY and USB_DEVICE_ONLY are mutually exclusive.
+ #endif
+ #endif
+
+#endif
+
+/** @} */
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/USBTask.c b/firmware/LUFA/Drivers/USB/HighLevel/USBTask.c
new file mode 100644
index 0000000..6967283
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/USBTask.c
@@ -0,0 +1,89 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USBTASK_C
+#define __INCLUDE_FROM_USB_DRIVER
+#include "USBTask.h"
+
+volatile bool USB_IsInitialized;
+USB_Request_Header_t USB_ControlRequest;
+
+#if defined(USB_CAN_BE_HOST) && !defined(HOST_STATE_AS_GPIOR)
+volatile uint8_t USB_HostState;
+#endif
+
+#if defined(USB_CAN_BE_DEVICE) && !defined(DEVICE_STATE_AS_GPIOR)
+volatile uint8_t USB_DeviceState;
+#endif
+
+void USB_USBTask(void)
+{
+ #if defined(USB_HOST_ONLY)
+ USB_HostTask();
+ #elif defined(USB_DEVICE_ONLY)
+ USB_DeviceTask();
+ #else
+ if (USB_CurrentMode == USB_MODE_Device)
+ USB_DeviceTask();
+ else if (USB_CurrentMode == USB_MODE_Host)
+ USB_HostTask();
+ #endif
+}
+
+#if defined(USB_CAN_BE_DEVICE)
+static void USB_DeviceTask(void)
+{
+ if (USB_DeviceState != DEVICE_STATE_Unattached)
+ {
+ uint8_t PrevEndpoint = Endpoint_GetCurrentEndpoint();
+
+ Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP);
+
+ if (Endpoint_IsSETUPReceived())
+ USB_Device_ProcessControlRequest();
+
+ Endpoint_SelectEndpoint(PrevEndpoint);
+ }
+}
+#endif
+
+#if defined(USB_CAN_BE_HOST)
+static void USB_HostTask(void)
+{
+ uint8_t PrevPipe = Pipe_GetCurrentPipe();
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ USB_Host_ProcessNextHostState();
+
+ Pipe_SelectPipe(PrevPipe);
+}
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/USBTask.h b/firmware/LUFA/Drivers/USB/HighLevel/USBTask.h
new file mode 100644
index 0000000..0af39bf
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/USBTask.h
@@ -0,0 +1,206 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Main USB service task management.
+ *
+ * This file contains the function definitions required for the main USB service task, which must be called
+ * from the user application to ensure that the USB connection to or from a connected USB device is maintained.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+#ifndef __USBTASK_H__
+#define __USBTASK_H__
+
+ /* Includes: */
+ #include <avr/interrupt.h>
+ #include <stdint.h>
+ #include <stdbool.h>
+
+ #include "../LowLevel/USBController.h"
+ #include "Events.h"
+ #include "StdRequestType.h"
+ #include "StdDescriptors.h"
+ #include "USBMode.h"
+
+ #if defined(USB_CAN_BE_DEVICE)
+ #include "DeviceStandardReq.h"
+ #endif
+
+ #if defined(USB_CAN_BE_HOST)
+ #include "HostStandardReq.h"
+ #endif
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Global Variables: */
+ /** Indicates if the USB interface is currently initialized but not necessarily connected to a host
+ * or device (i.e. if \ref USB_Init() has been run). If this is false, all other library globals related
+ * to the USB driver are invalid.
+ *
+ * \note This variable should be treated as read-only in the user application, and never manually
+ * changed in value.
+ *
+ * \ingroup Group_USBManagement
+ */
+ extern volatile bool USB_IsInitialized;
+
+ /** Structure containing the last received Control request when in Device mode (for use in user-applications
+ * inside of the \ref EVENT_USB_Device_ControlRequest() event, or for filling up with a control request to
+ * issue when in Host mode before calling \ref USB_Host_SendControlRequest().
+ *
+ * \ingroup Group_USBManagement
+ */
+ extern USB_Request_Header_t USB_ControlRequest;
+
+ #if defined(USB_CAN_BE_HOST) || defined(__DOXYGEN__)
+ #if !defined(HOST_STATE_AS_GPIOR) || defined(__DOXYGEN__)
+ /** Indicates the current host state machine state. When in host mode, this indicates the state
+ * via one of the values of the \ref USB_Host_States_t enum values.
+ *
+ * This value may be altered by the user application to implement the \ref HOST_STATE_Addressed,
+ * \ref HOST_STATE_Configured and \ref HOST_STATE_Suspended states which are not implemented by
+ * the library internally.
+ *
+ * To reduce program size and speed up checks of this global, it can be placed into one of the AVR's
+ * GPIOR hardware registers instead of RAM by defining the HOST_STATE_AS_GPIOR token to a value
+ * between 0 and 2 in the project makefile and passing it to the compiler via the -D switch. When
+ * defined, the corresponding GPIOR register should not be used in the user application except
+ * implicitly via the library APIs.
+ *
+ * \note This global is only present if the user application can be a USB host.
+ *
+ * \see \ref USB_Host_States_t for a list of possible device states.
+ *
+ * \ingroup Group_Host
+ */
+ extern volatile uint8_t USB_HostState;
+ #else
+ #define _GET_HOST_GPIOR_NAME2(y) GPIOR ## y
+ #define _GET_HOST_GPIOR_NAME(x) _GET_HOST_GPIOR_NAME2(x)
+ #define USB_HostState _GET_HOST_GPIOR_NAME(HOST_STATE_AS_GPIOR)
+ #endif
+ #endif
+
+ #if defined(USB_CAN_BE_DEVICE) || defined(__DOXYGEN__)
+ #if !defined(DEVICE_STATE_AS_GPIOR) || defined(__DOXYGEN__)
+ /** Indicates the current device state machine state. When in device mode, this indicates the state
+ * via one of the values of the \ref USB_Device_States_t enum values.
+ *
+ * This value should not be altered by the user application as it is handled automatically by the
+ * library. The only exception to this rule is if the NO_LIMITED_CONTROLLER_CONNECT token is used
+ * (see \ref EVENT_USB_Device_Connect() and \ref EVENT_USB_Device_Disconnect() events).
+ *
+ * To reduce program size and speed up checks of this global, it can be placed into one of the AVR's
+ * GPIOR hardware registers instead of RAM by defining the DEVICE_STATE_AS_GPIOR token to a value
+ * between 0 and 2 in the project makefile and passing it to the compiler via the -D switch. When
+ * defined, the corresponding GPIOR register should not be used in the user application except
+ * implicitly via the library APIs.
+ *
+ * \note This global is only present if the user application can be a USB device.
+ * \n\n
+ *
+ * \note This variable should be treated as read-only in the user application, and never manually
+ * changed in value except in the circumstances outlined above.
+ *
+ * \see \ref USB_Device_States_t for a list of possible device states.
+ *
+ * \ingroup Group_Device
+ */
+ extern volatile uint8_t USB_DeviceState;
+ #else
+ #define _GET_DEVICE_GPIOR_NAME2(y) GPIOR ## y
+ #define _GET_DEVICE_GPIOR_NAME(x) _GET_DEVICE_GPIOR_NAME2(x)
+ #define USB_DeviceState _GET_DEVICE_GPIOR_NAME(DEVICE_STATE_AS_GPIOR)
+ #endif
+ #endif
+
+ /* Function Prototypes: */
+ /** This is the main USB management task. The USB driver requires this task to be executed
+ * continuously when the USB system is active (device attached in host mode, or attached to a host
+ * in device mode) in order to manage USB communications. This task may be executed inside an RTOS,
+ * fast timer ISR or the main user application loop.
+ *
+ * The USB task must be serviced within 30ms while in device mode, or within 1ms while in host mode.
+ * The task may be serviced at all times, or (for minimum CPU consumption):
+ *
+ * - In device mode, it may be disabled at start-up, enabled on the firing of the \ref EVENT_USB_Device_Connect()
+ * event and disabled again on the firing of the \ref EVENT_USB_Device_Disconnect() event.
+ *
+ * - In host mode, it may be disabled at start-up, enabled on the firing of the \ref EVENT_USB_Host_DeviceAttached()
+ * event and disabled again on the firing of the \ref EVENT_USB_Host_DeviceEnumerationComplete() or
+ * \ref EVENT_USB_Host_DeviceEnumerationFailed() events.
+ *
+ * If in device mode (only), the control endpoint can instead be managed via interrupts entirely by the library
+ * by defining the INTERRUPT_CONTROL_ENDPOINT token and passing it to the compiler via the -D switch.
+ *
+ * \see \ref Group_Events for more information on the USB events.
+ *
+ * \ingroup Group_USBManagement
+ */
+ void USB_USBTask(void);
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Function Prototypes: */
+ #if defined(__INCLUDE_FROM_USBTASK_C)
+ #if defined(USB_CAN_BE_HOST)
+ static void USB_HostTask(void);
+ #endif
+
+ #if defined(USB_CAN_BE_DEVICE)
+ static void USB_DeviceTask(void);
+ #endif
+ #endif
+
+ /* Macros: */
+ #define HOST_TASK_NONBLOCK_WAIT(Duration, NextState) MACROS{ USB_HostState = HOST_STATE_WaitForDevice; \
+ WaitMSRemaining = (Duration); \
+ PostWaitState = (NextState); }MACROE
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/USBTask.lst b/firmware/LUFA/Drivers/USB/HighLevel/USBTask.lst
new file mode 100644
index 0000000..4881054
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/USBTask.lst
@@ -0,0 +1,88 @@
+ 1 .file "USBTask.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.USB_USBTask,"ax",@progbits
+ 17 .global USB_USBTask
+ 19 USB_USBTask:
+ 20 .LFB68:
+ 21 .LSM0:
+ 22 0000 1F93 push r17
+ 23 /* prologue: function */
+ 24 /* frame size = 0 */
+ 25 .LBB22:
+ 26 .LBB23:
+ 27 .LSM1:
+ 28 0002 8091 0000 lds r24,USB_DeviceState
+ 29 0006 8823 tst r24
+ 30 0008 01F0 breq .L4
+ 31 .LBB24:
+ 32 .LBB25:
+ 33 .LBB26:
+ 34 .LSM2:
+ 35 000a 1091 E900 lds r17,233
+ 36 .LBE26:
+ 37 .LBE25:
+ 38 .LBB28:
+ 39 .LBB29:
+ 40 .LSM3:
+ 41 000e 1092 E900 sts 233,__zero_reg__
+ 42 .LBE29:
+ 43 .LBE28:
+ 44 .LBB30:
+ 45 .LBB31:
+ 46 .LSM4:
+ 47 0012 8091 E800 lds r24,232
+ 48 .LBE31:
+ 49 .LBE30:
+ 50 .LSM5:
+ 51 0016 83FF sbrs r24,3
+ 52 0018 00C0 rjmp .L3
+ 53 .LSM6:
+ 54 001a 0E94 0000 call USB_Device_ProcessControlRequest
+ 55 .L3:
+ 56 .LBB32:
+ 57 .LBB27:
+ 58 .LSM7:
+ 59 001e 1770 andi r17,lo8(7)
+ 60 .LBE27:
+ 61 .LBE32:
+ 62 .LBB33:
+ 63 .LBB34:
+ 64 .LSM8:
+ 65 0020 1093 E900 sts 233,r17
+ 66 .L4:
+ 67 /* epilogue start */
+ 68 .LBE34:
+ 69 .LBE33:
+ 70 .LBE24:
+ 71 .LBE23:
+ 72 .LBE22:
+ 73 .LSM9:
+ 74 0024 1F91 pop r17
+ 75 0026 0895 ret
+ 76 .LFE68:
+ 78 .comm USB_IsInitialized,1,1
+ 79 .comm USB_ControlRequest,8,1
+ 80 .comm USB_DeviceState,1,1
+ 105 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 USBTask.c
+ /tmp/ccROWpPW.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccROWpPW.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccROWpPW.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccROWpPW.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccROWpPW.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccROWpPW.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/ccROWpPW.s:19 .text.USB_USBTask:0000000000000000 USB_USBTask
+ *COM*:0000000000000001 USB_DeviceState
+ *COM*:0000000000000001 USB_IsInitialized
+ *COM*:0000000000000008 USB_ControlRequest
+
+UNDEFINED SYMBOLS
+USB_Device_ProcessControlRequest
+__do_clear_bss
diff --git a/firmware/LUFA/Drivers/USB/HighLevel/USBTask.o b/firmware/LUFA/Drivers/USB/HighLevel/USBTask.o
new file mode 100644
index 0000000..1db7f83
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/HighLevel/USBTask.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Device.c b/firmware/LUFA/Drivers/USB/LowLevel/Device.c
new file mode 100644
index 0000000..917fc19
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Device.c
@@ -0,0 +1,53 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../HighLevel/USBMode.h"
+
+#if defined(USB_CAN_BE_DEVICE)
+
+#include "Device.h"
+
+void USB_Device_SendRemoteWakeup(void)
+{
+ if (!(USB_Options & USB_OPT_MANUAL_PLL))
+ {
+ USB_PLL_On();
+ while (!(USB_PLL_IsReady()));
+ }
+
+ USB_CLK_Unfreeze();
+
+ UDCON |= (1 << RMWKUP);
+ while (!(UDCON & (1 << RMWKUP)));
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Device.h b/firmware/LUFA/Drivers/USB/LowLevel/Device.h
new file mode 100644
index 0000000..631c883
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Device.h
@@ -0,0 +1,247 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB device mode definitions.
+ *
+ * This file contains structures, function prototypes and macros related to USB device mode.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+/** \ingroup Group_USB
+ * @defgroup Group_Device Device Management
+ *
+ * USB Device mode related macros and enums. This module contains macros and enums which are used when
+ * the USB controller is initialized in device mode.
+ *
+ * @{
+ */
+
+#ifndef __USBDEVICE_H__
+#define __USBDEVICE_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <avr/pgmspace.h>
+ #include <avr/eeprom.h>
+
+ #include "../../../Common/Common.h"
+ #include "../HighLevel/StdDescriptors.h"
+ #include "USBInterrupt.h"
+ #include "Endpoint.h"
+
+ /* Preprocessor Checks: */
+ #if (defined(USE_RAM_DESCRIPTORS) && defined(USE_EEPROM_DESCRIPTORS))
+ #error USE_RAM_DESCRIPTORS and USE_EEPROM_DESCRIPTORS are mutually exclusive.
+ #endif
+
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** \name USB Device Mode Option Masks */
+ //@{
+ #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR) || defined(__DOXYGEN__)
+ /** Mask for the Options parameter of the \ref USB_Init() function. This indicates that the
+ * USB interface should be initialized in low speed (1.5Mb/s) mode.
+ *
+ * \note Low Speed mode is not available on all USB AVR models.
+ * \n
+ *
+ * \note Restrictions apply on the number, size and type of endpoints which can be used
+ * when running in low speed mode - refer to the USB 2.0 specification.
+ */
+ #define USB_DEVICE_OPT_LOWSPEED (1 << 0)
+ #endif
+
+ /** Mask for the Options parameter of the \ref USB_Init() function. This indicates that the
+ * USB interface should be initialized in full speed (12Mb/s) mode.
+ */
+ #define USB_DEVICE_OPT_FULLSPEED (0 << 0)
+ //@}
+
+ /* Function Prototypes: */
+ /** Sends a Remote Wakeup request to the host. This signals to the host that the device should
+ * be taken out of suspended mode, and communications should resume.
+ *
+ * Typically, this is implemented so that HID devices (mice, keyboards, etc.) can wake up the
+ * host computer when the host has suspended all USB devices to enter a low power state.
+ *
+ * \note This macro should only be used if the device has indicated to the host that it
+ * supports the Remote Wakeup feature in the device descriptors, and should only be
+ * issued if the host is currently allowing remote wakeup events from the device (i.e.,
+ * the \ref USB_RemoteWakeupEnabled flag is set). When the NO_DEVICE_REMOTE_WAKEUP compile
+ * time option is used, this macro is unavailable.
+ * \n\n
+ *
+ * \note The USB clock must be running for this function to operate. If the stack is initialized with
+ * the \ref USB_OPT_MANUAL_PLL option enabled, the user must ensure that the PLL is running
+ * before attempting to call this function.
+ *
+ * \see \ref Group_Descriptors for more information on the RMWAKEUP feature and device descriptors.
+ */
+ void USB_Device_SendRemoteWakeup(void);
+
+ /* Type Defines: */
+ enum USB_Device_States_t
+ {
+ DEVICE_STATE_Unattached = 0, /**< Internally implemented by the library. This state indicates
+ * that the device is not currently connected to a host.
+ */
+ DEVICE_STATE_Powered = 1, /**< Internally implemented by the library. This state indicates
+ * that the device is connected to a host, but enumeration has not
+ * yet begun.
+ */
+ DEVICE_STATE_Default = 2, /**< Internally implemented by the library. This state indicates
+ * that the device's USB bus has been reset by the host and it is
+ * now waiting for the host to begin the enumeration process.
+ */
+ DEVICE_STATE_Addressed = 3, /**< Internally implemented by the library. This state indicates
+ * that the device has been addressed by the USB Host, but is not
+ * yet configured.
+ */
+ DEVICE_STATE_Configured = 4, /**< May be implemented by the user project. This state indicates
+ * that the device has been enumerated by the host and is ready
+ * for USB communications to begin.
+ */
+ DEVICE_STATE_Suspended = 5, /**< May be implemented by the user project. This state indicates
+ * that the USB bus has been suspended by the host, and the device
+ * should power down to a minimal power level until the bus is
+ * resumed.
+ */
+ };
+
+ /* Inline Functions: */
+ /** Returns the current USB frame number, when in device mode. Every millisecond the USB bus is active (i.e. enumerated to a host)
+ * the frame number is incremented by one.
+ */
+ static inline uint16_t USB_Device_GetFrameNumber(void)
+ {
+ return UDFNUM;
+ }
+
+ #if !defined(NO_SOF_EVENTS)
+ /** Enables the device mode Start Of Frame events. When enabled, this causes the
+ * \ref EVENT_USB_Device_StartOfFrame() event to fire once per millisecond, synchronized to the USB bus,
+ * at the start of each USB frame when enumerated in device mode.
+ *
+ * \note Not available when the NO_SOF_EVENTS compile time token is defined.
+ */
+ static inline void USB_Device_EnableSOFEvents(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Device_EnableSOFEvents(void)
+ {
+ USB_INT_Enable(USB_INT_SOFI);
+ }
+
+ /** Disables the device mode Start Of Frame events. When disabled, this stops the firing of the
+ * \ref EVENT_USB_Device_StartOfFrame() event when enumerated in device mode.
+ *
+ * \note Not available when the NO_SOF_EVENTS compile time token is defined.
+ */
+ static inline void USB_Device_DisableSOFEvents(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Device_DisableSOFEvents(void)
+ {
+ USB_INT_Disable(USB_INT_SOFI);
+ }
+ #endif
+
+ /* Function Prototypes: */
+ /** Function to retrieve a given descriptor's size and memory location from the given descriptor type value,
+ * index and language ID. This function MUST be overridden in the user application (added with full, identical
+ * prototype and name so that the library can call it to retrieve descriptor data.
+ *
+ * \param[in] wValue The type of the descriptor to retrieve in the upper byte, and the index in the
+ * lower byte (when more than one descriptor of the given type exists, such as the
+ * case of string descriptors). The type may be one of the standard types defined
+ * in the DescriptorTypes_t enum, or may be a class-specific descriptor type value.
+ * \param[in] wIndex The language ID of the string to return if the wValue type indicates DTYPE_String,
+ * otherwise zero for standard descriptors, or as defined in a class-specific
+ * standards.
+ * \param[out] DescriptorAddress Pointer to the descriptor in memory. This should be set by the routine to
+ * the address of the descriptor.
+ * \param[out] MemoryAddressSpace A value from the \ref USB_DescriptorMemorySpaces_t enum to indicate the memory
+ * space in which the descriptor is stored. This parameter does not exist when one
+ * of the USE_*_DESCRIPTORS compile time options is used.
+ *
+ * \note By default, the library expects all descriptors to be located in flash memory via the PROGMEM attribute.
+ * If descriptors should be located in RAM or EEPROM instead (to speed up access in the case of RAM, or to
+ * allow the descriptors to be changed dynamically at runtime) either the USE_RAM_DESCRIPTORS or the
+ * USE_EEPROM_DESCRIPTORS tokens may be defined in the project makefile and passed to the compiler by the -D
+ * switch.
+ *
+ * \return Size in bytes of the descriptor if it exists, zero or \ref NO_DESCRIPTOR otherwise.
+ */
+ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
+ const uint8_t wIndex,
+ const void** const DescriptorAddress
+ #if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)
+ , uint8_t* MemoryAddressSpace
+ #endif
+ ) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Inline Functions: */
+ #if (defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
+ static inline void USB_Device_SetLowSpeed(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Device_SetLowSpeed(void)
+ {
+ UDCON |= (1 << LSM);
+ }
+
+ static inline void USB_Device_SetFullSpeed(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Device_SetFullSpeed(void)
+ {
+ UDCON &= ~(1 << LSM);
+ }
+ #endif
+
+ static inline void USB_Device_SetDeviceAddress(const uint8_t Address) ATTR_ALWAYS_INLINE;
+ static inline void USB_Device_SetDeviceAddress(const uint8_t Address)
+ {
+ UDADDR = ((UDADDR & (1 << ADDEN)) | (Address & 0x7F));
+ UDADDR |= (1 << ADDEN);
+ }
+
+ static inline bool USB_Device_IsAddressSet(void) ATTR_ALWAYS_INLINE;
+ static inline bool USB_Device_IsAddressSet(void)
+ {
+ return (UDADDR & (1 << ADDEN));
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Device.lst b/firmware/LUFA/Drivers/USB/LowLevel/Device.lst
new file mode 100644
index 0000000..58529ac
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Device.lst
@@ -0,0 +1,64 @@
+ 1 .file "Device.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.USB_Device_SendRemoteWakeup,"ax",@progbits
+ 17 .global USB_Device_SendRemoteWakeup
+ 19 USB_Device_SendRemoteWakeup:
+ 20 .LFB68:
+ 21 .LSM0:
+ 22 /* prologue: function */
+ 23 /* frame size = 0 */
+ 24 .LBB8:
+ 25 .LBB9:
+ 26 .LSM1:
+ 27 0000 84E0 ldi r24,lo8(4)
+ 28 0002 89BD out 73-32,r24
+ 29 .LSM2:
+ 30 0004 89B5 in r24,73-32
+ 31 0006 8260 ori r24,lo8(2)
+ 32 0008 89BD out 73-32,r24
+ 33 .L2:
+ 34 .LBE9:
+ 35 .LBE8:
+ 36 .LSM3:
+ 37 000a 09B4 in __tmp_reg__,73-32
+ 38 000c 00FE sbrs __tmp_reg__,0
+ 39 000e 00C0 rjmp .L2
+ 40 .LBB10:
+ 41 .LBB11:
+ 42 .LSM4:
+ 43 0010 8091 D800 lds r24,216
+ 44 0014 8F7D andi r24,lo8(-33)
+ 45 0016 8093 D800 sts 216,r24
+ 46 .LBE11:
+ 47 .LBE10:
+ 48 .LSM5:
+ 49 001a 8091 E000 lds r24,224
+ 50 001e 8260 ori r24,lo8(2)
+ 51 0020 8093 E000 sts 224,r24
+ 52 .L3:
+ 53 .LSM6:
+ 54 0024 8091 E000 lds r24,224
+ 55 0028 81FF sbrs r24,1
+ 56 002a 00C0 rjmp .L3
+ 57 /* epilogue start */
+ 58 .LSM7:
+ 59 002c 0895 ret
+ 60 .LFE68:
+ 86 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 Device.c
+ /tmp/ccs5tzLN.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccs5tzLN.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccs5tzLN.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccs5tzLN.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccs5tzLN.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccs5tzLN.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/ccs5tzLN.s:19 .text.USB_Device_SendRemoteWakeup:0000000000000000 USB_Device_SendRemoteWakeup
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Device.o b/firmware/LUFA/Drivers/USB/LowLevel/Device.o
new file mode 100644
index 0000000..acfaa56
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Device.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Endpoint.c b/firmware/LUFA/Drivers/USB/LowLevel/Endpoint.c
new file mode 100644
index 0000000..6fb842b
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Endpoint.c
@@ -0,0 +1,141 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../HighLevel/USBMode.h"
+
+#if defined(USB_CAN_BE_DEVICE)
+
+#include "Endpoint.h"
+
+#if !defined(FIXED_CONTROL_ENDPOINT_SIZE)
+uint8_t USB_ControlEndpointSize = ENDPOINT_CONTROLEP_DEFAULT_SIZE;
+#endif
+
+bool Endpoint_ConfigureEndpoint_Prv(const uint8_t Number,
+ const uint8_t UECFG0XData,
+ const uint8_t UECFG1XData)
+{
+ Endpoint_SelectEndpoint(Number);
+ Endpoint_EnableEndpoint();
+
+ UECFG1X = 0;
+ UECFG0X = UECFG0XData;
+ UECFG1X = UECFG1XData;
+
+ return Endpoint_IsConfigured();
+}
+
+void Endpoint_ClearEndpoints(void)
+{
+ UEINT = 0;
+
+ for (uint8_t EPNum = 0; EPNum < ENDPOINT_TOTAL_ENDPOINTS; EPNum++)
+ {
+ Endpoint_SelectEndpoint(EPNum);
+ UEIENX = 0;
+ UEINTX = 0;
+ UECFG1X = 0;
+ Endpoint_DisableEndpoint();
+ }
+}
+
+void Endpoint_ClearStatusStage(void)
+{
+ if (USB_ControlRequest.bmRequestType & REQDIR_DEVICETOHOST)
+ {
+ while (!(Endpoint_IsOUTReceived()))
+ {
+ if (USB_DeviceState == DEVICE_STATE_Unattached)
+ return;
+ }
+
+ Endpoint_ClearOUT();
+ }
+ else
+ {
+ while (!(Endpoint_IsINReady()))
+ {
+ if (USB_DeviceState == DEVICE_STATE_Unattached)
+ return;
+ }
+
+ Endpoint_ClearIN();
+ }
+}
+
+#if !defined(CONTROL_ONLY_DEVICE)
+uint8_t Endpoint_WaitUntilReady(void)
+{
+ #if (USB_STREAM_TIMEOUT_MS < 0xFF)
+ uint8_t TimeoutMSRem = USB_STREAM_TIMEOUT_MS;
+ #else
+ uint16_t TimeoutMSRem = USB_STREAM_TIMEOUT_MS;
+ #endif
+
+ uint16_t PreviousFrameNumber = USB_Device_GetFrameNumber();
+
+ for (;;)
+ {
+ if (Endpoint_GetEndpointDirection() == ENDPOINT_DIR_IN)
+ {
+ if (Endpoint_IsINReady())
+ return ENDPOINT_READYWAIT_NoError;
+ }
+ else
+ {
+ if (Endpoint_IsOUTReceived())
+ return ENDPOINT_READYWAIT_NoError;
+ }
+
+ uint8_t USB_DeviceState_LCL = USB_DeviceState;
+
+ if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
+ return ENDPOINT_READYWAIT_DeviceDisconnected;
+ else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
+ return ENDPOINT_READYWAIT_BusSuspended;
+ else if (Endpoint_IsStalled())
+ return ENDPOINT_READYWAIT_EndpointStalled;
+
+ uint16_t CurrentFrameNumber = USB_Device_GetFrameNumber();
+
+ if (CurrentFrameNumber != PreviousFrameNumber)
+ {
+ PreviousFrameNumber = CurrentFrameNumber;
+
+ if (!(TimeoutMSRem--))
+ return ENDPOINT_READYWAIT_Timeout;
+ }
+ }
+}
+#endif
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Endpoint.h b/firmware/LUFA/Drivers/USB/LowLevel/Endpoint.h
new file mode 100644
index 0000000..88856d8
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Endpoint.h
@@ -0,0 +1,892 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB device endpoint management definitions.
+ *
+ * This file contains structures, function prototypes and macros related to the management of the device's
+ * data endpoints when the library is initialized in USB device mode.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+/** \ingroup Group_EndpointManagement
+ * @defgroup Group_EndpointRW Endpoint Data Reading and Writing
+ *
+ * Functions, macros, variables, enums and types related to data reading and writing from and to endpoints.
+ */
+
+/** \ingroup Group_EndpointRW
+ * @defgroup Group_EndpointPrimitiveRW Read/Write of Primitive Data Types
+ *
+ * Functions, macros, variables, enums and types related to data reading and writing of primitive data types
+ * from and to endpoints.
+ */
+
+/** \ingroup Group_EndpointManagement
+ * @defgroup Group_EndpointPacketManagement Endpoint Packet Management
+ *
+ * Functions, macros, variables, enums and types related to packet management of endpoints.
+ */
+
+/** \ingroup Group_USB
+ * @defgroup Group_EndpointManagement Endpoint Management
+ *
+ * Functions, macros and enums related to endpoint management when in USB Device mode. This
+ * module contains the endpoint management macros, as well as endpoint interrupt and data
+ * send/receive functions for various data types.
+ *
+ * @{
+ */
+
+#ifndef __ENDPOINT_H__
+#define __ENDPOINT_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+ #include "../HighLevel/USBTask.h"
+ #include "USBInterrupt.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define _ENDPOINT_GET_MAXSIZE(EPIndex) _ENDPOINT_GET_MAXSIZE2(ENDPOINT_DETAILS_EP ## EPIndex)
+ #define _ENDPOINT_GET_MAXSIZE2(EPDetails) _ENDPOINT_GET_MAXSIZE3(EPDetails)
+ #define _ENDPOINT_GET_MAXSIZE3(MaxSize, Banks) (MaxSize)
+
+ #define _ENDPOINT_GET_BANKS(EPIndex) _ENDPOINT_GET_BANKS2(ENDPOINT_DETAILS_EP ## EPIndex)
+ #define _ENDPOINT_GET_BANKS2(EPDetails) _ENDPOINT_GET_BANKS3(EPDetails)
+ #define _ENDPOINT_GET_BANKS3(MaxSize, Banks) (Banks)
+
+ #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ #define ENDPOINT_DETAILS_MAXEP 7
+
+ #define ENDPOINT_DETAILS_EP0 64, 2
+ #define ENDPOINT_DETAILS_EP1 256, 2
+ #define ENDPOINT_DETAILS_EP2 64, 2
+ #define ENDPOINT_DETAILS_EP3 64, 2
+ #define ENDPOINT_DETAILS_EP4 64, 2
+ #define ENDPOINT_DETAILS_EP5 64, 2
+ #define ENDPOINT_DETAILS_EP6 64, 2
+ #else
+ #define ENDPOINT_DETAILS_MAXEP 5
+
+ #define ENDPOINT_DETAILS_EP0 64, 2
+ #define ENDPOINT_DETAILS_EP1 64, 1
+ #define ENDPOINT_DETAILS_EP2 64, 1
+ #define ENDPOINT_DETAILS_EP3 64, 2
+ #define ENDPOINT_DETAILS_EP4 64, 2
+ #endif
+
+ /* Inline Functions: */
+ static inline uint8_t Endpoint_BytesToEPSizeMask(const uint16_t Bytes) ATTR_WARN_UNUSED_RESULT ATTR_CONST
+ ATTR_ALWAYS_INLINE;
+ static inline uint8_t Endpoint_BytesToEPSizeMask(const uint16_t Bytes)
+ {
+ uint8_t MaskVal = 0;
+ uint16_t CheckBytes = 8;
+
+ while (CheckBytes < Bytes)
+ {
+ MaskVal++;
+ CheckBytes <<= 1;
+ }
+
+ return (MaskVal << EPSIZE0);
+ }
+
+ /* Function Prototypes: */
+ void Endpoint_ClearEndpoints(void);
+ bool Endpoint_ConfigureEndpoint_Prv(const uint8_t Number,
+ const uint8_t UECFG0XData,
+ const uint8_t UECFG1XData);
+
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** \name Endpoint Direction Masks */
+ //@{
+ /** Endpoint data direction mask for \ref Endpoint_ConfigureEndpoint(). This indicates that the endpoint
+ * should be initialized in the OUT direction - i.e. data flows from host to device.
+ */
+ #define ENDPOINT_DIR_OUT (0 << EPDIR)
+
+ /** Endpoint data direction mask for \ref Endpoint_ConfigureEndpoint(). This indicates that the endpoint
+ * should be initialized in the IN direction - i.e. data flows from device to host.
+ */
+ #define ENDPOINT_DIR_IN (1 << EPDIR)
+ //@}
+
+ /** \name Endpoint Bank Mode Masks */
+ //@{
+ /** Mask for the bank mode selection for the \ref Endpoint_ConfigureEndpoint() macro. This indicates
+ * that the endpoint should have one single bank, which requires less USB FIFO memory but results
+ * in slower transfers as only one USB device (the AVR or the host) can access the endpoint's
+ * bank at the one time.
+ */
+ #define ENDPOINT_BANK_SINGLE (0 << EPBK0)
+
+ /** Mask for the bank mode selection for the \ref Endpoint_ConfigureEndpoint() macro. This indicates
+ * that the endpoint should have two banks, which requires more USB FIFO memory but results
+ * in faster transfers as one USB device (the AVR or the host) can access one bank while the other
+ * accesses the second bank.
+ */
+ #define ENDPOINT_BANK_DOUBLE (1 << EPBK0)
+ //@}
+
+ /** Endpoint address for the default control endpoint, which always resides in address 0. This is
+ * defined for convenience to give more readable code when used with the endpoint macros.
+ */
+ #define ENDPOINT_CONTROLEP 0
+
+ #if (!defined(FIXED_CONTROL_ENDPOINT_SIZE) || defined(__DOXYGEN__))
+ /** Default size of the default control endpoint's bank, until altered by the control endpoint bank size
+ * value in the device descriptor. Not available if the FIXED_CONTROL_ENDPOINT_SIZE token is defined.
+ */
+ #define ENDPOINT_CONTROLEP_DEFAULT_SIZE 8
+ #endif
+
+ /** Endpoint number mask, for masking against endpoint addresses to retrieve the endpoint's
+ * numerical address in the device.
+ */
+ #define ENDPOINT_EPNUM_MASK 0x07
+
+ /** Endpoint direction mask, for masking against endpoint addresses to retrieve the endpoint's
+ * direction for comparing with the ENDPOINT_DESCRIPTOR_DIR_* masks.
+ */
+ #define ENDPOINT_EPDIR_MASK 0x80
+
+ /** Endpoint bank size mask, for masking against endpoint addresses to retrieve the endpoint's
+ * bank size in the device.
+ */
+ #define ENDPOINT_EPSIZE_MASK 0x7F
+
+ /** Maximum size in bytes of a given endpoint.
+ *
+ * \param[in] EPIndex Endpoint number, a value between 0 and (ENDPOINT_TOTAL_ENDPOINTS - 1)
+ */
+ #define ENDPOINT_MAX_SIZE(EPIndex) _ENDPOINT_GET_MAXSIZE(EPIndex)
+
+ /** Indicates the total number of banks supported by the given endpoint.
+ *
+ * \param[in] EPIndex Endpoint number, a value between 0 and (ENDPOINT_TOTAL_ENDPOINTS - 1)
+ */
+ #define ENDPOINT_BANKS_SUPPORTED(EPIndex) _ENDPOINT_GET_BANKS(EPIndex)
+
+ #if !defined(CONTROL_ONLY_DEVICE) || defined(__DOXYGEN__)
+ /** Total number of endpoints (including the default control endpoint at address 0) which may
+ * be used in the device. Different USB AVR models support different amounts of endpoints,
+ * this value reflects the maximum number of endpoints for the currently selected AVR model.
+ */
+ #define ENDPOINT_TOTAL_ENDPOINTS ENDPOINT_DETAILS_MAXEP
+ #else
+ #define ENDPOINT_TOTAL_ENDPOINTS 1
+ #endif
+
+ /* Enums: */
+ /** Enum for the possible error return codes of the \ref Endpoint_WaitUntilReady() function.
+ *
+ * \ingroup Group_EndpointRW
+ */
+ enum Endpoint_WaitUntilReady_ErrorCodes_t
+ {
+ ENDPOINT_READYWAIT_NoError = 0, /**< Endpoint is ready for next packet, no error. */
+ ENDPOINT_READYWAIT_EndpointStalled = 1, /**< The endpoint was stalled during the stream
+ * transfer by the host or device.
+ */
+ ENDPOINT_READYWAIT_DeviceDisconnected = 2, /**< Device was disconnected from the host while
+ * waiting for the endpoint to become ready.
+ */
+ ENDPOINT_READYWAIT_BusSuspended = 3, /**< The USB bus has been suspended by the host and
+ * no USB endpoint traffic can occur until the bus
+ * has resumed.
+ */
+ ENDPOINT_READYWAIT_Timeout = 4, /**< The host failed to accept or send the next packet
+ * within the software timeout period set by the
+ * \ref USB_STREAM_TIMEOUT_MS macro.
+ */
+ };
+
+ /* Inline Functions: */
+ /** Configures the specified endpoint number with the given endpoint type, direction, bank size
+ * and banking mode. Once configured, the endpoint may be read from or written to, depending
+ * on its direction.
+ *
+ * \param[in] Number Endpoint number to configure. This must be more than 0 and less than
+ * \ref ENDPOINT_TOTAL_ENDPOINTS.
+ *
+ * \param[in] Type Type of endpoint to configure, a EP_TYPE_* mask. Not all endpoint types
+ * are available on Low Speed USB devices - refer to the USB 2.0 specification.
+ *
+ * \param[in] Direction Endpoint data direction, either \ref ENDPOINT_DIR_OUT or \ref ENDPOINT_DIR_IN.
+ * All endpoints (except Control type) are unidirectional - data may only be read
+ * from or written to the endpoint bank based on its direction, not both.
+ *
+ * \param[in] Size Size of the endpoint's bank, where packets are stored before they are transmitted
+ * to the USB host, or after they have been received from the USB host (depending on
+ * the endpoint's data direction). The bank size must indicate the maximum packet size
+ * that the endpoint can handle.
+ *
+ * \param[in] Banks Number of banks to use for the endpoint being configured, an ENDPOINT_BANK_* mask.
+ * More banks uses more USB DPRAM, but offers better performance. Isochronous type
+ * endpoints <b>must</b> have at least two banks.
+ *
+ * \note Endpoints <b>must</b> be configured in ascending order, or bank corruption will occur.
+ * \n\n
+ *
+ * \note Certain models of USB AVR's endpoints may have different maximum packet sizes based on the endpoint's
+ * index - refer to the chosen USB AVR's datasheet to determine the maximum bank size for each endpoint.
+ * \n\n
+ *
+ * \note The default control endpoint should not be manually configured by the user application, as
+ * it is automatically configured by the library internally.
+ * \n\n
+ *
+ * \note This routine will automatically select the specified endpoint upon success. Upon failure, the endpoint
+ * which failed to reconfigure correctly will be selected.
+ *
+ * \return Boolean true if the configuration succeeded, false otherwise.
+ */
+ static inline bool Endpoint_ConfigureEndpoint(const uint8_t Number,
+ const uint8_t Type,
+ const uint8_t Direction,
+ const uint16_t Size,
+ const uint8_t Banks) ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_ConfigureEndpoint(const uint8_t Number,
+ const uint8_t Type,
+ const uint8_t Direction,
+ const uint16_t Size,
+ const uint8_t Banks)
+ {
+ return Endpoint_ConfigureEndpoint_Prv(Number, (((Type) << EPTYPE0) | (Direction)),
+ ((1 << ALLOC) | Banks | Endpoint_BytesToEPSizeMask(Size)));
+ }
+
+ /** Indicates the number of bytes currently stored in the current endpoint's selected bank.
+ *
+ * \note The return width of this function may differ, depending on the maximum endpoint bank size
+ * of the selected AVR model.
+ *
+ * \ingroup Group_EndpointRW
+ *
+ * \return Total number of bytes in the currently selected Endpoint's FIFO buffer.
+ */
+ static inline uint16_t Endpoint_BytesInEndpoint(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint16_t Endpoint_BytesInEndpoint(void)
+ {
+ #if defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ return UEBCX;
+ #elif defined(USB_SERIES_4_AVR)
+ return (((uint16_t)UEBCHX << 8) | UEBCLX);
+ #elif defined(USB_SERIES_2_AVR)
+ return UEBCLX;
+ #endif
+ }
+
+ /** Get the endpoint address of the currently selected endpoint. This is typically used to save
+ * the currently selected endpoint number so that it can be restored after another endpoint has
+ * been manipulated.
+ *
+ * \return Index of the currently selected endpoint.
+ */
+ static inline uint8_t Endpoint_GetCurrentEndpoint(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t Endpoint_GetCurrentEndpoint(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ return (UENUM & ENDPOINT_EPNUM_MASK);
+ #else
+ return ENDPOINT_CONTROLEP;
+ #endif
+ }
+
+ /** Selects the given endpoint number. If the address from the device descriptors is used, the
+ * value should be masked with the \ref ENDPOINT_EPNUM_MASK constant to extract only the endpoint
+ * number (and discarding the endpoint direction bit).
+ *
+ * Any endpoint operations which do not require the endpoint number to be indicated will operate on
+ * the currently selected endpoint.
+ *
+ * \param[in] EndpointNumber Endpoint number to select.
+ */
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UENUM = EndpointNumber;
+ #endif
+ }
+
+ /** Resets the endpoint bank FIFO. This clears all the endpoint banks and resets the USB controller's
+ * In and Out pointers to the bank's contents.
+ *
+ * \param[in] EndpointNumber Endpoint number whose FIFO buffers are to be reset.
+ */
+ static inline void Endpoint_ResetFIFO(const uint8_t EndpointNumber) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ResetFIFO(const uint8_t EndpointNumber)
+ {
+ UERST = (1 << EndpointNumber);
+ UERST = 0;
+ }
+
+ /** Enables the currently selected endpoint so that data can be sent and received through it to
+ * and from a host.
+ *
+ * \note Endpoints must first be configured properly via \ref Endpoint_ConfigureEndpoint().
+ */
+ static inline void Endpoint_EnableEndpoint(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_EnableEndpoint(void)
+ {
+ UECONX |= (1 << EPEN);
+ }
+
+ /** Disables the currently selected endpoint so that data cannot be sent and received through it
+ * to and from a host.
+ */
+ static inline void Endpoint_DisableEndpoint(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_DisableEndpoint(void)
+ {
+ UECONX &= ~(1 << EPEN);
+ }
+
+ /** Determines if the currently selected endpoint is enabled, but not necessarily configured.
+ *
+ * \return Boolean True if the currently selected endpoint is enabled, false otherwise.
+ */
+ static inline bool Endpoint_IsEnabled(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsEnabled(void)
+ {
+ return ((UECONX & (1 << EPEN)) ? true : false);
+ }
+
+ /** Aborts all pending IN transactions on the currently selected endpoint, once the bank
+ * has been queued for transmission to the host via \ref Endpoint_ClearIN(). This function
+ * will terminate all queued transactions, resetting the endpoint banks ready for a new
+ * packet.
+ *
+ * \ingroup Group_EndpointPacketManagement
+ */
+ static inline void Endpoint_AbortPendingIN(void)
+ {
+ while (UESTA0X & (0x03 << NBUSYBK0))
+ {
+ UEINTX |= (1 << RXOUTI);
+ while (UEINTX & (1 << RXOUTI));
+ }
+ }
+
+ /** Retrieves the number of busy banks in the currently selected endpoint, which have been queued for
+ * transmission via the \ref Endpoint_ClearIN() command, or are awaiting acknowledgement via the
+ * \ref Endpoint_ClearOUT() command.
+ *
+ * \ingroup Group_EndpointPacketManagement
+ *
+ * \return Total number of busy banks in the selected endpoint.
+ */
+ static inline uint8_t Endpoint_GetBusyBanks(void)
+ {
+ return (UESTA0X & (0x03 << NBUSYBK0));
+ }
+
+ /** Determines if the currently selected endpoint may be read from (if data is waiting in the endpoint
+ * bank and the endpoint is an OUT direction, or if the bank is not yet full if the endpoint is an IN
+ * direction). This function will return false if an error has occurred in the endpoint, if the endpoint
+ * is an OUT direction and no packet (or an empty packet) has been received, or if the endpoint is an IN
+ * direction and the endpoint bank is full.
+ *
+ * \ingroup Group_EndpointPacketManagement
+ *
+ * \return Boolean true if the currently selected endpoint may be read from or written to, depending on its direction.
+ */
+ static inline bool Endpoint_IsReadWriteAllowed(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsReadWriteAllowed(void)
+ {
+ return ((UEINTX & (1 << RWAL)) ? true : false);
+ }
+
+ /** Determines if the currently selected endpoint is configured.
+ *
+ * \return Boolean true if the currently selected endpoint has been configured, false otherwise.
+ */
+ static inline bool Endpoint_IsConfigured(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsConfigured(void)
+ {
+ return ((UESTA0X & (1 << CFGOK)) ? true : false);
+ }
+
+ /** Returns a mask indicating which INTERRUPT type endpoints have interrupted - i.e. their
+ * interrupt duration has elapsed. Which endpoints have interrupted can be determined by
+ * masking the return value against (1 << {Endpoint Number}).
+ *
+ * \return Mask whose bits indicate which endpoints have interrupted.
+ */
+ static inline uint8_t Endpoint_GetEndpointInterrupts(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t Endpoint_GetEndpointInterrupts(void)
+ {
+ return UEINT;
+ }
+
+ /** Determines if the specified endpoint number has interrupted (valid only for INTERRUPT type
+ * endpoints).
+ *
+ * \param[in] EndpointNumber Index of the endpoint whose interrupt flag should be tested.
+ *
+ * \return Boolean true if the specified endpoint has interrupted, false otherwise.
+ */
+ static inline bool Endpoint_HasEndpointInterrupted(const uint8_t EndpointNumber) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_HasEndpointInterrupted(const uint8_t EndpointNumber)
+ {
+ return ((UEINT & (1 << EndpointNumber)) ? true : false);
+ }
+
+ /** Determines if the selected IN endpoint is ready for a new packet to be sent to the host.
+ *
+ * \ingroup Group_EndpointPacketManagement
+ *
+ * \return Boolean true if the current endpoint is ready for an IN packet, false otherwise.
+ */
+ static inline bool Endpoint_IsINReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsINReady(void)
+ {
+ return ((UEINTX & (1 << TXINI)) ? true : false);
+ }
+
+ /** Determines if the selected OUT endpoint has received new packet from the host.
+ *
+ * \ingroup Group_EndpointPacketManagement
+ *
+ * \return Boolean true if current endpoint is has received an OUT packet, false otherwise.
+ */
+ static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsOUTReceived(void)
+ {
+ return ((UEINTX & (1 << RXOUTI)) ? true : false);
+ }
+
+ /** Determines if the current CONTROL type endpoint has received a SETUP packet.
+ *
+ * \ingroup Group_EndpointPacketManagement
+ *
+ * \return Boolean true if the selected endpoint has received a SETUP packet, false otherwise.
+ */
+ static inline bool Endpoint_IsSETUPReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsSETUPReceived(void)
+ {
+ return ((UEINTX & (1 << RXSTPI)) ? true : false);
+ }
+
+ /** Clears a received SETUP packet on the currently selected CONTROL type endpoint, freeing up the
+ * endpoint for the next packet.
+ *
+ * \ingroup Group_EndpointPacketManagement
+ *
+ * \note This is not applicable for non CONTROL type endpoints.
+ */
+ static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearSETUP(void)
+ {
+ UEINTX &= ~(1 << RXSTPI);
+ }
+
+ /** Sends an IN packet to the host on the currently selected endpoint, freeing up the endpoint for the
+ * next packet and switching to the alternative endpoint bank if double banked.
+ *
+ * \ingroup Group_EndpointPacketManagement
+ */
+ static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearIN(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
+ #else
+ UEINTX &= ~(1 << TXINI);
+ #endif
+ }
+
+ /** Acknowledges an OUT packet to the host on the currently selected endpoint, freeing up the endpoint
+ * for the next packet and switching to the alternative endpoint bank if double banked.
+ *
+ * \ingroup Group_EndpointPacketManagement
+ */
+ static inline void Endpoint_ClearOUT(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearOUT(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << RXOUTI) | (1 << FIFOCON));
+ #else
+ UEINTX &= ~(1 << RXOUTI);
+ #endif
+ }
+
+ /** Stalls the current endpoint, indicating to the host that a logical problem occurred with the
+ * indicated endpoint and that the current transfer sequence should be aborted. This provides a
+ * way for devices to indicate invalid commands to the host so that the current transfer can be
+ * aborted and the host can begin its own recovery sequence.
+ *
+ * The currently selected endpoint remains stalled until either the \ref Endpoint_ClearStall() macro
+ * is called, or the host issues a CLEAR FEATURE request to the device for the currently selected
+ * endpoint.
+ *
+ * \ingroup Group_EndpointPacketManagement
+ */
+ static inline void Endpoint_StallTransaction(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_StallTransaction(void)
+ {
+ UECONX |= (1 << STALLRQ);
+ }
+
+ /** Clears the STALL condition on the currently selected endpoint.
+ *
+ * \ingroup Group_EndpointPacketManagement
+ */
+ static inline void Endpoint_ClearStall(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearStall(void)
+ {
+ UECONX |= (1 << STALLRQC);
+ }
+
+ /** Determines if the currently selected endpoint is stalled, false otherwise.
+ *
+ * \ingroup Group_EndpointPacketManagement
+ *
+ * \return Boolean true if the currently selected endpoint is stalled, false otherwise.
+ */
+ static inline bool Endpoint_IsStalled(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsStalled(void)
+ {
+ return ((UECONX & (1 << STALLRQ)) ? true : false);
+ }
+
+ /** Resets the data toggle of the currently selected endpoint. */
+ static inline void Endpoint_ResetDataToggle(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ResetDataToggle(void)
+ {
+ UECONX |= (1 << RSTDT);
+ }
+
+ /** Determines the currently selected endpoint's direction.
+ *
+ * \return The currently selected endpoint's direction, as a ENDPOINT_DIR_* mask.
+ */
+ static inline uint8_t Endpoint_GetEndpointDirection(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t Endpoint_GetEndpointDirection(void)
+ {
+ return (UECFG0X & ENDPOINT_DIR_IN);
+ }
+
+ /** Sets the direction of the currently selected endpoint.
+ *
+ * \param[in] DirectionMask New endpoint direction, as a ENDPOINT_DIR_* mask.
+ */
+ static inline void Endpoint_SetEndpointDirection(const uint8_t DirectionMask) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_SetEndpointDirection(const uint8_t DirectionMask)
+ {
+ UECFG0X = ((UECFG0X & ~ENDPOINT_DIR_IN) | DirectionMask);
+ }
+
+ /** Reads one byte from the currently selected endpoint's bank, for OUT direction endpoints.
+ *
+ * \ingroup Group_EndpointPrimitiveRW
+ *
+ * \return Next byte in the currently selected endpoint's FIFO buffer.
+ */
+ static inline uint8_t Endpoint_Read_Byte(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t Endpoint_Read_Byte(void)
+ {
+ return UEDATX;
+ }
+
+ /** Writes one byte from the currently selected endpoint's bank, for IN direction endpoints.
+ *
+ * \ingroup Group_EndpointPrimitiveRW
+ *
+ * \param[in] Byte Next byte to write into the the currently selected endpoint's FIFO buffer.
+ */
+ static inline void Endpoint_Write_Byte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_Write_Byte(const uint8_t Byte)
+ {
+ UEDATX = Byte;
+ }
+
+ /** Discards one byte from the currently selected endpoint's bank, for OUT direction endpoints.
+ *
+ * \ingroup Group_EndpointPrimitiveRW
+ */
+ static inline void Endpoint_Discard_Byte(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_Discard_Byte(void)
+ {
+ uint8_t Dummy;
+
+ Dummy = UEDATX;
+ }
+
+ /** Reads two bytes from the currently selected endpoint's bank in little endian format, for OUT
+ * direction endpoints.
+ *
+ * \ingroup Group_EndpointPrimitiveRW
+ *
+ * \return Next word in the currently selected endpoint's FIFO buffer.
+ */
+ static inline uint16_t Endpoint_Read_Word_LE(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint16_t Endpoint_Read_Word_LE(void)
+ {
+ union
+ {
+ uint16_t Word;
+ uint8_t Bytes[2];
+ } Data;
+
+ Data.Bytes[0] = UEDATX;
+ Data.Bytes[1] = UEDATX;
+
+ return Data.Word;
+ }
+
+ /** Reads two bytes from the currently selected endpoint's bank in big endian format, for OUT
+ * direction endpoints.
+ *
+ * \ingroup Group_EndpointPrimitiveRW
+ *
+ * \return Next word in the currently selected endpoint's FIFO buffer.
+ */
+ static inline uint16_t Endpoint_Read_Word_BE(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint16_t Endpoint_Read_Word_BE(void)
+ {
+ union
+ {
+ uint16_t Word;
+ uint8_t Bytes[2];
+ } Data;
+
+ Data.Bytes[1] = UEDATX;
+ Data.Bytes[0] = UEDATX;
+
+ return Data.Word;
+ }
+
+ /** Writes two bytes to the currently selected endpoint's bank in little endian format, for IN
+ * direction endpoints.
+ *
+ * \ingroup Group_EndpointPrimitiveRW
+ *
+ * \param[in] Word Next word to write to the currently selected endpoint's FIFO buffer.
+ */
+ static inline void Endpoint_Write_Word_LE(const uint16_t Word) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_Write_Word_LE(const uint16_t Word)
+ {
+ UEDATX = (Word & 0xFF);
+ UEDATX = (Word >> 8);
+ }
+
+ /** Writes two bytes to the currently selected endpoint's bank in big endian format, for IN
+ * direction endpoints.
+ *
+ * \ingroup Group_EndpointPrimitiveRW
+ *
+ * \param[in] Word Next word to write to the currently selected endpoint's FIFO buffer.
+ */
+ static inline void Endpoint_Write_Word_BE(const uint16_t Word) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_Write_Word_BE(const uint16_t Word)
+ {
+ UEDATX = (Word >> 8);
+ UEDATX = (Word & 0xFF);
+ }
+
+ /** Discards two bytes from the currently selected endpoint's bank, for OUT direction endpoints.
+ *
+ * \ingroup Group_EndpointPrimitiveRW
+ */
+ static inline void Endpoint_Discard_Word(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_Discard_Word(void)
+ {
+ uint8_t Dummy;
+
+ Dummy = UEDATX;
+ Dummy = UEDATX;
+ }
+
+ /** Reads four bytes from the currently selected endpoint's bank in little endian format, for OUT
+ * direction endpoints.
+ *
+ * \ingroup Group_EndpointPrimitiveRW
+ *
+ * \return Next double word in the currently selected endpoint's FIFO buffer.
+ */
+ static inline uint32_t Endpoint_Read_DWord_LE(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint32_t Endpoint_Read_DWord_LE(void)
+ {
+ union
+ {
+ uint32_t DWord;
+ uint8_t Bytes[4];
+ } Data;
+
+ Data.Bytes[0] = UEDATX;
+ Data.Bytes[1] = UEDATX;
+ Data.Bytes[2] = UEDATX;
+ Data.Bytes[3] = UEDATX;
+
+ return Data.DWord;
+ }
+
+ /** Reads four bytes from the currently selected endpoint's bank in big endian format, for OUT
+ * direction endpoints.
+ *
+ * \ingroup Group_EndpointPrimitiveRW
+ *
+ * \return Next double word in the currently selected endpoint's FIFO buffer.
+ */
+ static inline uint32_t Endpoint_Read_DWord_BE(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint32_t Endpoint_Read_DWord_BE(void)
+ {
+ union
+ {
+ uint32_t DWord;
+ uint8_t Bytes[4];
+ } Data;
+
+ Data.Bytes[3] = UEDATX;
+ Data.Bytes[2] = UEDATX;
+ Data.Bytes[1] = UEDATX;
+ Data.Bytes[0] = UEDATX;
+
+ return Data.DWord;
+ }
+
+ /** Writes four bytes to the currently selected endpoint's bank in little endian format, for IN
+ * direction endpoints.
+ *
+ * \ingroup Group_EndpointPrimitiveRW
+ *
+ * \param[in] DWord Next double word to write to the currently selected endpoint's FIFO buffer.
+ */
+ static inline void Endpoint_Write_DWord_LE(const uint32_t DWord) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_Write_DWord_LE(const uint32_t DWord)
+ {
+ UEDATX = (DWord & 0xFF);
+ UEDATX = (DWord >> 8);
+ UEDATX = (DWord >> 16);
+ UEDATX = (DWord >> 24);
+ }
+
+ /** Writes four bytes to the currently selected endpoint's bank in big endian format, for IN
+ * direction endpoints.
+ *
+ * \ingroup Group_EndpointPrimitiveRW
+ *
+ * \param[in] DWord Next double word to write to the currently selected endpoint's FIFO buffer.
+ */
+ static inline void Endpoint_Write_DWord_BE(const uint32_t DWord) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_Write_DWord_BE(const uint32_t DWord)
+ {
+ UEDATX = (DWord >> 24);
+ UEDATX = (DWord >> 16);
+ UEDATX = (DWord >> 8);
+ UEDATX = (DWord & 0xFF);
+ }
+
+ /** Discards four bytes from the currently selected endpoint's bank, for OUT direction endpoints.
+ *
+ * \ingroup Group_EndpointPrimitiveRW
+ */
+ static inline void Endpoint_Discard_DWord(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_Discard_DWord(void)
+ {
+ uint8_t Dummy;
+
+ Dummy = UEDATX;
+ Dummy = UEDATX;
+ Dummy = UEDATX;
+ Dummy = UEDATX;
+ }
+
+ /* External Variables: */
+ /** Global indicating the maximum packet size of the default control endpoint located at address
+ * 0 in the device. This value is set to the value indicated in the device descriptor in the user
+ * project once the USB interface is initialized into device mode.
+ *
+ * If space is an issue, it is possible to fix this to a static value by defining the control
+ * endpoint size in the FIXED_CONTROL_ENDPOINT_SIZE token passed to the compiler in the makefile
+ * via the -D switch. When a fixed control endpoint size is used, the size is no longer dynamically
+ * read from the descriptors at runtime and instead fixed to the given value. When used, it is
+ * important that the descriptor control endpoint size value matches the size given as the
+ * FIXED_CONTROL_ENDPOINT_SIZE token - it is recommended that the FIXED_CONTROL_ENDPOINT_SIZE token
+ * be used in the descriptors to ensure this.
+ *
+ * \note This variable should be treated as read-only in the user application, and never manually
+ * changed in value.
+ */
+ #if (!defined(FIXED_CONTROL_ENDPOINT_SIZE) || defined(__DOXYGEN__))
+ extern uint8_t USB_ControlEndpointSize;
+ #else
+ #define USB_ControlEndpointSize FIXED_CONTROL_ENDPOINT_SIZE
+ #endif
+
+ /* Function Prototypes: */
+ /** Completes the status stage of a control transfer on a CONTROL type endpoint automatically,
+ * with respect to the data direction. This is a convenience function which can be used to
+ * simplify user control request handling.
+ */
+ void Endpoint_ClearStatusStage(void);
+
+ /** Spin-loops until the currently selected non-control endpoint is ready for the next packet of data
+ * to be read or written to it.
+ *
+ * \note This routine should not be called on CONTROL type endpoints.
+ *
+ * \ingroup Group_EndpointRW
+ *
+ * \return A value from the \ref Endpoint_WaitUntilReady_ErrorCodes_t enum.
+ */
+ uint8_t Endpoint_WaitUntilReady(void);
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Endpoint.lst b/firmware/LUFA/Drivers/USB/LowLevel/Endpoint.lst
new file mode 100644
index 0000000..4072e12
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Endpoint.lst
@@ -0,0 +1,283 @@
+ 1 .file "Endpoint.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.Endpoint_ConfigureEndpoint_Prv,"ax",@progbits
+ 17 .global Endpoint_ConfigureEndpoint_Prv
+ 19 Endpoint_ConfigureEndpoint_Prv:
+ 20 .LFB68:
+ 21 .LSM0:
+ 22 .LVL0:
+ 23 /* prologue: function */
+ 24 /* frame size = 0 */
+ 25 .LBB34:
+ 26 .LBB35:
+ 27 .LSM1:
+ 28 0000 8093 E900 sts 233,r24
+ 29 .LBE35:
+ 30 .LBE34:
+ 31 .LBB36:
+ 32 .LBB37:
+ 33 .LSM2:
+ 34 0004 8091 EB00 lds r24,235
+ 35 .LVL1:
+ 36 0008 8160 ori r24,lo8(1)
+ 37 000a 8093 EB00 sts 235,r24
+ 38 .LBE37:
+ 39 .LBE36:
+ 40 .LSM3:
+ 41 000e 1092 ED00 sts 237,__zero_reg__
+ 42 .LSM4:
+ 43 0012 6093 EC00 sts 236,r22
+ 44 .LSM5:
+ 45 0016 4093 ED00 sts 237,r20
+ 46 .LBB38:
+ 47 .LBB39:
+ 48 .LSM6:
+ 49 001a 8091 EE00 lds r24,238
+ 50 .LBE39:
+ 51 .LBE38:
+ 52 .LSM7:
+ 53 001e 881F rol r24
+ 54 0020 8827 clr r24
+ 55 0022 881F rol r24
+ 56 /* epilogue start */
+ 57 0024 0895 ret
+ 58 .LFE68:
+ 60 .section .text.Endpoint_ClearEndpoints,"ax",@progbits
+ 61 .global Endpoint_ClearEndpoints
+ 63 Endpoint_ClearEndpoints:
+ 64 .LFB69:
+ 65 .LSM8:
+ 66 /* prologue: function */
+ 67 /* frame size = 0 */
+ 68 .LSM9:
+ 69 0000 1092 F400 sts 244,__zero_reg__
+ 70 0004 90E0 ldi r25,lo8(0)
+ 71 .LVL2:
+ 72 .L5:
+ 73 .LBB40:
+ 74 .LBB41:
+ 75 .LBB42:
+ 76 .LSM10:
+ 77 0006 9093 E900 sts 233,r25
+ 78 .LBE42:
+ 79 .LBE41:
+ 80 .LSM11:
+ 81 000a 1092 F000 sts 240,__zero_reg__
+ 82 .LSM12:
+ 83 000e 1092 E800 sts 232,__zero_reg__
+ 84 .LSM13:
+ 85 0012 1092 ED00 sts 237,__zero_reg__
+ 86 .LBB43:
+ 87 .LBB44:
+ 88 .LSM14:
+ 89 0016 8091 EB00 lds r24,235
+ 90 001a 8E7F andi r24,lo8(-2)
+ 91 001c 8093 EB00 sts 235,r24
+ 92 .LBE44:
+ 93 .LBE43:
+ 94 .LSM15:
+ 95 0020 9F5F subi r25,lo8(-(1))
+ 96 0022 9530 cpi r25,lo8(5)
+ 97 0024 01F4 brne .L5
+ 98 /* epilogue start */
+ 99 .LBE40:
+ 100 .LSM16:
+ 101 0026 0895 ret
+ 102 .LFE69:
+ 104 .section .text.Endpoint_ClearStatusStage,"ax",@progbits
+ 105 .global Endpoint_ClearStatusStage
+ 107 Endpoint_ClearStatusStage:
+ 108 .LFB70:
+ 109 .LSM17:
+ 110 /* prologue: function */
+ 111 /* frame size = 0 */
+ 112 .LSM18:
+ 113 0000 8091 0000 lds r24,USB_ControlRequest
+ 114 0004 8823 tst r24
+ 115 0006 04F4 brge .L16
+ 116 0008 00C0 rjmp .L15
+ 117 .L12:
+ 118 .LSM19:
+ 119 000a 8091 0000 lds r24,USB_DeviceState
+ 120 000e 8823 tst r24
+ 121 0010 01F0 breq .L14
+ 122 .L15:
+ 123 .LBB45:
+ 124 .LBB46:
+ 125 .LSM20:
+ 126 0012 8091 E800 lds r24,232
+ 127 .LBE46:
+ 128 .LBE45:
+ 129 .LSM21:
+ 130 0016 82FF sbrs r24,2
+ 131 0018 00C0 rjmp .L12
+ 132 .LBB47:
+ 133 .LBB48:
+ 134 .LSM22:
+ 135 001a 8091 E800 lds r24,232
+ 136 001e 8B77 andi r24,lo8(123)
+ 137 0020 8093 E800 sts 232,r24
+ 138 0024 0895 ret
+ 139 .L13:
+ 140 .LBE48:
+ 141 .LBE47:
+ 142 .LSM23:
+ 143 0026 8091 0000 lds r24,USB_DeviceState
+ 144 002a 8823 tst r24
+ 145 002c 01F0 breq .L14
+ 146 .L16:
+ 147 .LBB49:
+ 148 .LBB50:
+ 149 .LSM24:
+ 150 002e 8091 E800 lds r24,232
+ 151 .LBE50:
+ 152 .LBE49:
+ 153 .LSM25:
+ 154 0032 80FF sbrs r24,0
+ 155 0034 00C0 rjmp .L13
+ 156 .LBB51:
+ 157 .LBB52:
+ 158 .LSM26:
+ 159 0036 8091 E800 lds r24,232
+ 160 003a 8E77 andi r24,lo8(126)
+ 161 003c 8093 E800 sts 232,r24
+ 162 .L14:
+ 163 0040 0895 ret
+ 164 .LBE52:
+ 165 .LBE51:
+ 166 .LFE70:
+ 168 .section .text.Endpoint_WaitUntilReady,"ax",@progbits
+ 169 .global Endpoint_WaitUntilReady
+ 171 Endpoint_WaitUntilReady:
+ 172 .LFB71:
+ 173 .LSM27:
+ 174 /* prologue: function */
+ 175 /* frame size = 0 */
+ 176 .LBB53:
+ 177 .LBB54:
+ 178 .LSM28:
+ 179 0000 4091 E400 lds r20,228
+ 180 0004 5091 E500 lds r21,(228)+1
+ 181 .LVL3:
+ 182 0008 24E6 ldi r18,lo8(100)
+ 183 .LVL4:
+ 184 .L30:
+ 185 .LBE54:
+ 186 .LBE53:
+ 187 .LBB55:
+ 188 .LBB56:
+ 189 .LBB57:
+ 190 .LSM29:
+ 191 000a 8091 EC00 lds r24,236
+ 192 .LVL5:
+ 193 .LBE57:
+ 194 .LBE56:
+ 195 .LSM30:
+ 196 000e 80FF sbrs r24,0
+ 197 0010 00C0 rjmp .L18
+ 198 .LBB58:
+ 199 .LBB59:
+ 200 .LSM31:
+ 201 0012 8091 E800 lds r24,232
+ 202 .LBE59:
+ 203 .LBE58:
+ 204 .LSM32:
+ 205 0016 80FF sbrs r24,0
+ 206 0018 00C0 rjmp .L20
+ 207 001a 00C0 rjmp .L19
+ 208 .L18:
+ 209 .LBB60:
+ 210 .LBB61:
+ 211 .LSM33:
+ 212 001c 8091 E800 lds r24,232
+ 213 .LBE61:
+ 214 .LBE60:
+ 215 .LSM34:
+ 216 0020 82FD sbrc r24,2
+ 217 0022 00C0 rjmp .L19
+ 218 .L20:
+ 219 .LSM35:
+ 220 0024 8091 0000 lds r24,USB_DeviceState
+ 221 .LVL6:
+ 222 .LSM36:
+ 223 0028 8823 tst r24
+ 224 002a 01F4 brne .L21
+ 225 002c 82E0 ldi r24,lo8(2)
+ 226 .LVL7:
+ 227 002e 0895 ret
+ 228 .LVL8:
+ 229 .L21:
+ 230 .LSM37:
+ 231 0030 8530 cpi r24,lo8(5)
+ 232 0032 01F4 brne .L23
+ 233 0034 83E0 ldi r24,lo8(3)
+ 234 .LVL9:
+ 235 0036 0895 ret
+ 236 .LVL10:
+ 237 .L23:
+ 238 .LBB62:
+ 239 .LBB63:
+ 240 .LSM38:
+ 241 0038 8091 EB00 lds r24,235
+ 242 .LVL11:
+ 243 .LBE63:
+ 244 .LBE62:
+ 245 .LSM39:
+ 246 003c 85FF sbrs r24,5
+ 247 003e 00C0 rjmp .L24
+ 248 0040 81E0 ldi r24,lo8(1)
+ 249 0042 0895 ret
+ 250 .L24:
+ 251 .LBB64:
+ 252 .LBB65:
+ 253 .LSM40:
+ 254 0044 8091 E400 lds r24,228
+ 255 0048 9091 E500 lds r25,(228)+1
+ 256 .LVL12:
+ 257 .LBE65:
+ 258 .LBE64:
+ 259 .LSM41:
+ 260 004c 8417 cp r24,r20
+ 261 004e 9507 cpc r25,r21
+ 262 0050 01F0 breq .L30
+ 263 .LSM42:
+ 264 0052 2223 tst r18
+ 265 0054 01F4 brne .L26
+ 266 0056 84E0 ldi r24,lo8(4)
+ 267 .LVL13:
+ 268 0058 0895 ret
+ 269 .LVL14:
+ 270 .L26:
+ 271 005a 2150 subi r18,lo8(-(-1))
+ 272 005c AC01 movw r20,r24
+ 273 005e 00C0 rjmp .L30
+ 274 .LVL15:
+ 275 .L19:
+ 276 0060 80E0 ldi r24,lo8(0)
+ 277 .LBE55:
+ 278 .LSM43:
+ 279 0062 0895 ret
+ 280 .LFE71:
+ 330 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 Endpoint.c
+ /tmp/ccC3I4DX.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccC3I4DX.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccC3I4DX.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccC3I4DX.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccC3I4DX.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccC3I4DX.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/ccC3I4DX.s:19 .text.Endpoint_ConfigureEndpoint_Prv:0000000000000000 Endpoint_ConfigureEndpoint_Prv
+ /tmp/ccC3I4DX.s:63 .text.Endpoint_ClearEndpoints:0000000000000000 Endpoint_ClearEndpoints
+ /tmp/ccC3I4DX.s:107 .text.Endpoint_ClearStatusStage:0000000000000000 Endpoint_ClearStatusStage
+ /tmp/ccC3I4DX.s:171 .text.Endpoint_WaitUntilReady:0000000000000000 Endpoint_WaitUntilReady
+
+UNDEFINED SYMBOLS
+USB_ControlRequest
+USB_DeviceState
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Endpoint.o b/firmware/LUFA/Drivers/USB/LowLevel/Endpoint.o
new file mode 100644
index 0000000..e669870
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Endpoint.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Host.c b/firmware/LUFA/Drivers/USB/LowLevel/Host.c
new file mode 100644
index 0000000..7f76a1c
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Host.c
@@ -0,0 +1,355 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../HighLevel/USBMode.h"
+
+#if defined(USB_CAN_BE_HOST)
+
+#define __INCLUDE_FROM_HOST_C
+#include "Host.h"
+
+void USB_Host_ProcessNextHostState(void)
+{
+ uint8_t ErrorCode = HOST_ENUMERROR_NoError;
+ uint8_t SubErrorCode = HOST_ENUMERROR_NoError;
+
+ static uint16_t WaitMSRemaining;
+ static uint8_t PostWaitState;
+
+ switch (USB_HostState)
+ {
+ case HOST_STATE_WaitForDevice:
+ if (WaitMSRemaining)
+ {
+ if ((SubErrorCode = USB_Host_WaitMS(1)) != HOST_WAITERROR_Successful)
+ {
+ USB_HostState = PostWaitState;
+ ErrorCode = HOST_ENUMERROR_WaitStage;
+ break;
+ }
+
+ if (!(--WaitMSRemaining))
+ USB_HostState = PostWaitState;
+ }
+
+ break;
+ case HOST_STATE_Powered:
+ WaitMSRemaining = HOST_DEVICE_SETTLE_DELAY_MS;
+
+ USB_HostState = HOST_STATE_Powered_WaitForDeviceSettle;
+ break;
+ case HOST_STATE_Powered_WaitForDeviceSettle:
+ if (WaitMSRemaining--)
+ {
+ _delay_ms(1);
+ break;
+ }
+ else
+ {
+ USB_Host_VBUS_Manual_Off();
+
+ USB_OTGPAD_On();
+ USB_Host_VBUS_Auto_Enable();
+ USB_Host_VBUS_Auto_On();
+
+ USB_HostState = HOST_STATE_Powered_WaitForConnect;
+ }
+
+ break;
+ case HOST_STATE_Powered_WaitForConnect:
+ if (USB_INT_HasOccurred(USB_INT_DCONNI))
+ {
+ USB_INT_Clear(USB_INT_DCONNI);
+ USB_INT_Clear(USB_INT_DDISCI);
+
+ USB_INT_Clear(USB_INT_VBERRI);
+ USB_INT_Enable(USB_INT_VBERRI);
+
+ USB_Host_ResumeBus();
+ Pipe_ClearPipes();
+
+ HOST_TASK_NONBLOCK_WAIT(100, HOST_STATE_Powered_DoReset);
+ }
+
+ break;
+ case HOST_STATE_Powered_DoReset:
+ USB_Host_ResetDevice();
+
+ HOST_TASK_NONBLOCK_WAIT(200, HOST_STATE_Powered_ConfigPipe);
+ break;
+ case HOST_STATE_Powered_ConfigPipe:
+ Pipe_ConfigurePipe(PIPE_CONTROLPIPE, EP_TYPE_CONTROL,
+ PIPE_TOKEN_SETUP, ENDPOINT_CONTROLEP,
+ PIPE_CONTROLPIPE_DEFAULT_SIZE, PIPE_BANK_SINGLE);
+
+ if (!(Pipe_IsConfigured()))
+ {
+ ErrorCode = HOST_ENUMERROR_PipeConfigError;
+ SubErrorCode = 0;
+ break;
+ }
+
+ USB_HostState = HOST_STATE_Default;
+ break;
+ case HOST_STATE_Default:
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE),
+ .bRequest = REQ_GetDescriptor,
+ .wValue = (DTYPE_Device << 8),
+ .wIndex = 0,
+ .wLength = 8,
+ };
+
+ uint8_t DataBuffer[8];
+
+ if ((SubErrorCode = USB_Host_SendControlRequest(DataBuffer)) != HOST_SENDCONTROL_Successful)
+ {
+ ErrorCode = HOST_ENUMERROR_ControlError;
+ break;
+ }
+
+ USB_ControlPipeSize = DataBuffer[offsetof(USB_Descriptor_Device_t, Endpoint0Size)];
+
+ USB_Host_ResetDevice();
+
+ HOST_TASK_NONBLOCK_WAIT(200, HOST_STATE_Default_PostReset);
+ break;
+ case HOST_STATE_Default_PostReset:
+ Pipe_ConfigurePipe(PIPE_CONTROLPIPE, EP_TYPE_CONTROL,
+ PIPE_TOKEN_SETUP, ENDPOINT_CONTROLEP,
+ USB_ControlPipeSize, PIPE_BANK_SINGLE);
+
+ if (!(Pipe_IsConfigured()))
+ {
+ ErrorCode = HOST_ENUMERROR_PipeConfigError;
+ SubErrorCode = 0;
+ break;
+ }
+
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE),
+ .bRequest = REQ_SetAddress,
+ .wValue = USB_HOST_DEVICEADDRESS,
+ .wIndex = 0,
+ .wLength = 0,
+ };
+
+ if ((SubErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)
+ {
+ ErrorCode = HOST_ENUMERROR_ControlError;
+ break;
+ }
+
+ HOST_TASK_NONBLOCK_WAIT(100, HOST_STATE_Default_PostAddressSet);
+ break;
+ case HOST_STATE_Default_PostAddressSet:
+ USB_Host_SetDeviceAddress(USB_HOST_DEVICEADDRESS);
+
+ EVENT_USB_Host_DeviceEnumerationComplete();
+ USB_HostState = HOST_STATE_Addressed;
+ break;
+ }
+
+ if ((ErrorCode != HOST_ENUMERROR_NoError) && (USB_HostState != HOST_STATE_Unattached))
+ {
+ EVENT_USB_Host_DeviceEnumerationFailed(ErrorCode, SubErrorCode);
+
+ USB_Host_VBUS_Auto_Off();
+
+ EVENT_USB_Host_DeviceUnattached();
+
+ USB_ResetInterface();
+ }
+}
+
+uint8_t USB_Host_WaitMS(uint8_t MS)
+{
+ bool BusSuspended = USB_Host_IsBusSuspended();
+ uint8_t ErrorCode = HOST_WAITERROR_Successful;
+ bool HSOFIEnabled = USB_INT_IsEnabled(USB_INT_HSOFI);
+
+ USB_INT_Disable(USB_INT_HSOFI);
+ USB_INT_Clear(USB_INT_HSOFI);
+
+ USB_Host_ResumeBus();
+
+ while (MS)
+ {
+ if (USB_INT_HasOccurred(USB_INT_HSOFI))
+ {
+ USB_INT_Clear(USB_INT_HSOFI);
+ MS--;
+ }
+
+ if ((USB_HostState == HOST_STATE_Unattached) || (USB_CurrentMode != USB_MODE_Host))
+ {
+ ErrorCode = HOST_WAITERROR_DeviceDisconnect;
+
+ break;
+ }
+
+ if (Pipe_IsError() == true)
+ {
+ Pipe_ClearError();
+ ErrorCode = HOST_WAITERROR_PipeError;
+
+ break;
+ }
+
+ if (Pipe_IsStalled() == true)
+ {
+ Pipe_ClearStall();
+ ErrorCode = HOST_WAITERROR_SetupStalled;
+
+ break;
+ }
+ }
+
+ if (BusSuspended)
+ USB_Host_SuspendBus();
+
+ if (HSOFIEnabled)
+ USB_INT_Enable(USB_INT_HSOFI);
+
+ return ErrorCode;
+}
+
+static void USB_Host_ResetDevice(void)
+{
+ bool BusSuspended = USB_Host_IsBusSuspended();
+
+ USB_INT_Disable(USB_INT_DDISCI);
+
+ USB_Host_ResetBus();
+ while (!(USB_Host_IsBusResetComplete()));
+ USB_Host_ResumeBus();
+
+ bool HSOFIEnabled = USB_INT_IsEnabled(USB_INT_HSOFI);
+
+ USB_INT_Disable(USB_INT_HSOFI);
+ USB_INT_Clear(USB_INT_HSOFI);
+
+ for (uint8_t MSRem = 10; MSRem != 0; MSRem--)
+ {
+ /* Workaround for powerless-pull-up devices. After a USB bus reset,
+ all disconnection interrupts are suppressed while a USB frame is
+ looked for - if it is found within 10ms, the device is still
+ present. */
+
+ if (USB_INT_HasOccurred(USB_INT_HSOFI))
+ {
+ USB_INT_Clear(USB_INT_HSOFI);
+ USB_INT_Clear(USB_INT_DDISCI);
+ break;
+ }
+
+ _delay_ms(1);
+ }
+
+ if (HSOFIEnabled)
+ USB_INT_Enable(USB_INT_HSOFI);
+
+ if (BusSuspended)
+ USB_Host_SuspendBus();
+
+ USB_INT_Enable(USB_INT_DDISCI);
+}
+
+uint8_t USB_Host_SetDeviceConfiguration(const uint8_t ConfigNumber)
+{
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE),
+ .bRequest = REQ_SetConfiguration,
+ .wValue = ConfigNumber,
+ .wIndex = 0,
+ .wLength = 0,
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ return USB_Host_SendControlRequest(NULL);
+}
+
+uint8_t USB_Host_GetDeviceDescriptor(void* const DeviceDescriptorPtr)
+{
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE),
+ .bRequest = REQ_GetDescriptor,
+ .wValue = (DTYPE_Device << 8),
+ .wIndex = 0,
+ .wLength = sizeof(USB_Descriptor_Device_t),
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ return USB_Host_SendControlRequest(DeviceDescriptorPtr);
+}
+
+uint8_t USB_Host_GetDeviceStringDescriptor(const uint8_t Index,
+ void* const Buffer,
+ const uint8_t BufferLength)
+{
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE),
+ .bRequest = REQ_GetDescriptor,
+ .wValue = (DTYPE_String << 8) | Index,
+ .wIndex = 0,
+ .wLength = BufferLength,
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ return USB_Host_SendControlRequest(Buffer);
+}
+
+uint8_t USB_Host_ClearPipeStall(const uint8_t EndpointNum)
+{
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_ENDPOINT),
+ .bRequest = REQ_ClearFeature,
+ .wValue = FEATURE_SEL_EndpointHalt,
+ .wIndex = EndpointNum,
+ .wLength = 0,
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ return USB_Host_SendControlRequest(NULL);
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Host.h b/firmware/LUFA/Drivers/USB/LowLevel/Host.h
new file mode 100644
index 0000000..dce3a95
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Host.h
@@ -0,0 +1,527 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB host mode definitions.
+ *
+ * This file contains structures, function prototypes and macros related to USB host mode.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+/** \ingroup Group_USB
+ * @defgroup Group_Host Host Management
+ *
+ * USB Host mode related macros and enums. This module contains macros and enums which are used when
+ * the USB controller is initialized in host mode.
+ *
+ * @{
+ */
+
+#ifndef __USBHOST_H__
+#define __USBHOST_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+ #include <util/delay.h>
+
+ #include "../../../Common/Common.h"
+ #include "../HighLevel/StdDescriptors.h"
+ #include "Pipe.h"
+ #include "USBInterrupt.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Indicates the fixed USB device address which any attached device is enumerated to when in
+ * host mode. As only one USB device may be attached to the AVR in host mode at any one time
+ * and that the address used is not important (other than the fact that it is non-zero), a
+ * fixed value is specified by the library.
+ */
+ #define USB_HOST_DEVICEADDRESS 1
+
+ #if !defined(USB_HOST_TIMEOUT_MS) || defined(__DOXYGEN__)
+ /** Constant for the maximum software timeout period of sent USB control transactions to an attached
+ * device. If a device fails to respond to a sent control request within this period, the
+ * library will return a timeout error code.
+ *
+ * This value may be overridden in the user project makefile as the value of the
+ * \ref USB_HOST_TIMEOUT_MS token, and passed to the compiler using the -D switch.
+ */
+ #define USB_HOST_TIMEOUT_MS 1000
+ #endif
+
+ #if !defined(HOST_DEVICE_SETTLE_DELAY_MS) || defined(__DOXYGEN__)
+ /** Constant for the delay in milliseconds after a device is connected before the library
+ * will start the enumeration process. Some devices require a delay of up to 5 seconds
+ * after connection before the enumeration process can start or incorrect operation will
+ * occur.
+ *
+ * The default delay value may be overridden in the user project makefile by definining the
+ * HOST_DEVICE_SETTLE_DELAY_MS token to tbe required delay in milliseconds, and passed to the
+ * compiler using the -D switch.
+ */
+ #define HOST_DEVICE_SETTLE_DELAY_MS 1000
+ #endif
+
+ /* Enums: */
+ /** Enum for the various states of the USB Host state machine. Only some states are
+ * implemented in the LUFA library - other states are left to the user to implement.
+ *
+ * For information on each possible USB host state, refer to the USB 2.0 specification.
+ * Several of the USB host states are broken up further into multiple smaller sub-states,
+ * so that they can be internally implemented inside the library in an efficient manner.
+ *
+ * \see \ref USB_HostState, which stores the current host state machine state.
+ */
+ enum USB_Host_States_t
+ {
+ HOST_STATE_WaitForDeviceRemoval = 0, /**< Internally implemented by the library. This state can be
+ * used by the library to wait until the attached device is
+ * removed by the user - useful for when an error occurs or
+ * further communication with the device is not needed. This
+ * allows for other code to run while the state machine is
+ * effectively disabled.
+ */
+ HOST_STATE_WaitForDevice = 1, /**< Internally implemented by the library. This state indicates
+ * that the stack is waiting for an interval to elapse before
+ * continuing with the next step of the device enumeration
+ * process.
+ *
+ * \note Do not manually change to this state in the user code.
+ */
+ HOST_STATE_Unattached = 2, /**< Internally implemented by the library. This state indicates
+ * that the host state machine is waiting for a device to be
+ * attached so that it can start the enumeration process.
+ *
+ * \note Do not manually change to this state in the user code.
+ */
+ HOST_STATE_Powered = 3, /**< Internally implemented by the library. This state indicates
+ * that a device has been attached, and the library's internals
+ * are being configured to begin the enumeration process.
+ *
+ * \note Do not manually change to this state in the user code.
+ */
+ HOST_STATE_Powered_WaitForDeviceSettle = 4, /**< Internally implemented by the library. This state indicates
+ * that the stack is waiting for the initial settling period to
+ * elapse before beginning the enumeration process.
+ *
+ * \note Do not manually change to this state in the user code.
+ */
+ HOST_STATE_Powered_WaitForConnect = 5, /**< Internally implemented by the library. This state indicates
+ * that the stack is waiting for a connection event from the USB
+ * controller to indicate a valid USB device has been attached to
+ * the bus and is ready to be enumerated.
+ *
+ * \note Do not manually change to this state in the user code.
+ */
+ HOST_STATE_Powered_DoReset = 6, /**< Internally implemented by the library. This state indicates
+ * that a valid USB device has been attached, and that it is
+ * will now be reset to ensure it is ready for enumeration.
+ *
+ * \note Do not manually change to this state in the user code.
+ */
+ HOST_STATE_Powered_ConfigPipe = 7, /**< Internally implemented by the library. This state indicates
+ * that the attached device is currently powered and reset, and
+ * that the control pipe is now being configured by the stack.
+ *
+ * \note Do not manually change to this state in the user code.
+ */
+ HOST_STATE_Default = 8, /**< Internally implemented by the library. This state indicates
+ * that the stack is currently retrieving the control endpoint's
+ * size from the device, so that the control pipe can be altered
+ * to match.
+ *
+ * \note Do not manually change to this state in the user code.
+ */
+ HOST_STATE_Default_PostReset = 9, /**< Internally implemented by the library. This state indicates that
+ * the control pipe is being reconfigured to match the retrieved
+ * control endpoint size from the device, and the device's USB bus
+ * address is being set.
+ *
+ * \note Do not manually change to this state in the user code.
+ */
+ HOST_STATE_Default_PostAddressSet = 10, /**< Internally implemented by the library. This state indicates that
+ * the device's address has now been set, and the stack is has now
+ * completed the device enumeration process. This state causes the
+ * stack to change the current USB device address to that set for
+ * the connected device, before progressing to the user-implemented
+ * \ref HOST_STATE_Addressed state for further communications.
+ *
+ * \note Do not manually change to this state in the user code.
+ */
+ HOST_STATE_Addressed = 11, /**< May be implemented by the user project. This state should
+ * set the device configuration before progressing to the
+ * \ref HOST_STATE_Configured state. Other processing (such as the
+ * retrieval and processing of the device descriptor) should also
+ * be placed in this state.
+ */
+ HOST_STATE_Configured = 12, /**< May be implemented by the user project. This state should implement the
+ * actual work performed on the attached device and changed to the
+ * \ref HOST_STATE_Suspended or \ref HOST_STATE_WaitForDeviceRemoval states as needed.
+ */
+ HOST_STATE_Suspended = 15, /**< May be implemented by the user project. This state should be maintained
+ * while the bus is suspended, and changed to either the \ref HOST_STATE_Configured
+ * (after resuming the bus with the USB_Host_ResumeBus() macro) or the
+ * \ref HOST_STATE_WaitForDeviceRemoval states as needed.
+ */
+ };
+
+ /** Enum for the error codes for the \ref EVENT_USB_Host_HostError() event.
+ *
+ * \see \ref Group_Events for more information on this event.
+ */
+ enum USB_Host_ErrorCodes_t
+ {
+ HOST_ERROR_VBusVoltageDip = 0, /**< VBUS voltage dipped to an unacceptable level. This
+ * error may be the result of an attached device drawing
+ * too much current from the VBUS line, or due to the
+ * AVR's power source being unable to supply sufficient
+ * current.
+ */
+ };
+
+ /** Enum for the error codes for the \ref EVENT_USB_Host_DeviceEnumerationFailed() event.
+ *
+ * \see \ref Group_Events for more information on this event.
+ */
+ enum USB_Host_EnumerationErrorCodes_t
+ {
+ HOST_ENUMERROR_NoError = 0, /**< No error occurred. Used internally, this is not a valid
+ * ErrorCode parameter value for the \ref EVENT_USB_Host_DeviceEnumerationFailed()
+ * event.
+ */
+ HOST_ENUMERROR_WaitStage = 1, /**< One of the delays between enumeration steps failed
+ * to complete successfully, due to a timeout or other
+ * error.
+ */
+ HOST_ENUMERROR_NoDeviceDetected = 2, /**< No device was detected, despite the USB data lines
+ * indicating the attachment of a device.
+ */
+ HOST_ENUMERROR_ControlError = 3, /**< One of the enumeration control requests failed to
+ * complete successfully.
+ */
+ HOST_ENUMERROR_PipeConfigError = 4, /**< The default control pipe (address 0) failed to
+ * configure correctly.
+ */
+ };
+
+ /* Inline Functions: */
+ /** Returns the current USB frame number, when in host mode. Every millisecond the USB bus is active (i.e. not suspended)
+ * the frame number is incremented by one.
+ */
+ static inline uint16_t USB_Host_GetFrameNumber(void)
+ {
+ return UHFNUM;
+ }
+
+ #if !defined(NO_SOF_EVENTS)
+ /** Enables the host mode Start Of Frame events. When enabled, this causes the
+ * \ref EVENT_USB_Host_StartOfFrame() event to fire once per millisecond, synchronized to the USB bus,
+ * at the start of each USB frame when a device is enumerated while in host mode.
+ *
+ * \note Not available when the NO_SOF_EVENTS compile time token is defined.
+ */
+ static inline void USB_Host_EnableSOFEvents(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_EnableSOFEvents(void)
+ {
+ USB_INT_Enable(USB_INT_HSOFI);
+ }
+
+ /** Disables the host mode Start Of Frame events. When disabled, this stops the firing of the
+ * \ref EVENT_USB_Host_StartOfFrame() event when enumerated in host mode.
+ *
+ * \note Not available when the NO_SOF_EVENTS compile time token is defined.
+ */
+ static inline void USB_Host_DisableSOFEvents(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_DisableSOFEvents(void)
+ {
+ USB_INT_Disable(USB_INT_HSOFI);
+ }
+ #endif
+
+ /** Resets the USB bus, including the endpoints in any attached device and pipes on the AVR host.
+ * USB bus resets leave the default control pipe configured (if already configured).
+ *
+ * If the USB bus has been suspended prior to issuing a bus reset, the attached device will be
+ * woken up automatically and the bus resumed after the reset has been correctly issued.
+ */
+ static inline void USB_Host_ResetBus(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_ResetBus(void)
+ {
+ UHCON |= (1 << RESET);
+ }
+
+ /** Determines if a previously issued bus reset (via the \ref USB_Host_ResetBus() macro) has
+ * completed.
+ *
+ * \return Boolean true if no bus reset is currently being sent, false otherwise.
+ */
+ static inline bool USB_Host_IsBusResetComplete(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool USB_Host_IsBusResetComplete(void)
+ {
+ return ((UHCON & (1 << RESET)) ? false : true);
+ }
+
+ /** Resumes USB communications with an attached and enumerated device, by resuming the transmission
+ * of the 1MS Start Of Frame messages to the device. When resumed, USB communications between the
+ * host and attached device may occur.
+ */
+ static inline void USB_Host_ResumeBus(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_ResumeBus(void)
+ {
+ UHCON |= (1 << SOFEN);
+ }
+
+ /** Suspends the USB bus, preventing any communications from occurring between the host and attached
+ * device until the bus has been resumed. This stops the transmission of the 1MS Start Of Frame
+ * messages to the device.
+ */
+ static inline void USB_Host_SuspendBus(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_SuspendBus(void)
+ {
+ UHCON &= ~(1 << SOFEN);
+ }
+
+ /** Determines if the USB bus has been suspended via the use of the \ref USB_Host_SuspendBus() macro,
+ * false otherwise. While suspended, no USB communications can occur until the bus is resumed,
+ * except for the Remote Wakeup event from the device if supported.
+ *
+ * \return Boolean true if the bus is currently suspended, false otherwise.
+ */
+ static inline bool USB_Host_IsBusSuspended(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool USB_Host_IsBusSuspended(void)
+ {
+ return ((UHCON & (1 << SOFEN)) ? false : true);
+ }
+
+ /** Determines if the attached device is currently enumerated in Full Speed mode (12Mb/s), or
+ * false if the attached device is enumerated in Low Speed mode (1.5Mb/s).
+ *
+ * \return Boolean true if the attached device is enumerated in Full Speed mode, false otherwise.
+ */
+ static inline bool USB_Host_IsDeviceFullSpeed(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool USB_Host_IsDeviceFullSpeed(void)
+ {
+ return ((USBSTA & (1 << SPEED)) ? true : false);
+ }
+
+ /** Determines if the attached device is currently issuing a Remote Wakeup request, requesting
+ * that the host resume the USB bus and wake up the device, false otherwise.
+ *
+ * \return Boolean true if the attached device has sent a Remote Wakeup request, false otherwise.
+ */
+ static inline bool USB_Host_IsRemoteWakeupSent(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool USB_Host_IsRemoteWakeupSent(void)
+ {
+ return ((UHINT & (1 << RXRSMI)) ? true : false);
+ }
+
+ /** Clears the flag indicating that a Remote Wakeup request has been issued by an attached device. */
+ static inline void USB_Host_ClearRemoteWakeupSent(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_ClearRemoteWakeupSent(void)
+ {
+ UHINT &= ~(1 << RXRSMI);
+ }
+
+ /** Accepts a Remote Wakeup request from an attached device. This must be issued in response to
+ * a device's Remote Wakeup request within 2ms for the request to be accepted and the bus to
+ * be resumed.
+ */
+ static inline void USB_Host_ResumeFromWakeupRequest(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_ResumeFromWakeupRequest(void)
+ {
+ UHCON |= (1 << RESUME);
+ }
+
+ /** Determines if a resume from Remote Wakeup request is currently being sent to an attached
+ * device.
+ *
+ * \return Boolean true if no resume request is currently being sent, false otherwise.
+ */
+ static inline bool USB_Host_IsResumeFromWakeupRequestSent(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool USB_Host_IsResumeFromWakeupRequestSent(void)
+ {
+ return ((UHCON & (1 << RESUME)) ? false : true);
+ }
+
+ /* Function Prototypes: */
+ /** Convenience function. This routine sends a SetConfiguration standard request to the attached
+ * device, with the given configuration index. This can be used to easily set the device
+ * configuration without creating and sending the request manually.
+ *
+ * \note After this routine returns, the control pipe will be selected.
+ *
+ * \param[in] ConfigNumber Configuration index to send to the device.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum to indicate the result.
+ */
+ uint8_t USB_Host_SetDeviceConfiguration(const uint8_t ConfigNumber);
+
+ /** Convenience function. This routine sends a GetDescriptor standard request to the attached
+ * device, requesting the device descriptor. This can be used to easily retrieve information
+ * about the device such as its VID, PID and power requirements.
+ *
+ * \note After this routine returns, the control pipe will be selected.
+ *
+ * \param[out] DeviceDescriptorPtr Pointer to the destination device descriptor structure where
+ * the read data is to be stored.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum to indicate the result.
+ */
+ uint8_t USB_Host_GetDeviceDescriptor(void* const DeviceDescriptorPtr);
+
+ /** Convenience function. This routine sends a GetDescriptor standard request to the attached
+ * device, requesting the string descriptor of the specified index. This can be used to easily
+ * retrieve string descriptors from the device by index, after the index is obtained from the
+ * Device or Configuration descriptors.
+ *
+ * \note After this routine returns, the control pipe will be selected.
+ *
+ * \param[in] Index Index of the string index to retrieve.
+ * \param[out] Buffer Pointer to the destination buffer where the retrieved string descriptor is
+ * to be stored.
+ * \param[in] BufferLength Maximum size of the string descriptor which can be stored into the buffer.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum to indicate the result.
+ */
+ uint8_t USB_Host_GetDeviceStringDescriptor(const uint8_t Index,
+ void* const Buffer,
+ const uint8_t BufferLength);
+
+ /** Clears a stall condition on the given pipe, via a ClearFeature request to the attached device.
+ *
+ * \note After this routine returns, the control pipe will be selected.
+ *
+ * \param[in] EndpointIndex Index of the endpoint to clear, including the endpoint's direction.
+ *
+ * \return A value from the \ref USB_Host_SendControlErrorCodes_t enum to indicate the result.
+ */
+ uint8_t USB_Host_ClearPipeStall(const uint8_t EndpointIndex);
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ static inline void USB_Host_HostMode_On(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_HostMode_On(void)
+ {
+ USBCON |= (1 << HOST);
+ }
+
+ static inline void USB_Host_HostMode_Off(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_HostMode_Off(void)
+ {
+ USBCON &= ~(1 << HOST);
+ }
+
+ static inline void USB_Host_VBUS_Auto_Enable(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_VBUS_Auto_Enable(void)
+ {
+ OTGCON &= ~(1 << VBUSHWC);
+ UHWCON |= (1 << UVCONE);
+ }
+
+ static inline void USB_Host_VBUS_Manual_Enable(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_VBUS_Manual_Enable(void)
+ {
+ OTGCON |= (1 << VBUSHWC);
+ UHWCON &= ~(1 << UVCONE);
+
+ DDRE |= (1 << 7);
+ }
+
+ static inline void USB_Host_VBUS_Auto_On(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_VBUS_Auto_On(void)
+ {
+ OTGCON |= (1 << VBUSREQ);
+ }
+
+ static inline void USB_Host_VBUS_Manual_On(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_VBUS_Manual_On(void)
+ {
+ PORTE |= (1 << 7);
+ }
+
+ static inline void USB_Host_VBUS_Auto_Off(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_VBUS_Auto_Off(void)
+ {
+ OTGCON |= (1 << VBUSRQC);
+ }
+
+ static inline void USB_Host_VBUS_Manual_Off(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_VBUS_Manual_Off(void)
+ {
+ PORTE &= ~(1 << 7);
+ }
+
+ static inline void USB_Host_SetDeviceAddress(const uint8_t Address) ATTR_ALWAYS_INLINE;
+ static inline void USB_Host_SetDeviceAddress(const uint8_t Address)
+ {
+ UHADDR = (Address & 0x7F);
+ }
+
+ /* Enums: */
+ enum USB_Host_WaitMSErrorCodes_t
+ {
+ HOST_WAITERROR_Successful = 0,
+ HOST_WAITERROR_DeviceDisconnect = 1,
+ HOST_WAITERROR_PipeError = 2,
+ HOST_WAITERROR_SetupStalled = 3,
+ };
+
+ /* Function Prototypes: */
+ void USB_Host_ProcessNextHostState(void);
+ uint8_t USB_Host_WaitMS(uint8_t MS);
+
+ #if defined(__INCLUDE_FROM_HOST_C)
+ static void USB_Host_ResetDevice(void);
+ #endif
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Host.lst b/firmware/LUFA/Drivers/USB/LowLevel/Host.lst
new file mode 100644
index 0000000..06eeba6
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Host.lst
@@ -0,0 +1,19 @@
+ 1 .file "Host.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 Host.c
+ /tmp/ccLGscsA.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccLGscsA.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccLGscsA.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccLGscsA.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccLGscsA.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccLGscsA.s:7 *ABS*:0000000000000001 __zero_reg__
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Host.o b/firmware/LUFA/Drivers/USB/LowLevel/Host.o
new file mode 100644
index 0000000..740d45f
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Host.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/OTG.h b/firmware/LUFA/Drivers/USB/LowLevel/OTG.h
new file mode 100644
index 0000000..d213552
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/OTG.h
@@ -0,0 +1,155 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB OTG mode definitions.
+ *
+ * This file contains structures, function prototypes and macros related to USB OTG mode, where two USB devices
+ * may be linked directly together and exchange host/device roles as needed.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+/** \ingroup Group_USB
+ * @defgroup Group_OTG USB On The Go (OTG) Management
+ *
+ * This module contains macros for embedded USB hosts with dual role On The Go capabilities, for managing role
+ * exchange. OTG is a way for two USB dual role devices to talk to one another directly without fixed device/host
+ * roles.
+ *
+ * @{
+ */
+
+#ifndef __USBOTG_H__
+#define __USBOTG_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Mask for the VBUS pulsing method of SRP, supported by some OTG devices.
+ *
+ * \see \ref USB_OTG_Device_InitiateSRP().
+ */
+ #define USB_OTG_SRP_VBUS (1 << SRPSEL)
+
+ /** Mask for the Data + pulsing method of SRP, supported by some OTG devices.
+ *
+ * \see \ref USB_OTG_Device_InitiateSRP().
+ */
+ #define USB_OTG_STP_DATA 0
+
+ /* Inline Functions: */
+ /** Initiate a Host Negotiation Protocol request. This indicates to the other connected device
+ * that the device wishes to change device/host roles.
+ */
+ static inline void USB_OTG_Device_RequestHNP(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_OTG_Device_RequestHNP(void)
+ {
+ OTGCON |= (1 << HNPREQ);
+ }
+
+ /** Cancel a Host Negotiation Protocol request. This stops a pending HNP request to the other
+ * connected device.
+ */
+ static inline void USB_OTG_Device_CancelHNPRequest(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_OTG_Device_CancelHNPRequest(void)
+ {
+ OTGCON &= ~(1 << HNPREQ);
+ }
+
+ /** Determines if the device is currently sending a HNP to an attached host.
+ *
+ * \return Boolean true if currently sending a HNP to the other connected device, false otherwise
+ */
+ static inline bool USB_OTG_Device_IsSendingHNP(void) ATTR_ALWAYS_INLINE;
+ static inline bool USB_OTG_Device_IsSendingHNP(void)
+ {
+ return ((OTGCON & (1 << HNPREQ)) ? true : false);
+ }
+
+ /** Initiates a Session Request Protocol request. Most OTG devices turn off VBUS when the USB
+ * interface is not in use, to conserve power. Sending a SRP to a USB OTG device running in
+ * host mode indicates that VBUS should be applied and a session started.
+ *
+ * There are two different methods of sending a SRP - either pulses on the VBUS line, or by
+ * pulsing the Data + line via the internal pull-up resistor.
+ *
+ * \param[in] SRPTypeMask Mask indicating the type of SRP to use, either \ref USB_OTG_SRP_VBUS or
+ * \ref USB_OTG_STP_DATA.
+ */
+ static inline void USB_OTG_Device_InitiateSRP(const uint8_t SRPTypeMask) ATTR_ALWAYS_INLINE;
+ static inline void USB_OTG_Device_InitiateSRP(const uint8_t SRPTypeMask)
+ {
+ OTGCON = ((OTGCON & ~(1 << SRPSEL)) | (SRPTypeMask | (1 << SRPREQ)));
+ }
+
+ /** Accepts a HNP from a connected device, indicating that both devices should exchange
+ * device/host roles.
+ */
+ static inline void USB_OTG_Host_AcceptHNP(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_OTG_Host_AcceptHNP(void)
+ {
+ OTGCON |= (1 << HNPREQ);
+ }
+
+ /** Rejects a HNP from a connected device, indicating that both devices should remain in their
+ * current device/host roles.
+ */
+ static inline void USB_OTG_Host_RejectHNP(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_OTG_Host_RejectHNP(void)
+ {
+ OTGCON &= ~(1 << HNPREQ);
+ }
+
+ /** Indicates if the connected device is not currently sending a HNP request.
+ *
+ * \return Boolean true if a HNP is currently being issued by the connected device, false otherwise.
+ */
+ static inline bool USB_OTG_Host_IsHNPReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool USB_OTG_Host_IsHNPReceived(void)
+ {
+ return ((OTGCON & (1 << HNPREQ)) ? true : false);
+ }
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Pipe.c b/firmware/LUFA/Drivers/USB/LowLevel/Pipe.c
new file mode 100644
index 0000000..c414129
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Pipe.c
@@ -0,0 +1,140 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "../HighLevel/USBMode.h"
+
+#if defined(USB_CAN_BE_HOST)
+
+#include "Pipe.h"
+
+uint8_t USB_ControlPipeSize = PIPE_CONTROLPIPE_DEFAULT_SIZE;
+
+bool Pipe_ConfigurePipe(const uint8_t Number,
+ const uint8_t Type,
+ const uint8_t Token,
+ const uint8_t EndpointNumber,
+ const uint16_t Size,
+ const uint8_t Banks)
+{
+ Pipe_SelectPipe(Number);
+ Pipe_EnablePipe();
+
+ UPCFG1X = 0;
+
+ UPCFG0X = ((Type << EPTYPE0) | Token | ((EndpointNumber & PIPE_EPNUM_MASK) << PEPNUM0));
+ UPCFG1X = ((1 << ALLOC) | Banks | Pipe_BytesToEPSizeMask(Size));
+
+ Pipe_SetInfiniteINRequests();
+
+ return Pipe_IsConfigured();
+}
+
+void Pipe_ClearPipes(void)
+{
+ UPINT = 0;
+
+ for (uint8_t PNum = 0; PNum < PIPE_TOTAL_PIPES; PNum++)
+ {
+ Pipe_SelectPipe(PNum);
+ UPIENX = 0;
+ UPINTX = 0;
+ UPCFG1X = 0;
+ Pipe_DisablePipe();
+ }
+}
+
+bool Pipe_IsEndpointBound(const uint8_t EndpointAddress)
+{
+ uint8_t PrevPipeNumber = Pipe_GetCurrentPipe();
+
+ for (uint8_t PNum = 0; PNum < PIPE_TOTAL_PIPES; PNum++)
+ {
+ Pipe_SelectPipe(PNum);
+
+ if (!(Pipe_IsConfigured()))
+ continue;
+
+ uint8_t PipeToken = Pipe_GetPipeToken();
+ bool PipeTokenCorrect = true;
+
+ if (PipeToken != PIPE_TOKEN_SETUP)
+ PipeTokenCorrect = (PipeToken == ((EndpointAddress & PIPE_EPDIR_MASK) ? PIPE_TOKEN_IN : PIPE_TOKEN_OUT));
+
+ if (PipeTokenCorrect && (Pipe_BoundEndpointNumber() == (EndpointAddress & PIPE_EPNUM_MASK)))
+ return true;
+ }
+
+ Pipe_SelectPipe(PrevPipeNumber);
+ return false;
+}
+
+uint8_t Pipe_WaitUntilReady(void)
+{
+ #if (USB_STREAM_TIMEOUT_MS < 0xFF)
+ uint8_t TimeoutMSRem = USB_STREAM_TIMEOUT_MS;
+ #else
+ uint16_t TimeoutMSRem = USB_STREAM_TIMEOUT_MS;
+ #endif
+
+ uint16_t PreviousFrameNumber = USB_Host_GetFrameNumber();
+
+ for (;;)
+ {
+ if (Pipe_GetPipeToken() == PIPE_TOKEN_IN)
+ {
+ if (Pipe_IsINReceived())
+ return PIPE_READYWAIT_NoError;
+ }
+ else
+ {
+ if (Pipe_IsOUTReady())
+ return PIPE_READYWAIT_NoError;
+ }
+
+ if (Pipe_IsStalled())
+ return PIPE_READYWAIT_PipeStalled;
+ else if (USB_HostState == HOST_STATE_Unattached)
+ return PIPE_READYWAIT_DeviceDisconnected;
+
+ uint16_t CurrentFrameNumber = USB_Host_GetFrameNumber();
+
+ if (CurrentFrameNumber != PreviousFrameNumber)
+ {
+ PreviousFrameNumber = CurrentFrameNumber;
+
+ if (!(TimeoutMSRem--))
+ return PIPE_READYWAIT_Timeout;
+ }
+ }
+}
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Pipe.h b/firmware/LUFA/Drivers/USB/LowLevel/Pipe.h
new file mode 100644
index 0000000..7bdb508
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Pipe.h
@@ -0,0 +1,941 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB host pipe management definitions.
+ *
+ * This file contains structures, function prototypes and macros related to the management of the device's
+ * data pipes when the library is initialized in USB host mode.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+/** \ingroup Group_PipeManagement
+ * @defgroup Group_PipeRW Pipe Data Reading and Writing
+ *
+ * Functions, macros, variables, enums and types related to data reading and writing from and to pipes.
+ */
+
+/** \ingroup Group_PipeRW
+ * @defgroup Group_PipePrimitiveRW Read/Write of Primitive Data Types
+ *
+ * Functions, macros, variables, enums and types related to data reading and writing of primitive data types
+ * from and to pipes.
+ */
+
+/** \ingroup Group_PipeManagement
+ * @defgroup Group_PipePacketManagement Pipe Packet Management
+ *
+ * Functions, macros, variables, enums and types related to packet management of pipes.
+ */
+
+/** \ingroup Group_PipeManagement
+ * @defgroup Group_PipeControlReq Pipe Control Request Management
+ *
+ * Module for host mode request processing. This module allows for the transmission of standard, class and
+ * vendor control requests to the default control endpoint of an attached device while in host mode.
+ *
+ * \see Chapter 9 of the USB 2.0 specification.
+ */
+
+/** \ingroup Group_USB
+ * @defgroup Group_PipeManagement Pipe Management
+ *
+ * This module contains functions, macros and enums related to pipe management when in USB Host mode. This
+ * module contains the pipe management macros, as well as pipe interrupt and data send/receive functions
+ * for various data types.
+ *
+ * @{
+ */
+
+#ifndef __PIPE_H__
+#define __PIPE_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <stdbool.h>
+
+ #include "../../../Common/Common.h"
+ #include "../HighLevel/USBTask.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** \name Pipe Error Flag Masks */
+ //@{
+ /** Mask for \ref Pipe_GetErrorFlags(), indicating that an overflow error occurred in the pipe on the received data. */
+ #define PIPE_ERRORFLAG_OVERFLOW (1 << 6)
+
+ /** Mask for \ref Pipe_GetErrorFlags(), indicating that an underflow error occurred in the pipe on the received data. */
+ #define PIPE_ERRORFLAG_UNDERFLOW (1 << 5)
+
+ /** Mask for \ref Pipe_GetErrorFlags(), indicating that a CRC error occurred in the pipe on the received data. */
+ #define PIPE_ERRORFLAG_CRC16 (1 << 4)
+
+ /** Mask for \ref Pipe_GetErrorFlags(), indicating that a hardware timeout error occurred in the pipe. */
+ #define PIPE_ERRORFLAG_TIMEOUT (1 << 3)
+
+ /** Mask for \ref Pipe_GetErrorFlags(), indicating that a hardware PID error occurred in the pipe. */
+ #define PIPE_ERRORFLAG_PID (1 << 2)
+
+ /** Mask for \ref Pipe_GetErrorFlags(), indicating that a hardware data PID error occurred in the pipe. */
+ #define PIPE_ERRORFLAG_DATAPID (1 << 1)
+
+ /** Mask for \ref Pipe_GetErrorFlags(), indicating that a hardware data toggle error occurred in the pipe. */
+ #define PIPE_ERRORFLAG_DATATGL (1 << 0)
+ //@}
+
+ /** \name Pipe Token Masks */
+ //@{
+ /** Token mask for \ref Pipe_ConfigurePipe(). This sets the pipe as a SETUP token (for CONTROL type pipes),
+ * which will trigger a control request on the attached device when data is written to the pipe.
+ */
+ #define PIPE_TOKEN_SETUP (0 << PTOKEN0)
+
+ /** Token mask for \ref Pipe_ConfigurePipe(). This sets the pipe as a IN token (for non-CONTROL type pipes),
+ * indicating that the pipe data will flow from device to host.
+ */
+ #define PIPE_TOKEN_IN (1 << PTOKEN0)
+
+ /** Token mask for \ref Pipe_ConfigurePipe(). This sets the pipe as a OUT token (for non-CONTROL type pipes),
+ * indicating that the pipe data will flow from host to device.
+ */
+ #define PIPE_TOKEN_OUT (2 << PTOKEN0)
+ //@}
+
+ /** \name Pipe Bank Mode Masks */
+ //@{
+ /** Mask for the bank mode selection for the \ref Pipe_ConfigurePipe() macro. This indicates that the pipe
+ * should have one single bank, which requires less USB FIFO memory but results in slower transfers as
+ * only one USB device (the AVR or the attached device) can access the pipe's bank at the one time.
+ */
+ #define PIPE_BANK_SINGLE (0 << EPBK0)
+
+ /** Mask for the bank mode selection for the \ref Pipe_ConfigurePipe() macro. This indicates that the pipe
+ * should have two banks, which requires more USB FIFO memory but results in faster transfers as one
+ * USB device (the AVR or the attached device) can access one bank while the other accesses the second
+ * bank.
+ */
+ #define PIPE_BANK_DOUBLE (1 << EPBK0)
+ //@}
+
+ /** Pipe address for the default control pipe, which always resides in address 0. This is
+ * defined for convenience to give more readable code when used with the pipe macros.
+ */
+ #define PIPE_CONTROLPIPE 0
+
+ /** Default size of the default control pipe's bank, until altered by the Endpoint0Size value
+ * in the device descriptor of the attached device.
+ */
+ #define PIPE_CONTROLPIPE_DEFAULT_SIZE 64
+
+ /** Pipe number mask, for masking against pipe addresses to retrieve the pipe's numerical address
+ * in the device.
+ */
+ #define PIPE_PIPENUM_MASK 0x07
+
+ /** Total number of pipes (including the default control pipe at address 0) which may be used in
+ * the device. Different USB AVR models support different amounts of pipes, this value reflects
+ * the maximum number of pipes for the currently selected AVR model.
+ */
+ #define PIPE_TOTAL_PIPES 7
+
+ /** Size in bytes of the largest pipe bank size possible in the device. Not all banks on each AVR
+ * model supports the largest bank size possible on the device; different pipe numbers support
+ * different maximum bank sizes. This value reflects the largest possible bank of any pipe on the
+ * currently selected USB AVR model.
+ */
+ #define PIPE_MAX_SIZE 256
+
+ /** Endpoint number mask, for masking against endpoint addresses to retrieve the endpoint's
+ * numerical address in the attached device.
+ */
+ #define PIPE_EPNUM_MASK 0x0F
+
+ /** Endpoint direction mask, for masking against endpoint addresses to retrieve the endpoint's
+ * direction for comparing with the ENDPOINT_DESCRIPTOR_DIR_* masks.
+ */
+ #define PIPE_EPDIR_MASK 0x80
+
+ /* Enums: */
+ /** Enum for the possible error return codes of the Pipe_WaitUntilReady function.
+ *
+ * \ingroup Group_PipeRW
+ */
+ enum Pipe_WaitUntilReady_ErrorCodes_t
+ {
+ PIPE_READYWAIT_NoError = 0, /**< Pipe ready for next packet, no error. */
+ PIPE_READYWAIT_PipeStalled = 1, /**< The device stalled the pipe while waiting. */
+ PIPE_READYWAIT_DeviceDisconnected = 2, /**< Device was disconnected from the host while waiting. */
+ PIPE_READYWAIT_Timeout = 3, /**< The device failed to accept or send the next packet
+ * within the software timeout period set by the
+ * \ref USB_STREAM_TIMEOUT_MS macro.
+ */
+ };
+
+ /* Inline Functions: */
+ /** Indicates the number of bytes currently stored in the current pipes's selected bank.
+ *
+ * \note The return width of this function may differ, depending on the maximum pipe bank size
+ * of the selected AVR model.
+ *
+ * \ingroup Group_PipeRW
+ *
+ * \return Total number of bytes in the currently selected Pipe's FIFO buffer.
+ */
+ static inline uint16_t Pipe_BytesInPipe(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint16_t Pipe_BytesInPipe(void)
+ {
+ return UPBCX;
+ }
+
+ /** Returns the pipe address of the currently selected pipe. This is typically used to save the
+ * currently selected pipe number so that it can be restored after another pipe has been manipulated.
+ *
+ * \return Index of the currently selected pipe.
+ */
+ static inline uint8_t Pipe_GetCurrentPipe(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t Pipe_GetCurrentPipe(void)
+ {
+ return (UPNUM & PIPE_PIPENUM_MASK);
+ }
+
+ /** Selects the given pipe number. Any pipe operations which do not require the pipe number to be
+ * indicated will operate on the currently selected pipe.
+ *
+ * \param[in] PipeNumber Index of the pipe to select.
+ */
+ static inline void Pipe_SelectPipe(const uint8_t PipeNumber) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_SelectPipe(const uint8_t PipeNumber)
+ {
+ UPNUM = PipeNumber;
+ }
+
+ /** Resets the desired pipe, including the pipe banks and flags.
+ *
+ * \param[in] PipeNumber Index of the pipe to reset.
+ */
+ static inline void Pipe_ResetPipe(const uint8_t PipeNumber) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_ResetPipe(const uint8_t PipeNumber)
+ {
+ UPRST = (1 << PipeNumber);
+ UPRST = 0;
+ }
+
+ /** Enables the currently selected pipe so that data can be sent and received through it to and from
+ * an attached device.
+ *
+ * \pre The currently selected pipe must first be configured properly via \ref Pipe_ConfigurePipe().
+ */
+ static inline void Pipe_EnablePipe(void) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_EnablePipe(void)
+ {
+ UPCONX |= (1 << PEN);
+ }
+
+ /** Disables the currently selected pipe so that data cannot be sent and received through it to and
+ * from an attached device.
+ */
+ static inline void Pipe_DisablePipe(void) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_DisablePipe(void)
+ {
+ UPCONX &= ~(1 << PEN);
+ }
+
+ /** Determines if the currently selected pipe is enabled, but not necessarily configured.
+ *
+ * \return Boolean True if the currently selected pipe is enabled, false otherwise.
+ */
+ static inline bool Pipe_IsEnabled(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Pipe_IsEnabled(void)
+ {
+ return ((UPCONX & (1 << PEN)) ? true : false);
+ }
+
+ /** Gets the current pipe token, indicating the pipe's data direction and type.
+ *
+ * \return The current pipe token, as a PIPE_TOKEN_* mask.
+ */
+ static inline uint8_t Pipe_GetPipeToken(void) ATTR_ALWAYS_INLINE;
+ static inline uint8_t Pipe_GetPipeToken(void)
+ {
+ return (UPCFG0X & (0x03 << PTOKEN0));
+ }
+
+ /** Sets the token for the currently selected pipe to one of the tokens specified by the PIPE_TOKEN_*
+ * masks. This can be used on CONTROL type pipes, to allow for bidirectional transfer of data during
+ * control requests, or on regular pipes to allow for half-duplex bidirectional data transfer to devices
+ * which have two endpoints of opposite direction sharing the same endpoint address within the device.
+ *
+ * \param[in] Token New pipe token to set the selected pipe to, as a PIPE_TOKEN_* mask.
+ */
+ static inline void Pipe_SetPipeToken(const uint8_t Token) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_SetPipeToken(const uint8_t Token)
+ {
+ UPCFG0X = ((UPCFG0X & ~(0x03 << PTOKEN0)) | Token);
+ }
+
+ /** Configures the currently selected pipe to allow for an unlimited number of IN requests. */
+ static inline void Pipe_SetInfiniteINRequests(void) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_SetInfiniteINRequests(void)
+ {
+ UPCONX |= (1 << INMODE);
+ }
+
+ /** Configures the currently selected pipe to only allow the specified number of IN requests to be
+ * accepted by the pipe before it is automatically frozen.
+ *
+ * \param[in] TotalINRequests Total number of IN requests that the pipe may receive before freezing.
+ */
+ static inline void Pipe_SetFiniteINRequests(const uint8_t TotalINRequests) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_SetFiniteINRequests(const uint8_t TotalINRequests)
+ {
+ UPCONX &= ~(1 << INMODE);
+ UPINRQX = TotalINRequests;
+ }
+
+ /** Determines if the currently selected pipe is configured.
+ *
+ * \return Boolean true if the selected pipe is configured, false otherwise.
+ */
+ static inline bool Pipe_IsConfigured(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Pipe_IsConfigured(void)
+ {
+ return ((UPSTAX & (1 << CFGOK)) ? true : false);
+ }
+
+ /** Retrieves the endpoint number of the endpoint within the attached device that the currently selected
+ * pipe is bound to.
+ *
+ * \return Endpoint number the currently selected pipe is bound to.
+ */
+ static inline uint8_t Pipe_BoundEndpointNumber(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t Pipe_BoundEndpointNumber(void)
+ {
+ return ((UPCFG0X >> PEPNUM0) & PIPE_EPNUM_MASK);
+ }
+
+ /** Sets the period between interrupts for an INTERRUPT type pipe to a specified number of milliseconds.
+ *
+ * \param[in] Milliseconds Number of milliseconds between each pipe poll.
+ */
+ static inline void Pipe_SetInterruptPeriod(const uint8_t Milliseconds) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_SetInterruptPeriod(const uint8_t Milliseconds)
+ {
+ UPCFG2X = Milliseconds;
+ }
+
+ /** Returns a mask indicating which pipe's interrupt periods have elapsed, indicating that the pipe should
+ * be serviced.
+ *
+ * \return Mask whose bits indicate which pipes have interrupted.
+ */
+ static inline uint8_t Pipe_GetPipeInterrupts(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t Pipe_GetPipeInterrupts(void)
+ {
+ return UPINT;
+ }
+
+ /** Determines if the specified pipe number has interrupted (valid only for INTERRUPT type
+ * pipes).
+ *
+ * \param[in] PipeNumber Index of the pipe whose interrupt flag should be tested.
+ *
+ * \return Boolean true if the specified pipe has interrupted, false otherwise.
+ */
+ static inline bool Pipe_HasPipeInterrupted(const uint8_t PipeNumber) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Pipe_HasPipeInterrupted(const uint8_t PipeNumber)
+ {
+ return ((UPINT & (1 << PipeNumber)) ? true : false);
+ }
+
+ /** Unfreezes the selected pipe, allowing it to communicate with an attached device. */
+ static inline void Pipe_Unfreeze(void) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_Unfreeze(void)
+ {
+ UPCONX &= ~(1 << PFREEZE);
+ }
+
+ /** Freezes the selected pipe, preventing it from communicating with an attached device. */
+ static inline void Pipe_Freeze(void) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_Freeze(void)
+ {
+ UPCONX |= (1 << PFREEZE);
+ }
+
+ /** Determines if the currently selected pipe is frozen, and not able to accept data.
+ *
+ * \return Boolean true if the currently selected pipe is frozen, false otherwise.
+ */
+ static inline bool Pipe_IsFrozen(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Pipe_IsFrozen(void)
+ {
+ return ((UPCONX & (1 << PFREEZE)) ? true : false);
+ }
+
+ /** Clears the master pipe error flag. */
+ static inline void Pipe_ClearError(void) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_ClearError(void)
+ {
+ UPINTX &= ~(1 << PERRI);
+ }
+
+ /** Determines if the master pipe error flag is set for the currently selected pipe, indicating that
+ * some sort of hardware error has occurred on the pipe.
+ *
+ * \see \ref Pipe_GetErrorFlags() macro for information on retrieving the exact error flag.
+ *
+ * \return Boolean true if an error has occurred on the selected pipe, false otherwise.
+ */
+ static inline bool Pipe_IsError(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Pipe_IsError(void)
+ {
+ return ((UPINTX & (1 << PERRI)) ? true : false);
+ }
+
+ /** Clears all the currently selected pipe's hardware error flags, but does not clear the master error
+ * flag for the pipe.
+ */
+ static inline void Pipe_ClearErrorFlags(void) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_ClearErrorFlags(void)
+ {
+ UPERRX = 0;
+ }
+
+ /** Gets a mask of the hardware error flags which have occurred on the currently selected pipe. This
+ * value can then be masked against the PIPE_ERRORFLAG_* masks to determine what error has occurred.
+ *
+ * \return Mask comprising of PIPE_ERRORFLAG_* bits indicating what error has occurred on the selected pipe.
+ */
+ static inline uint8_t Pipe_GetErrorFlags(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t Pipe_GetErrorFlags(void)
+ {
+ return ((UPERRX & (PIPE_ERRORFLAG_CRC16 | PIPE_ERRORFLAG_TIMEOUT |
+ PIPE_ERRORFLAG_PID | PIPE_ERRORFLAG_DATAPID |
+ PIPE_ERRORFLAG_DATATGL)) |
+ (UPSTAX & (PIPE_ERRORFLAG_OVERFLOW | PIPE_ERRORFLAG_UNDERFLOW)));
+ }
+
+ /** Retrieves the number of busy banks in the currently selected pipe, which have been queued for
+ * transmission via the \ref Pipe_ClearOUT() command, or are awaiting acknowledgement via the
+ * \ref Pipe_ClearIN() command.
+ *
+ * \ingroup Group_PipePacketManagement
+ *
+ * \return Total number of busy banks in the selected pipe.
+ */
+ static inline uint8_t Pipe_GetBusyBanks(void)
+ {
+ return (UPSTAX & (0x03 << NBUSYBK0));
+ }
+
+ /** Determines if the currently selected pipe may be read from (if data is waiting in the pipe
+ * bank and the pipe is an IN direction, or if the bank is not yet full if the pipe is an OUT
+ * direction). This function will return false if an error has occurred in the pipe, or if the pipe
+ * is an IN direction and no packet (or an empty packet) has been received, or if the pipe is an OUT
+ * direction and the pipe bank is full.
+ *
+ * \note This function is not valid on CONTROL type pipes.
+ *
+ * \ingroup Group_PipePacketManagement
+ *
+ * \return Boolean true if the currently selected pipe may be read from or written to, depending on its direction.
+ */
+ static inline bool Pipe_IsReadWriteAllowed(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Pipe_IsReadWriteAllowed(void)
+ {
+ return ((UPINTX & (1 << RWAL)) ? true : false);
+ }
+
+ /** Determines if a packet has been received on the currently selected IN pipe from the attached device.
+ *
+ * \ingroup Group_PipePacketManagement
+ *
+ * \return Boolean true if the current pipe has received an IN packet, false otherwise.
+ */
+ static inline bool Pipe_IsINReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Pipe_IsINReceived(void)
+ {
+ return ((UPINTX & (1 << RXINI)) ? true : false);
+ }
+
+ /** Determines if the currently selected OUT pipe is ready to send an OUT packet to the attached device.
+ *
+ * \ingroup Group_PipePacketManagement
+ *
+ * \return Boolean true if the current pipe is ready for an OUT packet, false otherwise.
+ */
+ static inline bool Pipe_IsOUTReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Pipe_IsOUTReady(void)
+ {
+ return ((UPINTX & (1 << TXOUTI)) ? true : false);
+ }
+
+ /** Determines if no SETUP request is currently being sent to the attached device on the selected
+ * CONTROL type pipe.
+ *
+ * \ingroup Group_PipePacketManagement
+ *
+ * \return Boolean true if the current pipe is ready for a SETUP packet, false otherwise.
+ */
+ static inline bool Pipe_IsSETUPSent(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Pipe_IsSETUPSent(void)
+ {
+ return ((UPINTX & (1 << TXSTPI)) ? true : false);
+ }
+
+ /** Sends the currently selected CONTROL type pipe's contents to the device as a SETUP packet.
+ *
+ * \ingroup Group_PipePacketManagement
+ */
+ static inline void Pipe_ClearSETUP(void) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_ClearSETUP(void)
+ {
+ UPINTX &= ~((1 << TXSTPI) | (1 << FIFOCON));
+ }
+
+ /** Acknowledges the reception of a setup IN request from the attached device on the currently selected
+ * pipe, freeing the bank ready for the next packet.
+ *
+ * \ingroup Group_PipePacketManagement
+ */
+ static inline void Pipe_ClearIN(void) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_ClearIN(void)
+ {
+ UPINTX &= ~((1 << RXINI) | (1 << FIFOCON));
+ }
+
+ /** Sends the currently selected pipe's contents to the device as an OUT packet on the selected pipe, freeing
+ * the bank ready for the next packet.
+ *
+ * \ingroup Group_PipePacketManagement
+ */
+ static inline void Pipe_ClearOUT(void) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_ClearOUT(void)
+ {
+ UPINTX &= ~((1 << TXOUTI) | (1 << FIFOCON));
+ }
+
+ /** Determines if the device sent a NAK (Negative Acknowledge) in response to the last sent packet on
+ * the currently selected pipe. This occurs when the host sends a packet to the device, but the device
+ * is not currently ready to handle the packet (i.e. its endpoint banks are full). Once a NAK has been
+ * received, it must be cleared using \ref Pipe_ClearNAKReceived() before the previous (or any other) packet
+ * can be re-sent.
+ *
+ * \ingroup Group_PipePacketManagement
+ *
+ * \return Boolean true if an NAK has been received on the current pipe, false otherwise.
+ */
+ static inline bool Pipe_IsNAKReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Pipe_IsNAKReceived(void)
+ {
+ return ((UPINTX & (1 << NAKEDI)) ? true : false);
+ }
+
+ /** Clears the NAK condition on the currently selected pipe.
+ *
+ * \ingroup Group_PipePacketManagement
+ *
+ * \see \ref Pipe_IsNAKReceived() for more details.
+ */
+ static inline void Pipe_ClearNAKReceived(void) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_ClearNAKReceived(void)
+ {
+ UPINTX &= ~(1 << NAKEDI);
+ }
+
+ /** Determines if the currently selected pipe has had the STALL condition set by the attached device.
+ *
+ * \ingroup Group_PipePacketManagement
+ *
+ * \return Boolean true if the current pipe has been stalled by the attached device, false otherwise.
+ */
+ static inline bool Pipe_IsStalled(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Pipe_IsStalled(void)
+ {
+ return ((UPINTX & (1 << RXSTALLI)) ? true : false);
+ }
+
+ /** Clears the STALL condition detection flag on the currently selected pipe, but does not clear the
+ * STALL condition itself (this must be done via a ClearFeature control request to the device).
+ *
+ * \ingroup Group_PipePacketManagement
+ */
+ static inline void Pipe_ClearStall(void) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_ClearStall(void)
+ {
+ UPINTX &= ~(1 << RXSTALLI);
+ }
+
+ /** Reads one byte from the currently selected pipe's bank, for OUT direction pipes.
+ *
+ * \ingroup Group_PipePrimitiveRW
+ *
+ * \return Next byte in the currently selected pipe's FIFO buffer.
+ */
+ static inline uint8_t Pipe_Read_Byte(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t Pipe_Read_Byte(void)
+ {
+ return UPDATX;
+ }
+
+ /** Writes one byte from the currently selected pipe's bank, for IN direction pipes.
+ *
+ * \ingroup Group_PipePrimitiveRW
+ *
+ * \param[in] Byte Next byte to write into the the currently selected pipe's FIFO buffer.
+ */
+ static inline void Pipe_Write_Byte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_Write_Byte(const uint8_t Byte)
+ {
+ UPDATX = Byte;
+ }
+
+ /** Discards one byte from the currently selected pipe's bank, for OUT direction pipes.
+ *
+ * \ingroup Group_PipePrimitiveRW
+ */
+ static inline void Pipe_Discard_Byte(void) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_Discard_Byte(void)
+ {
+ uint8_t Dummy;
+
+ Dummy = UPDATX;
+ }
+
+ /** Reads two bytes from the currently selected pipe's bank in little endian format, for OUT
+ * direction pipes.
+ *
+ * \ingroup Group_PipePrimitiveRW
+ *
+ * \return Next word in the currently selected pipe's FIFO buffer.
+ */
+ static inline uint16_t Pipe_Read_Word_LE(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint16_t Pipe_Read_Word_LE(void)
+ {
+ union
+ {
+ uint16_t Word;
+ uint8_t Bytes[2];
+ } Data;
+
+ Data.Bytes[0] = UPDATX;
+ Data.Bytes[1] = UPDATX;
+
+ return Data.Word;
+ }
+
+ /** Reads two bytes from the currently selected pipe's bank in big endian format, for OUT
+ * direction pipes.
+ *
+ * \ingroup Group_PipePrimitiveRW
+ *
+ * \return Next word in the currently selected pipe's FIFO buffer.
+ */
+ static inline uint16_t Pipe_Read_Word_BE(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint16_t Pipe_Read_Word_BE(void)
+ {
+ union
+ {
+ uint16_t Word;
+ uint8_t Bytes[2];
+ } Data;
+
+ Data.Bytes[1] = UPDATX;
+ Data.Bytes[0] = UPDATX;
+
+ return Data.Word;
+ }
+
+ /** Writes two bytes to the currently selected pipe's bank in little endian format, for IN
+ * direction pipes.
+ *
+ * \ingroup Group_PipePrimitiveRW
+ *
+ * \param[in] Word Next word to write to the currently selected pipe's FIFO buffer.
+ */
+ static inline void Pipe_Write_Word_LE(const uint16_t Word) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_Write_Word_LE(const uint16_t Word)
+ {
+ UPDATX = (Word & 0xFF);
+ UPDATX = (Word >> 8);
+ }
+
+ /** Writes two bytes to the currently selected pipe's bank in big endian format, for IN
+ * direction pipes.
+ *
+ * \ingroup Group_PipePrimitiveRW
+ *
+ * \param[in] Word Next word to write to the currently selected pipe's FIFO buffer.
+ */
+ static inline void Pipe_Write_Word_BE(const uint16_t Word) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_Write_Word_BE(const uint16_t Word)
+ {
+ UPDATX = (Word >> 8);
+ UPDATX = (Word & 0xFF);
+ }
+
+ /** Discards two bytes from the currently selected pipe's bank, for OUT direction pipes.
+ *
+ * \ingroup Group_PipePrimitiveRW
+ */
+ static inline void Pipe_Discard_Word(void) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_Discard_Word(void)
+ {
+ uint8_t Dummy;
+
+ Dummy = UPDATX;
+ Dummy = UPDATX;
+ }
+
+ /** Reads four bytes from the currently selected pipe's bank in little endian format, for OUT
+ * direction pipes.
+ *
+ * \ingroup Group_PipePrimitiveRW
+ *
+ * \return Next double word in the currently selected pipe's FIFO buffer.
+ */
+ static inline uint32_t Pipe_Read_DWord_LE(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint32_t Pipe_Read_DWord_LE(void)
+ {
+ union
+ {
+ uint32_t DWord;
+ uint8_t Bytes[4];
+ } Data;
+
+ Data.Bytes[0] = UPDATX;
+ Data.Bytes[1] = UPDATX;
+ Data.Bytes[2] = UPDATX;
+ Data.Bytes[3] = UPDATX;
+
+ return Data.DWord;
+ }
+
+ /** Reads four bytes from the currently selected pipe's bank in big endian format, for OUT
+ * direction pipes.
+ *
+ * \ingroup Group_PipePrimitiveRW
+ *
+ * \return Next double word in the currently selected pipe's FIFO buffer.
+ */
+ static inline uint32_t Pipe_Read_DWord_BE(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint32_t Pipe_Read_DWord_BE(void)
+ {
+ union
+ {
+ uint32_t DWord;
+ uint8_t Bytes[4];
+ } Data;
+
+ Data.Bytes[3] = UPDATX;
+ Data.Bytes[2] = UPDATX;
+ Data.Bytes[1] = UPDATX;
+ Data.Bytes[0] = UPDATX;
+
+ return Data.DWord;
+ }
+
+ /** Writes four bytes to the currently selected pipe's bank in little endian format, for IN
+ * direction pipes.
+ *
+ * \ingroup Group_PipePrimitiveRW
+ *
+ * \param[in] DWord Next double word to write to the currently selected pipe's FIFO buffer.
+ */
+ static inline void Pipe_Write_DWord_LE(const uint32_t DWord) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_Write_DWord_LE(const uint32_t DWord)
+ {
+ UPDATX = (DWord & 0xFF);
+ UPDATX = (DWord >> 8);
+ UPDATX = (DWord >> 16);
+ UPDATX = (DWord >> 24);
+ }
+
+ /** Writes four bytes to the currently selected pipe's bank in big endian format, for IN
+ * direction pipes.
+ *
+ * \ingroup Group_PipePrimitiveRW
+ *
+ * \param[in] DWord Next double word to write to the currently selected pipe's FIFO buffer.
+ */
+ static inline void Pipe_Write_DWord_BE(const uint32_t DWord) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_Write_DWord_BE(const uint32_t DWord)
+ {
+ UPDATX = (DWord >> 24);
+ UPDATX = (DWord >> 16);
+ UPDATX = (DWord >> 8);
+ UPDATX = (DWord & 0xFF);
+ }
+
+ /** Discards four bytes from the currently selected pipe's bank, for OUT direction pipes.
+ *
+ * \ingroup Group_PipePrimitiveRW
+ */
+ static inline void Pipe_Discard_DWord(void) ATTR_ALWAYS_INLINE;
+ static inline void Pipe_Discard_DWord(void)
+ {
+ uint8_t Dummy;
+
+ Dummy = UPDATX;
+ Dummy = UPDATX;
+ Dummy = UPDATX;
+ Dummy = UPDATX;
+ }
+
+ /* External Variables: */
+ /** Global indicating the maximum packet size of the default control pipe located at address
+ * 0 in the device. This value is set to the value indicated in the attached device's device
+ * descriptor once the USB interface is initialized into host mode and a device is attached
+ * to the USB bus.
+ *
+ * \note This variable should be treated as read-only in the user application, and never manually
+ * changed in value.
+ */
+ extern uint8_t USB_ControlPipeSize;
+
+ /* Function Prototypes: */
+ /** Configures the specified pipe number with the given pipe type, token, target endpoint number in the
+ * attached device, bank size and banking mode.
+ *
+ * A newly configured pipe is frozen by default, and must be unfrozen before use via the \ref Pipe_Unfreeze()
+ * before being used. Pipes should be kept frozen unless waiting for data from a device while in IN mode, or
+ * sending data to the device in OUT mode. IN type pipes are also automatically configured to accept infinite
+ * numbers of IN requests without automatic freezing - this can be overridden by a call to
+ * \ref Pipe_SetFiniteINRequests().
+ *
+ * \param[in] Number Pipe number to configure. This must be more than 0 and less than \ref PIPE_TOTAL_PIPES.
+ *
+ * \param[in] Type Type of pipe to configure, a EP_TYPE_* mask. Not all pipe types are available on Low
+ * Speed USB devices - refer to the USB 2.0 specification.
+ *
+ * \param[in] Token Pipe data token, either \ref PIPE_TOKEN_SETUP, \ref PIPE_TOKEN_OUT or \ref PIPE_TOKEN_IN.
+ * All pipes (except Control type) are unidirectional - data may only be read from or
+ * written to the pipe bank based on its direction, not both.
+ *
+ * \param[in] EndpointNumber Endpoint index within the attached device that the pipe should interface to.
+ *
+ * \param[in] Size Size of the pipe's bank, where packets are stored before they are transmitted to
+ * the USB device, or after they have been received from the USB device (depending on
+ * the pipe's data direction). The bank size must indicate the maximum packet size that
+ * the pipe can handle.
+ *
+ * \param[in] Banks Number of banks to use for the pipe being configured, a PIPE_BANK_* mask. More banks
+ * uses more USB DPRAM, but offers better performance. Isochronous type pipes <b>must</b>
+ * have at least two banks.
+ *
+ * \note Endpoints <b>must</b> be configured in ascending order, or bank corruption will occur.
+ * \n\n
+ *
+ * \note Certain models of USB AVR's pipes may have different maximum packet sizes based on the pipe's
+ * index - refer to the chosen USB AVR's datasheet to determine the maximum bank size for each pipe.
+ * \n\n
+ *
+ * \note The default control pipe should not be manually configured by the user application, as it is
+ * automatically configured by the library internally.
+ * \n\n
+ *
+ * \note This routine will automatically select the specified pipe upon success. Upon failure, the pipe which
+ * failed to reconfigure correctly will be selected.
+ *
+ * \return Boolean true if the configuration succeeded, false otherwise.
+ */
+ bool Pipe_ConfigurePipe(const uint8_t Number,
+ const uint8_t Type,
+ const uint8_t Token,
+ const uint8_t EndpointNumber,
+ const uint16_t Size,
+ const uint8_t Banks);
+
+ /** Spin-loops until the currently selected non-control pipe is ready for the next packed of data to be read
+ * or written to it, aborting in the case of an error condition (such as a timeout or device disconnect).
+ *
+ * \ingroup Group_PipeRW
+ *
+ * \return A value from the \ref Pipe_WaitUntilReady_ErrorCodes_t enum.
+ */
+ uint8_t Pipe_WaitUntilReady(void);
+
+ /** Determines if a pipe has been bound to the given device endpoint address. If a pipe which is bound to the given
+ * endpoint is found, it is automatically selected.
+ *
+ * \param[in] EndpointAddress Address and direction mask of the endpoint within the attached device to check.
+ *
+ * \return Boolean true if a pipe bound to the given endpoint address of the specified direction is found, false
+ * otherwise.
+ */
+ bool Pipe_IsEndpointBound(const uint8_t EndpointAddress);
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #if !defined(ENDPOINT_CONTROLEP)
+ #define ENDPOINT_CONTROLEP 0
+ #endif
+
+ /* Inline Functions: */
+ static inline uint8_t Pipe_BytesToEPSizeMask(const uint16_t Bytes) ATTR_WARN_UNUSED_RESULT ATTR_CONST ATTR_ALWAYS_INLINE;
+ static inline uint8_t Pipe_BytesToEPSizeMask(const uint16_t Bytes)
+ {
+ uint8_t MaskVal = 0;
+ uint16_t CheckBytes = 8;
+
+ while ((CheckBytes < Bytes) && (CheckBytes < PIPE_MAX_SIZE))
+ {
+ MaskVal++;
+ CheckBytes <<= 1;
+ }
+
+ return (MaskVal << EPSIZE0);
+ }
+
+ /* Function Prototypes: */
+ void Pipe_ClearPipes(void);
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Pipe.lst b/firmware/LUFA/Drivers/USB/LowLevel/Pipe.lst
new file mode 100644
index 0000000..9fdc61f
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Pipe.lst
@@ -0,0 +1,19 @@
+ 1 .file "Pipe.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 Pipe.c
+ /tmp/ccJappoz.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccJappoz.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccJappoz.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccJappoz.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccJappoz.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccJappoz.s:7 *ABS*:0000000000000001 __zero_reg__
+
+NO UNDEFINED SYMBOLS
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/Pipe.o b/firmware/LUFA/Drivers/USB/LowLevel/Pipe.o
new file mode 100644
index 0000000..204b8df
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/Pipe.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/USBController.c b/firmware/LUFA/Drivers/USB/LowLevel/USBController.c
new file mode 100644
index 0000000..b7f6bc7
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/USBController.c
@@ -0,0 +1,232 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#define __INCLUDE_FROM_USB_CONTROLLER_C
+#include "USBController.h"
+
+#if (!defined(USB_HOST_ONLY) && !defined(USB_DEVICE_ONLY))
+volatile uint8_t USB_CurrentMode = USB_MODE_None;
+#endif
+
+#if !defined(USE_STATIC_OPTIONS)
+volatile uint8_t USB_Options;
+#endif
+
+void USB_Init(
+ #if defined(USB_CAN_BE_BOTH)
+ const uint8_t Mode
+ #endif
+
+ #if (defined(USB_CAN_BE_BOTH) && !defined(USE_STATIC_OPTIONS))
+ ,
+ #elif (!defined(USB_CAN_BE_BOTH) && defined(USE_STATIC_OPTIONS))
+ void
+ #endif
+
+ #if !defined(USE_STATIC_OPTIONS)
+ const uint8_t Options
+ #endif
+ )
+{
+ #if !defined(USE_STATIC_OPTIONS)
+ USB_Options = Options;
+ #endif
+
+ if (!(USB_Options & USB_OPT_REG_DISABLED))
+ USB_REG_On();
+ else
+ USB_REG_Off();
+
+ #if defined(USB_CAN_BE_BOTH)
+ if (Mode == USB_MODE_UID)
+ {
+ UHWCON |= (1 << UIDE);
+ USB_INT_Enable(USB_INT_IDTI);
+ USB_CurrentMode = USB_GetUSBModeFromUID();
+ }
+ else
+ {
+ USB_CurrentMode = Mode;
+ }
+ #endif
+
+ USB_IsInitialized = true;
+
+ USB_ResetInterface();
+}
+
+void USB_ShutDown(void)
+{
+ USB_INT_DisableAllInterrupts();
+ USB_INT_ClearAllInterrupts();
+
+ USB_Detach();
+ USB_Controller_Disable();
+
+ if (!(USB_Options & USB_OPT_MANUAL_PLL))
+ USB_PLL_Off();
+
+ USB_REG_Off();
+
+ #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ USB_OTGPAD_Off();
+ #endif
+
+ #if defined(USB_CAN_BE_BOTH)
+ USB_CurrentMode = USB_MODE_None;
+ #endif
+
+ USB_IsInitialized = false;
+}
+
+void USB_ResetInterface(void)
+{
+ #if defined(USB_CAN_BE_BOTH)
+ bool UIDModeSelectEnabled = ((UHWCON & (1 << UIDE)) != 0);
+ #endif
+
+ USB_INT_DisableAllInterrupts();
+ USB_INT_ClearAllInterrupts();
+
+ USB_Controller_Reset();
+
+ if (!(USB_Options & USB_OPT_MANUAL_PLL))
+ {
+ #if defined(USB_SERIES_4_AVR)
+ PLLFRQ = ((1 << PLLUSB) | (1 << PDIV3) | (1 << PDIV1));
+ #endif
+
+ USB_PLL_On();
+ while (!(USB_PLL_IsReady()));
+ }
+
+ #if defined(USB_CAN_BE_BOTH)
+ if (UIDModeSelectEnabled)
+ {
+ UHWCON |= (1 << UIDE);
+ USB_INT_Enable(USB_INT_IDTI);
+ }
+ #endif
+
+ USB_CLK_Unfreeze();
+
+ if (USB_CurrentMode == USB_MODE_Device)
+ {
+ #if defined(USB_CAN_BE_DEVICE)
+ #if (defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
+ UHWCON |= (1 << UIMOD);
+ #endif
+
+ USB_Init_Device();
+ #endif
+ }
+ else if (USB_CurrentMode == USB_MODE_Host)
+ {
+ #if defined(USB_CAN_BE_HOST)
+ UHWCON &= ~(1 << UIMOD);
+ USB_Init_Host();
+ #endif
+ }
+
+ #if (defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
+ USB_OTGPAD_On();
+ #endif
+}
+
+#if defined(USB_CAN_BE_DEVICE)
+static void USB_Init_Device(void)
+{
+ USB_DeviceState = DEVICE_STATE_Unattached;
+ USB_ConfigurationNumber = 0;
+
+ #if !defined(NO_DEVICE_REMOTE_WAKEUP)
+ USB_RemoteWakeupEnabled = false;
+ #endif
+
+ #if !defined(NO_DEVICE_SELF_POWER)
+ USB_CurrentlySelfPowered = false;
+ #endif
+
+ #if !defined(FIXED_CONTROL_ENDPOINT_SIZE)
+ USB_Descriptor_Device_t* DeviceDescriptorPtr;
+
+ if (CALLBACK_USB_GetDescriptor((DTYPE_Device << 8), 0, (void*)&DeviceDescriptorPtr) != NO_DESCRIPTOR)
+ {
+ #if defined(USE_RAM_DESCRIPTORS)
+ USB_ControlEndpointSize = DeviceDescriptorPtr->Endpoint0Size;
+ #elif defined(USE_EEPROM_DESCRIPTORS)
+ USB_ControlEndpointSize = eeprom_read_byte(&DeviceDescriptorPtr->Endpoint0Size);
+ #else
+ USB_ControlEndpointSize = pgm_read_byte(&DeviceDescriptorPtr->Endpoint0Size);
+ #endif
+ }
+ #endif
+
+ #if (defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
+ if (USB_Options & USB_DEVICE_OPT_LOWSPEED)
+ USB_Device_SetLowSpeed();
+ else
+ USB_Device_SetFullSpeed();
+
+ USB_INT_Enable(USB_INT_VBUS);
+ #endif
+
+ Endpoint_ConfigureEndpoint(ENDPOINT_CONTROLEP, EP_TYPE_CONTROL,
+ ENDPOINT_DIR_OUT, USB_ControlEndpointSize,
+ ENDPOINT_BANK_SINGLE);
+
+ USB_INT_Clear(USB_INT_SUSPI);
+ USB_INT_Enable(USB_INT_SUSPI);
+ USB_INT_Enable(USB_INT_EORSTI);
+
+ USB_Attach();
+}
+#endif
+
+#if defined(USB_CAN_BE_HOST)
+static void USB_Init_Host(void)
+{
+ USB_HostState = HOST_STATE_Unattached;
+ USB_ControlPipeSize = PIPE_CONTROLPIPE_DEFAULT_SIZE;
+
+ USB_Host_HostMode_On();
+
+ USB_Host_VBUS_Auto_Off();
+ USB_Host_VBUS_Manual_Enable();
+ USB_Host_VBUS_Manual_On();
+
+ USB_INT_Enable(USB_INT_SRPI);
+ USB_INT_Enable(USB_INT_BCERRI);
+
+ USB_Attach();
+}
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/USBController.h b/firmware/LUFA/Drivers/USB/LowLevel/USBController.h
new file mode 100644
index 0000000..3ac73aa
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/USBController.h
@@ -0,0 +1,471 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB low level USB controller definitions.
+ *
+ * This file contains structures, function prototypes and macros related to the low level configuration of the
+ * USB controller, to start, stop and reset the USB library core.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+/** \ingroup Group_USB
+ * @defgroup Group_USBManagement USB Interface Management
+ *
+ * Functions, macros, variables, enums and types related to the setup and management of the USB interface.
+ *
+ * @{
+ */
+
+#ifndef __USBCONTROLLER_H__
+#define __USBCONTROLLER_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <avr/interrupt.h>
+ #include <stdbool.h>
+
+ #include "../HighLevel/USBMode.h"
+
+ #include "../../../Common/Common.h"
+ #include "../HighLevel/USBMode.h"
+ #include "../HighLevel/Events.h"
+ #include "../HighLevel/USBTask.h"
+ #include "USBInterrupt.h"
+
+ #if defined(USB_CAN_BE_HOST) || defined(__DOXYGEN__)
+ #include "Host.h"
+ #include "OTG.h"
+ #include "Pipe.h"
+ #include "../HighLevel/HostStandardReq.h"
+ #include "../HighLevel/PipeStream.h"
+ #endif
+
+ #if defined(USB_CAN_BE_DEVICE) || defined(__DOXYGEN__)
+ #include "Device.h"
+ #include "Endpoint.h"
+ #include "../HighLevel/DeviceStandardReq.h"
+ #include "../HighLevel/EndpointStream.h"
+ #endif
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks and Defines: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ #if !defined(F_CLOCK)
+ #error F_CLOCK is not defined. You must define F_CLOCK to the frequency of the unprescaled input clock in your project makefile.
+ #endif
+
+ #if (F_CLOCK == 8000000)
+ #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \
+ defined(__AVR_ATmega8U2__) || defined(__AVR_ATmega16U2__) || \
+ defined(__AVR_ATmega32U2__))
+ #define USB_PLL_PSC 0
+ #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))
+ #define USB_PLL_PSC 0
+ #elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__) || defined(__AVR_ATmega32U6__))
+ #define USB_PLL_PSC ((1 << PLLP1) | (1 << PLLP0))
+ #elif (defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1287__))
+ #define USB_PLL_PSC ((1 << PLLP1) | (1 << PLLP0))
+ #endif
+ #elif (F_CLOCK == 16000000)
+ #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \
+ defined(__AVR_ATmega8U2__) || defined(__AVR_ATmega16U2__) || \
+ defined(__AVR_ATmega32U2__))
+ #define USB_PLL_PSC (1 << PLLP0)
+ #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))
+ #define USB_PLL_PSC (1 << PINDIV)
+ #elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_ATmega32U6__))
+ #define USB_PLL_PSC ((1 << PLLP2) | (1 << PLLP1))
+ #elif (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__))
+ #define USB_PLL_PSC ((1 << PLLP2) | (1 << PLLP0))
+ #endif
+ #endif
+
+ #if !defined(USB_PLL_PSC)
+ #error No PLL prescale value available for chosen F_CLOCK value and AVR model.
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** \name USB Controller Option Masks */
+ //@{
+ /** Regulator disable option mask for \ref USB_Init(). This indicates that the internal 3.3V USB data pad
+ * regulator should be enabled to regulate the data pin voltages to within the USB standard.
+ *
+ * \note See USB AVR data sheet for more information on the internal pad regulator.
+ */
+ #define USB_OPT_REG_DISABLED (1 << 1)
+
+ /** Regulator enable option mask for \ref USB_Init(). This indicates that the internal 3.3V USB data pad
+ * regulator should be disabled and the AVR's VCC level used for the data pads.
+ *
+ * \note See USB AVR data sheet for more information on the internal pad regulator.
+ */
+ #define USB_OPT_REG_ENABLED (0 << 1)
+
+ /** Manual PLL control option mask for \ref USB_Init(). This indicates to the library that the user application
+ * will take full responsibility for controlling the AVR's PLL (used to generate the high frequency clock
+ * that the USB controller requires) and ensuring that it is locked at the correct frequency for USB operations.
+ */
+ #define USB_OPT_MANUAL_PLL (1 << 2)
+
+ /** Automatic PLL control option mask for \ref USB_Init(). This indicates to the library that the library should
+ * take full responsibility for controlling the AVR's PLL (used to generate the high frequency clock
+ * that the USB controller requires) and ensuring that it is locked at the correct frequency for USB operations.
+ */
+ #define USB_OPT_AUTO_PLL (0 << 2)
+ //@}
+
+ /** \name Endpoint/Pipe Type Masks */
+ //@{
+ /** Mask for a CONTROL type endpoint or pipe.
+ *
+ * \note See \ref Group_EndpointManagement and \ref Group_PipeManagement for endpoint/pipe functions.
+ */
+ #define EP_TYPE_CONTROL 0x00
+
+ /** Mask for an ISOCHRONOUS type endpoint or pipe.
+ *
+ * \note See \ref Group_EndpointManagement and \ref Group_PipeManagement for endpoint/pipe functions.
+ */
+ #define EP_TYPE_ISOCHRONOUS 0x01
+
+ /** Mask for a BULK type endpoint or pipe.
+ *
+ * \note See \ref Group_EndpointManagement and \ref Group_PipeManagement for endpoint/pipe functions.
+ */
+ #define EP_TYPE_BULK 0x02
+
+ /** Mask for an INTERRUPT type endpoint or pipe.
+ *
+ * \note See \ref Group_EndpointManagement and \ref Group_PipeManagement for endpoint/pipe functions.
+ */
+ #define EP_TYPE_INTERRUPT 0x03
+ //@}
+
+ #if !defined(USB_STREAM_TIMEOUT_MS) || defined(__DOXYGEN__)
+ /** Constant for the maximum software timeout period of the USB data stream transfer functions
+ * (both control and standard) when in either device or host mode. If the next packet of a stream
+ * is not received or acknowledged within this time period, the stream function will fail.
+ *
+ * This value may be overridden in the user project makefile as the value of the
+ * \ref USB_STREAM_TIMEOUT_MS token, and passed to the compiler using the -D switch.
+ */
+ #define USB_STREAM_TIMEOUT_MS 100
+ #endif
+
+ /* Inline Functions: */
+ #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR) || defined(__DOXYGEN__)
+ /** Returns boolean true if the VBUS line is currently high (i.e. the USB host is supplying power),
+ * otherwise returns false.
+ *
+ * \note This function is not available on some AVR models which do not support hardware VBUS monitoring.
+ */
+ static inline bool USB_VBUS_GetStatus(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool USB_VBUS_GetStatus(void)
+ {
+ return ((USBSTA & (1 << VBUS)) ? true : false);
+ }
+ #endif
+
+ /** Detaches the device from the USB bus. This has the effect of removing the device from any
+ * attached host, ceasing USB communications. If no host is present, this prevents any host from
+ * enumerating the device once attached until \ref USB_Attach() is called.
+ */
+ static inline void USB_Detach(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Detach(void)
+ {
+ UDCON |= (1 << DETACH);
+ }
+
+ /** Attaches the device to the USB bus. This announces the device's presence to any attached
+ * USB host, starting the enumeration process. If no host is present, attaching the device
+ * will allow for enumeration once a host is connected to the device.
+ *
+ * This is inexplicably also required for proper operation while in host mode, to enable the
+ * attachment of a device to the host. This is despite the bit being located in the device-mode
+ * register and despite the datasheet making no mention of its requirement in host mode.
+ */
+ static inline void USB_Attach(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Attach(void)
+ {
+ UDCON &= ~(1 << DETACH);
+ }
+
+ /* Function Prototypes: */
+ /** Main function to initialize and start the USB interface. Once active, the USB interface will
+ * allow for device connection to a host when in device mode, or for device enumeration while in
+ * host mode.
+ *
+ * As the USB library relies on interrupts for the device and host mode enumeration processes,
+ * the user must enable global interrupts before or shortly after this function is called. In
+ * device mode, interrupts must be enabled within 500ms of this function being called to ensure
+ * that the host does not time out whilst enumerating the device. In host mode, interrupts may be
+ * enabled at the application's leisure however enumeration will not begin of an attached device
+ * until after this has occurred.
+ *
+ * Calling this function when the USB interface is already initialized will cause a complete USB
+ * interface reset and re-enumeration.
+ *
+ * \param[in] Mode This is a mask indicating what mode the USB interface is to be initialized to, a value
+ * from the \ref USB_Modes_t enum.
+ *
+ * \param[in] Options Mask indicating the options which should be used when initializing the USB
+ * interface to control the USB interface's behaviour. This should be comprised of
+ * a USB_OPT_REG_* mask to control the regulator, a USB_OPT_*_PLL mask to control the
+ * PLL, and a USB_DEVICE_OPT_* mask (when the device mode is enabled) to set the device
+ * mode speed.
+ *
+ * \note To reduce the FLASH requirements of the library if only device or host mode is required,
+ * the mode can be statically set in the project makefile by defining the token USB_DEVICE_ONLY
+ * (for device mode) or USB_HOST_ONLY (for host mode), passing the token to the compiler
+ * via the -D switch. If the mode is statically set, this parameter does not exist in the
+ * function prototype.
+ * \n\n
+ *
+ * \note To reduce the FLASH requirements of the library if only fixed settings are are required,
+ * the options may be set statically in the same manner as the mode (see the Mode parameter of
+ * this function). To statically set the USB options, pass in the USE_STATIC_OPTIONS token,
+ * defined to the appropriate options masks. When the options are statically set, this
+ * parameter does not exist in the function prototype.
+ * \n\n
+ *
+ * \note The mode parameter does not exist on devices where only one mode is possible, such as USB
+ * AVR models which only implement the USB device mode in hardware.
+ *
+ * \see Device.h for the USB_DEVICE_OPT_* masks.
+ */
+ void USB_Init(
+ #if defined(USB_CAN_BE_BOTH) || defined(__DOXYGEN__)
+ const uint8_t Mode
+ #endif
+
+ #if (defined(USB_CAN_BE_BOTH) && !defined(USE_STATIC_OPTIONS)) || defined(__DOXYGEN__)
+ ,
+ #elif (!defined(USB_CAN_BE_BOTH) && defined(USE_STATIC_OPTIONS))
+ void
+ #endif
+
+ #if !defined(USE_STATIC_OPTIONS) || defined(__DOXYGEN__)
+ const uint8_t Options
+ #endif
+ );
+
+ /** Shuts down the USB interface. This turns off the USB interface after deallocating all USB FIFO
+ * memory, endpoints and pipes. When turned off, no USB functionality can be used until the interface
+ * is restarted with the \ref USB_Init() function.
+ */
+ void USB_ShutDown(void);
+
+ /** Resets the interface, when already initialized. This will re-enumerate the device if already connected
+ * to a host, or re-enumerate an already attached device when in host mode.
+ */
+ void USB_ResetInterface(void);
+
+ /* Global Variables: */
+ #if (!defined(USB_HOST_ONLY) && !defined(USB_DEVICE_ONLY)) || defined(__DOXYGEN__)
+ /** Indicates the mode that the USB interface is currently initialized to, a value from the
+ * \ref USB_Modes_t enum.
+ *
+ * \note This variable should be treated as read-only in the user application, and never manually
+ * changed in value.
+ * \n\n
+ *
+ * \note When the controller is initialized into UID autodetection mode, this variable will hold the
+ * currently selected USB mode (i.e. \ref USB_MODE_Device or \ref USB_MODE_Host). If the controller
+ * is fixed into a specific mode (either through the USB_DEVICE_ONLY or USB_HOST_ONLY compile time
+ * options, or a limitation of the USB controller in the chosen device model) this will evaluate to
+ * a constant of the appropriate value and will never evaluate to \ref USB_MODE_None even when the
+ * USB interface is not initialized.
+ */
+ extern volatile uint8_t USB_CurrentMode;
+ #elif defined(USB_HOST_ONLY)
+ #define USB_CurrentMode USB_MODE_Host
+ #elif defined(USB_DEVICE_ONLY)
+ #define USB_CurrentMode USB_MODE_Device
+ #endif
+
+ #if !defined(USE_STATIC_OPTIONS) || defined(__DOXYGEN__)
+ /** Indicates the current USB options that the USB interface was initialized with when \ref USB_Init()
+ * was called. This value will be one of the USB_MODE_* masks defined elsewhere in this module.
+ *
+ * \note This variable should be treated as read-only in the user application, and never manually
+ * changed in value.
+ */
+ extern volatile uint8_t USB_Options;
+ #elif defined(USE_STATIC_OPTIONS)
+ #define USB_Options USE_STATIC_OPTIONS
+ #endif
+
+ /* Enums: */
+ /** Enum for the possible USB controller modes, for initialization via \ref USB_Init() and indication back to the
+ * user application via \ref USB_CurrentMode.
+ */
+ enum USB_Modes_t
+ {
+ USB_MODE_None = 0, /**< Indicates that the controller is currently not initialized in any specific USB mode. */
+ USB_MODE_Device = 1, /**< Indicates that the controller is currently initialized in USB Device mode. */
+ USB_MODE_Host = 2, /**< Indicates that the controller is currently initialized in USB Host mode. */
+ USB_MODE_UID = 3, /**< Indicates that the controller should determine the USB mode from the UID pin of the
+ * USB connector.
+ */
+ };
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Function Prototypes: */
+ #if defined(__INCLUDE_FROM_USB_CONTROLLER_C)
+ #if defined(USB_CAN_BE_DEVICE)
+ static void USB_Init_Device(void);
+ #endif
+
+ #if defined(USB_CAN_BE_HOST)
+ static void USB_Init_Host(void);
+ #endif
+ #endif
+
+ /* Inline Functions: */
+ static inline void USB_PLL_On(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_PLL_On(void)
+ {
+ PLLCSR = USB_PLL_PSC;
+ PLLCSR |= (1 << PLLE);
+ }
+
+ static inline void USB_PLL_Off(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_PLL_Off(void)
+ {
+ PLLCSR = 0;
+ }
+
+ static inline bool USB_PLL_IsReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool USB_PLL_IsReady(void)
+ {
+ return ((PLLCSR & (1 << PLOCK)) ? true : false);
+ }
+
+ static inline void USB_REG_On(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_REG_On(void)
+ {
+ #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ UHWCON |= (1 << UVREGE);
+ #else
+ REGCR &= ~(1 << REGDIS);
+ #endif
+ }
+
+ static inline void USB_REG_Off(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_REG_Off(void)
+ {
+ #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ UHWCON &= ~(1 << UVREGE);
+ #else
+ REGCR |= (1 << REGDIS);
+ #endif
+ }
+
+ #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ static inline void USB_OTGPAD_On(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_OTGPAD_On(void)
+ {
+ USBCON |= (1 << OTGPADE);
+ }
+
+ static inline void USB_OTGPAD_Off(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_OTGPAD_Off(void)
+ {
+ USBCON &= ~(1 << OTGPADE);
+ }
+ #endif
+
+ static inline void USB_CLK_Freeze(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_CLK_Freeze(void)
+ {
+ USBCON |= (1 << FRZCLK);
+ }
+
+ static inline void USB_CLK_Unfreeze(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_CLK_Unfreeze(void)
+ {
+ USBCON &= ~(1 << FRZCLK);
+ }
+
+ static inline void USB_Controller_Enable(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Controller_Enable(void)
+ {
+ USBCON |= (1 << USBE);
+ }
+
+ static inline void USB_Controller_Disable(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Controller_Disable(void)
+ {
+ USBCON &= ~(1 << USBE);
+ }
+
+ static inline void USB_Controller_Reset(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Controller_Reset(void)
+ {
+ const uint8_t Temp = USBCON;
+
+ USBCON = (Temp & ~(1 << USBE));
+ USBCON = (Temp | (1 << USBE));
+ }
+
+ #if defined(USB_CAN_BE_BOTH)
+ static inline uint8_t USB_GetUSBModeFromUID(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t USB_GetUSBModeFromUID(void)
+ {
+ if (USBSTA & (1 << ID))
+ return USB_MODE_Device;
+ else
+ return USB_MODE_Host;
+ }
+ #endif
+
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/USBController.lst b/firmware/LUFA/Drivers/USB/LowLevel/USBController.lst
new file mode 100644
index 0000000..8adcf06
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/USBController.lst
@@ -0,0 +1,204 @@
+ 1 .file "USBController.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.USB_ShutDown,"ax",@progbits
+ 17 .global USB_ShutDown
+ 19 USB_ShutDown:
+ 20 .LFB69:
+ 21 .LSM0:
+ 22 /* prologue: function */
+ 23 /* frame size = 0 */
+ 24 .LSM1:
+ 25 0000 0E94 0000 call USB_INT_DisableAllInterrupts
+ 26 .LSM2:
+ 27 0004 0E94 0000 call USB_INT_ClearAllInterrupts
+ 28 .LBB28:
+ 29 .LBB29:
+ 30 .LSM3:
+ 31 0008 E0EE ldi r30,lo8(224)
+ 32 000a F0E0 ldi r31,hi8(224)
+ 33 000c 8081 ld r24,Z
+ 34 000e 8160 ori r24,lo8(1)
+ 35 0010 8083 st Z,r24
+ 36 .LBE29:
+ 37 .LBE28:
+ 38 .LBB30:
+ 39 .LBB31:
+ 40 .LSM4:
+ 41 0012 E8ED ldi r30,lo8(216)
+ 42 0014 F0E0 ldi r31,hi8(216)
+ 43 0016 8081 ld r24,Z
+ 44 0018 8F77 andi r24,lo8(127)
+ 45 001a 8083 st Z,r24
+ 46 .LBE31:
+ 47 .LBE30:
+ 48 .LBB32:
+ 49 .LBB33:
+ 50 .LSM5:
+ 51 001c 19BC out 73-32,__zero_reg__
+ 52 .LBE33:
+ 53 .LBE32:
+ 54 .LBB34:
+ 55 .LBB35:
+ 56 .LSM6:
+ 57 001e E3E6 ldi r30,lo8(99)
+ 58 0020 F0E0 ldi r31,hi8(99)
+ 59 0022 8081 ld r24,Z
+ 60 0024 8160 ori r24,lo8(1)
+ 61 0026 8083 st Z,r24
+ 62 .LBE35:
+ 63 .LBE34:
+ 64 .LSM7:
+ 65 0028 1092 0000 sts USB_IsInitialized,__zero_reg__
+ 66 /* epilogue start */
+ 67 .LSM8:
+ 68 002c 0895 ret
+ 69 .LFE69:
+ 71 .section .text.USB_ResetInterface,"ax",@progbits
+ 72 .global USB_ResetInterface
+ 74 USB_ResetInterface:
+ 75 .LFB70:
+ 76 .LSM9:
+ 77 /* prologue: function */
+ 78 /* frame size = 0 */
+ 79 .LSM10:
+ 80 0000 0E94 0000 call USB_INT_DisableAllInterrupts
+ 81 .LSM11:
+ 82 0004 0E94 0000 call USB_INT_ClearAllInterrupts
+ 83 .LBB52:
+ 84 .LBB53:
+ 85 .LSM12:
+ 86 0008 8091 D800 lds r24,216
+ 87 .LVL0:
+ 88 .LSM13:
+ 89 000c 982F mov r25,r24
+ 90 000e 9F77 andi r25,lo8(127)
+ 91 0010 9093 D800 sts 216,r25
+ 92 .LSM14:
+ 93 0014 8068 ori r24,lo8(-128)
+ 94 0016 8093 D800 sts 216,r24
+ 95 .LBE53:
+ 96 .LBE52:
+ 97 .LBB54:
+ 98 .LBB55:
+ 99 .LSM15:
+ 100 001a 84E0 ldi r24,lo8(4)
+ 101 .LVL1:
+ 102 001c 89BD out 73-32,r24
+ 103 .LSM16:
+ 104 001e 89B5 in r24,73-32
+ 105 0020 8260 ori r24,lo8(2)
+ 106 0022 89BD out 73-32,r24
+ 107 .L4:
+ 108 .LBE55:
+ 109 .LBE54:
+ 110 .LSM17:
+ 111 0024 09B4 in __tmp_reg__,73-32
+ 112 0026 00FE sbrs __tmp_reg__,0
+ 113 0028 00C0 rjmp .L4
+ 114 .LBB56:
+ 115 .LBB57:
+ 116 .LSM18:
+ 117 002a 8091 D800 lds r24,216
+ 118 002e 8F7D andi r24,lo8(-33)
+ 119 0030 8093 D800 sts 216,r24
+ 120 .LBE57:
+ 121 .LBE56:
+ 122 .LBB58:
+ 123 .LBB59:
+ 124 .LSM19:
+ 125 0034 1092 0000 sts USB_DeviceState,__zero_reg__
+ 126 .LSM20:
+ 127 0038 1092 0000 sts USB_ConfigurationNumber,__zero_reg__
+ 128 .LSM21:
+ 129 003c 1092 0000 sts USB_RemoteWakeupEnabled,__zero_reg__
+ 130 .LSM22:
+ 131 0040 1092 0000 sts USB_CurrentlySelfPowered,__zero_reg__
+ 132 .LBB60:
+ 133 .LBB61:
+ 134 .LSM23:
+ 135 0044 80E0 ldi r24,lo8(0)
+ 136 0046 60E0 ldi r22,lo8(0)
+ 137 0048 42E0 ldi r20,lo8(2)
+ 138 004a 0E94 0000 call Endpoint_ConfigureEndpoint_Prv
+ 139 .LBE61:
+ 140 .LBE60:
+ 141 .LSM24:
+ 142 004e 8091 E100 lds r24,225
+ 143 0052 8E7F andi r24,lo8(-2)
+ 144 0054 8093 E100 sts 225,r24
+ 145 .LSM25:
+ 146 0058 8091 E200 lds r24,226
+ 147 005c 8160 ori r24,lo8(1)
+ 148 005e 8093 E200 sts 226,r24
+ 149 .LSM26:
+ 150 0062 8091 E200 lds r24,226
+ 151 0066 8860 ori r24,lo8(8)
+ 152 0068 8093 E200 sts 226,r24
+ 153 .LBB62:
+ 154 .LBB63:
+ 155 .LSM27:
+ 156 006c 8091 E000 lds r24,224
+ 157 0070 8E7F andi r24,lo8(-2)
+ 158 0072 8093 E000 sts 224,r24
+ 159 /* epilogue start */
+ 160 .LBE63:
+ 161 .LBE62:
+ 162 .LBE59:
+ 163 .LBE58:
+ 164 .LSM28:
+ 165 0076 0895 ret
+ 166 .LFE70:
+ 168 .section .text.USB_Init,"ax",@progbits
+ 169 .global USB_Init
+ 171 USB_Init:
+ 172 .LFB68:
+ 173 .LSM29:
+ 174 /* prologue: function */
+ 175 /* frame size = 0 */
+ 176 .LBB64:
+ 177 .LBB65:
+ 178 .LSM30:
+ 179 0000 E3E6 ldi r30,lo8(99)
+ 180 0002 F0E0 ldi r31,hi8(99)
+ 181 0004 8081 ld r24,Z
+ 182 0006 8E7F andi r24,lo8(-2)
+ 183 0008 8083 st Z,r24
+ 184 .LBE65:
+ 185 .LBE64:
+ 186 .LSM31:
+ 187 000a 81E0 ldi r24,lo8(1)
+ 188 000c 8093 0000 sts USB_IsInitialized,r24
+ 189 .LSM32:
+ 190 0010 0E94 0000 call USB_ResetInterface
+ 191 /* epilogue start */
+ 192 .LSM33:
+ 193 0014 0895 ret
+ 194 .LFE68:
+ 236 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 USBController.c
+ /tmp/ccyRmSJF.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccyRmSJF.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccyRmSJF.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccyRmSJF.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccyRmSJF.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccyRmSJF.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/ccyRmSJF.s:19 .text.USB_ShutDown:0000000000000000 USB_ShutDown
+ /tmp/ccyRmSJF.s:74 .text.USB_ResetInterface:0000000000000000 USB_ResetInterface
+ /tmp/ccyRmSJF.s:171 .text.USB_Init:0000000000000000 USB_Init
+
+UNDEFINED SYMBOLS
+USB_INT_DisableAllInterrupts
+USB_INT_ClearAllInterrupts
+USB_IsInitialized
+USB_DeviceState
+USB_ConfigurationNumber
+USB_RemoteWakeupEnabled
+USB_CurrentlySelfPowered
+Endpoint_ConfigureEndpoint_Prv
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/USBController.o b/firmware/LUFA/Drivers/USB/LowLevel/USBController.o
new file mode 100644
index 0000000..561d66f
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/USBController.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.c b/firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.c
new file mode 100644
index 0000000..c3e87e3
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.c
@@ -0,0 +1,269 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#define __INCLUDE_FROM_USB_DRIVER
+#include "USBInterrupt.h"
+
+void USB_INT_DisableAllInterrupts(void)
+{
+ #if defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ USBCON &= ~((1 << VBUSTE) | (1 << IDTE));
+ #elif defined(USB_SERIES_4_AVR)
+ USBCON &= ~(1 << VBUSTE);
+ #endif
+
+ #if defined(USB_CAN_BE_BOTH)
+ OTGIEN = 0;
+ #endif
+
+ #if defined(USB_CAN_BE_HOST)
+ UHIEN = 0;
+ #endif
+
+ #if defined(USB_CAN_BE_DEVICE)
+ UDIEN = 0;
+ #endif
+}
+
+void USB_INT_ClearAllInterrupts(void)
+{
+ #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ USBINT = 0;
+ #endif
+
+ #if defined(USB_CAN_BE_BOTH)
+ OTGINT = 0;
+ #endif
+
+ #if defined(USB_CAN_BE_HOST)
+ UHINT = 0;
+ #endif
+
+ #if defined(USB_CAN_BE_DEVICE)
+ UDINT = 0;
+ #endif
+}
+
+ISR(USB_GEN_vect, ISR_BLOCK)
+{
+ #if defined(USB_CAN_BE_DEVICE)
+ #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ if (USB_INT_HasOccurred(USB_INT_VBUS) && USB_INT_IsEnabled(USB_INT_VBUS))
+ {
+ USB_INT_Clear(USB_INT_VBUS);
+
+ if (USB_VBUS_GetStatus())
+ {
+ USB_DeviceState = DEVICE_STATE_Powered;
+ EVENT_USB_Device_Connect();
+ }
+ else
+ {
+ USB_DeviceState = DEVICE_STATE_Unattached;
+ EVENT_USB_Device_Disconnect();
+ }
+ }
+ #endif
+
+ if (USB_INT_HasOccurred(USB_INT_SUSPI) && USB_INT_IsEnabled(USB_INT_SUSPI))
+ {
+ USB_INT_Clear(USB_INT_SUSPI);
+
+ USB_INT_Disable(USB_INT_SUSPI);
+ USB_INT_Enable(USB_INT_WAKEUPI);
+
+ USB_CLK_Freeze();
+
+ if (!(USB_Options & USB_OPT_MANUAL_PLL))
+ USB_PLL_Off();
+
+ #if defined(USB_SERIES_2_AVR) && !defined(NO_LIMITED_CONTROLLER_CONNECT)
+ USB_DeviceState = DEVICE_STATE_Unattached;
+ EVENT_USB_Device_Disconnect();
+ #else
+ USB_DeviceState = DEVICE_STATE_Suspended;
+ EVENT_USB_Device_Suspend();
+ #endif
+ }
+
+ if (USB_INT_HasOccurred(USB_INT_WAKEUPI) && USB_INT_IsEnabled(USB_INT_WAKEUPI))
+ {
+ if (!(USB_Options & USB_OPT_MANUAL_PLL))
+ {
+ USB_PLL_On();
+ while (!(USB_PLL_IsReady()));
+ }
+
+ USB_CLK_Unfreeze();
+
+ USB_INT_Clear(USB_INT_WAKEUPI);
+
+ USB_INT_Disable(USB_INT_WAKEUPI);
+ USB_INT_Enable(USB_INT_SUSPI);
+
+ if (USB_ConfigurationNumber)
+ USB_DeviceState = DEVICE_STATE_Configured;
+ else
+ USB_DeviceState = (USB_Device_IsAddressSet()) ? DEVICE_STATE_Configured : DEVICE_STATE_Powered;
+
+ #if defined(USB_SERIES_2_AVR) && !defined(NO_LIMITED_CONTROLLER_CONNECT)
+ EVENT_USB_Device_Connect();
+ #else
+ EVENT_USB_Device_WakeUp();
+ #endif
+ }
+
+ if (USB_INT_HasOccurred(USB_INT_EORSTI) && USB_INT_IsEnabled(USB_INT_EORSTI))
+ {
+ USB_INT_Clear(USB_INT_EORSTI);
+
+ USB_DeviceState = DEVICE_STATE_Default;
+ USB_ConfigurationNumber = 0;
+
+ USB_INT_Clear(USB_INT_SUSPI);
+ USB_INT_Disable(USB_INT_SUSPI);
+ USB_INT_Enable(USB_INT_WAKEUPI);
+
+ Endpoint_ConfigureEndpoint(ENDPOINT_CONTROLEP, EP_TYPE_CONTROL,
+ ENDPOINT_DIR_OUT, USB_ControlEndpointSize,
+ ENDPOINT_BANK_SINGLE);
+
+ #if defined(INTERRUPT_CONTROL_ENDPOINT)
+ USB_INT_Enable(USB_INT_RXSTPI);
+ #endif
+
+ EVENT_USB_Device_Reset();
+ }
+
+ #if !defined(NO_SOF_EVENTS)
+ if (USB_INT_HasOccurred(USB_INT_SOFI) && USB_INT_IsEnabled(USB_INT_SOFI))
+ {
+ USB_INT_Clear(USB_INT_SOFI);
+
+ EVENT_USB_Device_StartOfFrame();
+ }
+ #endif
+ #endif
+
+ #if defined(USB_CAN_BE_HOST)
+ if (USB_INT_HasOccurred(USB_INT_DDISCI) && USB_INT_IsEnabled(USB_INT_DDISCI))
+ {
+ USB_INT_Clear(USB_INT_DDISCI);
+ USB_INT_Clear(USB_INT_DCONNI);
+ USB_INT_Disable(USB_INT_DDISCI);
+
+ EVENT_USB_Host_DeviceUnattached();
+
+ USB_ResetInterface();
+ }
+
+ if (USB_INT_HasOccurred(USB_INT_VBERRI) && USB_INT_IsEnabled(USB_INT_VBERRI))
+ {
+ USB_INT_Clear(USB_INT_VBERRI);
+
+ USB_Host_VBUS_Manual_Off();
+ USB_Host_VBUS_Auto_Off();
+
+ EVENT_USB_Host_HostError(HOST_ERROR_VBusVoltageDip);
+ EVENT_USB_Host_DeviceUnattached();
+
+ USB_HostState = HOST_STATE_Unattached;
+ }
+
+ if (USB_INT_HasOccurred(USB_INT_SRPI) && USB_INT_IsEnabled(USB_INT_SRPI))
+ {
+ USB_INT_Clear(USB_INT_SRPI);
+ USB_INT_Disable(USB_INT_SRPI);
+
+ EVENT_USB_Host_DeviceAttached();
+
+ USB_INT_Enable(USB_INT_DDISCI);
+
+ USB_HostState = HOST_STATE_Powered;
+ }
+
+ if (USB_INT_HasOccurred(USB_INT_BCERRI) && USB_INT_IsEnabled(USB_INT_BCERRI))
+ {
+ USB_INT_Clear(USB_INT_BCERRI);
+
+ EVENT_USB_Host_DeviceEnumerationFailed(HOST_ENUMERROR_NoDeviceDetected, 0);
+ EVENT_USB_Host_DeviceUnattached();
+
+ USB_ResetInterface();
+ }
+
+ #if !defined(NO_SOF_EVENTS)
+ if (USB_INT_HasOccurred(USB_INT_HSOFI) && USB_INT_IsEnabled(USB_INT_HSOFI))
+ {
+ USB_INT_Clear(USB_INT_HSOFI);
+
+ EVENT_USB_Host_StartOfFrame();
+ }
+ #endif
+ #endif
+
+ #if defined(USB_CAN_BE_BOTH)
+ if (USB_INT_HasOccurred(USB_INT_IDTI) && USB_INT_IsEnabled(USB_INT_IDTI))
+ {
+ USB_INT_Clear(USB_INT_IDTI);
+
+ if (USB_DeviceState != DEVICE_STATE_Unattached)
+ EVENT_USB_Device_Disconnect();
+
+ if (USB_HostState != HOST_STATE_Unattached)
+ EVENT_USB_Host_DeviceUnattached();
+
+ USB_CurrentMode = USB_GetUSBModeFromUID();
+ USB_ResetInterface();
+
+ EVENT_USB_UIDChange();
+ }
+ #endif
+}
+
+#if defined(INTERRUPT_CONTROL_ENDPOINT) && defined(USB_CAN_BE_DEVICE)
+ISR(USB_COM_vect, ISR_BLOCK)
+{
+ uint8_t PrevSelectedEndpoint = Endpoint_GetCurrentEndpoint();
+
+ Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP);
+ USB_INT_Disable(USB_INT_RXSTPI);
+
+ NONATOMIC_BLOCK(NONATOMIC_FORCEOFF)
+ {
+ USB_Device_ProcessControlRequest();
+ }
+
+ Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP);
+ USB_INT_Enable(USB_INT_RXSTPI);
+ Endpoint_SelectEndpoint(PrevSelectedEndpoint);
+}
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.h b/firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.h
new file mode 100644
index 0000000..5d0c991
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.h
@@ -0,0 +1,106 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief USB controller interrupt service routine management.
+ *
+ * This file contains definitions required for the correct handling of low level USB service routine interrupts
+ * from the USB controller.
+ *
+ * \note This file should not be included directly. It is automatically included as needed by the USB driver
+ * dispatch header located in LUFA/Drivers/USB/USB.h.
+ */
+
+#ifndef __USBINTERRUPT_H__
+#define __USBINTERRUPT_H__
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <avr/interrupt.h>
+ #include <util/atomic.h>
+ #include <stdbool.h>
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Preprocessor Checks: */
+ #if !defined(__INCLUDE_FROM_USB_DRIVER)
+ #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
+ #endif
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define USB_INT_Enable(int) MACROS{ USB_INT_GET_EN_REG(int) |= USB_INT_GET_EN_MASK(int); }MACROE
+ #define USB_INT_Disable(int) MACROS{ USB_INT_GET_EN_REG(int) &= ~(USB_INT_GET_EN_MASK(int)); }MACROE
+ #define USB_INT_Clear(int) MACROS{ USB_INT_GET_INT_REG(int) &= ~(USB_INT_GET_INT_MASK(int)); }MACROE
+ #define USB_INT_IsEnabled(int) ((USB_INT_GET_EN_REG(int) & USB_INT_GET_EN_MASK(int)) ? true : false)
+ #define USB_INT_HasOccurred(int) ((USB_INT_GET_INT_REG(int) & USB_INT_GET_INT_MASK(int)) ? true : false)
+
+ #define USB_INT_GET_EN_REG(a, b, c, d) a
+ #define USB_INT_GET_EN_MASK(a, b, c, d) b
+ #define USB_INT_GET_INT_REG(a, b, c, d) c
+ #define USB_INT_GET_INT_MASK(a, b, c, d) d
+
+ #define USB_INT_VBUS USBCON, (1 << VBUSTE) , USBINT, (1 << VBUSTI)
+ #define USB_INT_IDTI USBCON, (1 << IDTE) , USBINT, (1 << IDTI)
+ #define USB_INT_WAKEUPI UDIEN , (1 << WAKEUPE), UDINT , (1 << WAKEUPI)
+ #define USB_INT_SUSPI UDIEN , (1 << SUSPE) , UDINT , (1 << SUSPI)
+ #define USB_INT_EORSTI UDIEN , (1 << EORSTE) , UDINT , (1 << EORSTI)
+ #define USB_INT_DCONNI UHIEN , (1 << DCONNE) , UHINT , (1 << DCONNI)
+ #define USB_INT_DDISCI UHIEN , (1 << DDISCE) , UHINT , (1 << DDISCI)
+ #define USB_INT_BCERRI OTGIEN, (1 << BCERRE) , OTGINT, (1 << BCERRI)
+ #define USB_INT_VBERRI OTGIEN, (1 << VBERRE) , OTGINT, (1 << VBERRI)
+ #define USB_INT_SOFI UDIEN, (1 << SOFE) , UDINT , (1 << SOFI)
+ #define USB_INT_HSOFI UHIEN, (1 << HSOFE) , UHINT , (1 << HSOFI)
+ #define USB_INT_RSTI UHIEN , (1 << RSTE) , UHINT , (1 << RSTI)
+ #define USB_INT_SRPI OTGIEN, (1 << SRPE) , OTGINT, (1 << SRPI)
+ #define USB_INT_RXSTPI UEIENX, (1 << RXSTPE) , UEINTX, (1 << RXSTPI)
+
+ /* Includes: */
+ #include "../../../Common/Common.h"
+ #include "../HighLevel/USBMode.h"
+ #include "../HighLevel/Events.h"
+ #include "USBController.h"
+
+ /* Function Prototypes: */
+ void USB_INT_ClearAllInterrupts(void);
+ void USB_INT_DisableAllInterrupts(void);
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.lst b/firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.lst
new file mode 100644
index 0000000..16c61f0
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.lst
@@ -0,0 +1,261 @@
+ 1 .file "USBInterrupt.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.USB_INT_DisableAllInterrupts,"ax",@progbits
+ 17 .global USB_INT_DisableAllInterrupts
+ 19 USB_INT_DisableAllInterrupts:
+ 20 .LFB68:
+ 21 .LSM0:
+ 22 /* prologue: function */
+ 23 /* frame size = 0 */
+ 24 .LSM1:
+ 25 0000 1092 E200 sts 226,__zero_reg__
+ 26 /* epilogue start */
+ 27 .LSM2:
+ 28 0004 0895 ret
+ 29 .LFE68:
+ 31 .section .text.USB_INT_ClearAllInterrupts,"ax",@progbits
+ 32 .global USB_INT_ClearAllInterrupts
+ 34 USB_INT_ClearAllInterrupts:
+ 35 .LFB69:
+ 36 .LSM3:
+ 37 /* prologue: function */
+ 38 /* frame size = 0 */
+ 39 .LSM4:
+ 40 0000 1092 E100 sts 225,__zero_reg__
+ 41 /* epilogue start */
+ 42 .LSM5:
+ 43 0004 0895 ret
+ 44 .LFE69:
+ 46 .section .text.__vector_11,"ax",@progbits
+ 47 .global __vector_11
+ 49 __vector_11:
+ 50 .LFB70:
+ 51 .LSM6:
+ 52 0000 1F92 push __zero_reg__
+ 53 0002 0F92 push r0
+ 54 0004 0FB6 in r0,__SREG__
+ 55 0006 0F92 push r0
+ 56 0008 1124 clr __zero_reg__
+ 57 000a 2F93 push r18
+ 58 000c 3F93 push r19
+ 59 000e 4F93 push r20
+ 60 0010 5F93 push r21
+ 61 0012 6F93 push r22
+ 62 0014 7F93 push r23
+ 63 0016 8F93 push r24
+ 64 0018 9F93 push r25
+ 65 001a AF93 push r26
+ 66 001c BF93 push r27
+ 67 001e EF93 push r30
+ 68 0020 FF93 push r31
+ 69 /* prologue: Signal */
+ 70 /* frame size = 0 */
+ 71 .LSM7:
+ 72 0022 8091 E100 lds r24,225
+ 73 0026 80FF sbrs r24,0
+ 74 0028 00C0 rjmp .L6
+ 75 002a 8091 E200 lds r24,226
+ 76 002e 80FF sbrs r24,0
+ 77 0030 00C0 rjmp .L6
+ 78 .LSM8:
+ 79 0032 8091 E100 lds r24,225
+ 80 0036 8E7F andi r24,lo8(-2)
+ 81 0038 8093 E100 sts 225,r24
+ 82 .LSM9:
+ 83 003c 8091 E200 lds r24,226
+ 84 0040 8E7F andi r24,lo8(-2)
+ 85 0042 8093 E200 sts 226,r24
+ 86 .LSM10:
+ 87 0046 8091 E200 lds r24,226
+ 88 004a 8061 ori r24,lo8(16)
+ 89 004c 8093 E200 sts 226,r24
+ 90 .LBB20:
+ 91 .LBB21:
+ 92 .LSM11:
+ 93 0050 8091 D800 lds r24,216
+ 94 0054 8062 ori r24,lo8(32)
+ 95 0056 8093 D800 sts 216,r24
+ 96 .LBE21:
+ 97 .LBE20:
+ 98 .LBB22:
+ 99 .LBB23:
+ 100 .LSM12:
+ 101 005a 19BC out 73-32,__zero_reg__
+ 102 .LBE23:
+ 103 .LBE22:
+ 104 .LSM13:
+ 105 005c 1092 0000 sts USB_DeviceState,__zero_reg__
+ 106 .LSM14:
+ 107 0060 0E94 0000 call EVENT_USB_Device_Disconnect
+ 108 .L6:
+ 109 .LSM15:
+ 110 0064 8091 E100 lds r24,225
+ 111 0068 84FF sbrs r24,4
+ 112 006a 00C0 rjmp .L7
+ 113 006c 8091 E200 lds r24,226
+ 114 0070 84FF sbrs r24,4
+ 115 0072 00C0 rjmp .L7
+ 116 .LBB24:
+ 117 .LBB25:
+ 118 .LSM16:
+ 119 0074 84E0 ldi r24,lo8(4)
+ 120 0076 89BD out 73-32,r24
+ 121 .LSM17:
+ 122 0078 89B5 in r24,73-32
+ 123 007a 8260 ori r24,lo8(2)
+ 124 007c 89BD out 73-32,r24
+ 125 .L8:
+ 126 .LBE25:
+ 127 .LBE24:
+ 128 .LSM18:
+ 129 007e 09B4 in __tmp_reg__,73-32
+ 130 0080 00FE sbrs __tmp_reg__,0
+ 131 0082 00C0 rjmp .L8
+ 132 .LBB26:
+ 133 .LBB27:
+ 134 .LSM19:
+ 135 0084 8091 D800 lds r24,216
+ 136 0088 8F7D andi r24,lo8(-33)
+ 137 008a 8093 D800 sts 216,r24
+ 138 .LBE27:
+ 139 .LBE26:
+ 140 .LSM20:
+ 141 008e 8091 E100 lds r24,225
+ 142 0092 8F7E andi r24,lo8(-17)
+ 143 0094 8093 E100 sts 225,r24
+ 144 .LSM21:
+ 145 0098 8091 E200 lds r24,226
+ 146 009c 8F7E andi r24,lo8(-17)
+ 147 009e 8093 E200 sts 226,r24
+ 148 .LSM22:
+ 149 00a2 8091 E200 lds r24,226
+ 150 00a6 8160 ori r24,lo8(1)
+ 151 00a8 8093 E200 sts 226,r24
+ 152 .LSM23:
+ 153 00ac 8091 0000 lds r24,USB_ConfigurationNumber
+ 154 00b0 8823 tst r24
+ 155 00b2 01F4 brne .L11
+ 156 .L9:
+ 157 .LBB28:
+ 158 .LBB29:
+ 159 .LSM24:
+ 160 00b4 8091 E300 lds r24,227
+ 161 .LBE29:
+ 162 .LBE28:
+ 163 .LSM25:
+ 164 00b8 87FD sbrc r24,7
+ 165 00ba 00C0 rjmp .L11
+ 166 00bc 81E0 ldi r24,lo8(1)
+ 167 .LVL0:
+ 168 00be 00C0 rjmp .L12
+ 169 .LVL1:
+ 170 .L11:
+ 171 00c0 84E0 ldi r24,lo8(4)
+ 172 .LVL2:
+ 173 .L12:
+ 174 00c2 8093 0000 sts USB_DeviceState,r24
+ 175 .LSM26:
+ 176 00c6 0E94 0000 call EVENT_USB_Device_Connect
+ 177 .LVL3:
+ 178 .L7:
+ 179 .LSM27:
+ 180 00ca 8091 E100 lds r24,225
+ 181 00ce 83FF sbrs r24,3
+ 182 00d0 00C0 rjmp .L13
+ 183 00d2 8091 E200 lds r24,226
+ 184 00d6 83FF sbrs r24,3
+ 185 00d8 00C0 rjmp .L13
+ 186 .LSM28:
+ 187 00da 8091 E100 lds r24,225
+ 188 00de 877F andi r24,lo8(-9)
+ 189 00e0 8093 E100 sts 225,r24
+ 190 .LSM29:
+ 191 00e4 82E0 ldi r24,lo8(2)
+ 192 00e6 8093 0000 sts USB_DeviceState,r24
+ 193 .LSM30:
+ 194 00ea 1092 0000 sts USB_ConfigurationNumber,__zero_reg__
+ 195 .LSM31:
+ 196 00ee 8091 E100 lds r24,225
+ 197 00f2 8E7F andi r24,lo8(-2)
+ 198 00f4 8093 E100 sts 225,r24
+ 199 .LSM32:
+ 200 00f8 8091 E200 lds r24,226
+ 201 00fc 8E7F andi r24,lo8(-2)
+ 202 00fe 8093 E200 sts 226,r24
+ 203 .LSM33:
+ 204 0102 8091 E200 lds r24,226
+ 205 0106 8061 ori r24,lo8(16)
+ 206 0108 8093 E200 sts 226,r24
+ 207 .LBB30:
+ 208 .LBB31:
+ 209 .LSM34:
+ 210 010c 80E0 ldi r24,lo8(0)
+ 211 010e 60E0 ldi r22,lo8(0)
+ 212 0110 42E0 ldi r20,lo8(2)
+ 213 0112 0E94 0000 call Endpoint_ConfigureEndpoint_Prv
+ 214 .LBE31:
+ 215 .LBE30:
+ 216 .LSM35:
+ 217 0116 0E94 0000 call EVENT_USB_Device_Reset
+ 218 .L13:
+ 219 .LSM36:
+ 220 011a 8091 E100 lds r24,225
+ 221 011e 82FF sbrs r24,2
+ 222 0120 00C0 rjmp .L15
+ 223 0122 8091 E200 lds r24,226
+ 224 0126 82FF sbrs r24,2
+ 225 0128 00C0 rjmp .L15
+ 226 .LSM37:
+ 227 012a 8091 E100 lds r24,225
+ 228 012e 8B7F andi r24,lo8(-5)
+ 229 0130 8093 E100 sts 225,r24
+ 230 .LSM38:
+ 231 0134 0E94 0000 call EVENT_USB_Device_StartOfFrame
+ 232 .L15:
+ 233 /* epilogue start */
+ 234 .LSM39:
+ 235 0138 FF91 pop r31
+ 236 013a EF91 pop r30
+ 237 013c BF91 pop r27
+ 238 013e AF91 pop r26
+ 239 0140 9F91 pop r25
+ 240 0142 8F91 pop r24
+ 241 0144 7F91 pop r23
+ 242 0146 6F91 pop r22
+ 243 0148 5F91 pop r21
+ 244 014a 4F91 pop r20
+ 245 014c 3F91 pop r19
+ 246 014e 2F91 pop r18
+ 247 0150 0F90 pop r0
+ 248 0152 0FBE out __SREG__,r0
+ 249 0154 0F90 pop r0
+ 250 0156 1F90 pop __zero_reg__
+ 251 0158 1895 reti
+ 252 .LFE70:
+ 294 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 USBInterrupt.c
+ /tmp/ccbAo69F.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccbAo69F.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccbAo69F.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccbAo69F.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccbAo69F.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccbAo69F.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/ccbAo69F.s:19 .text.USB_INT_DisableAllInterrupts:0000000000000000 USB_INT_DisableAllInterrupts
+ /tmp/ccbAo69F.s:34 .text.USB_INT_ClearAllInterrupts:0000000000000000 USB_INT_ClearAllInterrupts
+ /tmp/ccbAo69F.s:49 .text.__vector_11:0000000000000000 __vector_11
+
+UNDEFINED SYMBOLS
+USB_DeviceState
+EVENT_USB_Device_Disconnect
+USB_ConfigurationNumber
+EVENT_USB_Device_Connect
+Endpoint_ConfigureEndpoint_Prv
+EVENT_USB_Device_Reset
+EVENT_USB_Device_StartOfFrame
diff --git a/firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.o b/firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.o
new file mode 100644
index 0000000..e4eefd0
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/LowLevel/USBInterrupt.o
Binary files differ
diff --git a/firmware/LUFA/Drivers/USB/USB.h b/firmware/LUFA/Drivers/USB/USB.h
new file mode 100644
index 0000000..71a337c
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/USB.h
@@ -0,0 +1,408 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Master include file for the library USB functionality.
+ *
+ * Master include file for the library USB functionality.
+ *
+ * This file should be included in all user projects making use of the USB portions of the library, instead of
+ * including any headers in the USB/LowLevel/ or USB/HighLevel/ subdirectories.
+ */
+
+/** @defgroup Group_USB USB Core - LUFA/Drivers/USB/USB.h
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Drivers/USB/LowLevel/Device.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ * - LUFA/Drivers/USB/LowLevel/Endpoint.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ * - LUFA/Drivers/USB/LowLevel/Host.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ * - LUFA/Drivers/USB/LowLevel/Pipe.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ * - LUFA/Drivers/USB/LowLevel/USBController.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ * - LUFA/Drivers/USB/LowLevel/USBInterrupt.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ * - LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ * - LUFA/Drivers/USB/HighLevel/DeviceStandardReq.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ * - LUFA/Drivers/USB/HighLevel/Events.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ * - LUFA/Drivers/USB/HighLevel/EndpointStream.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ * - LUFA/Drivers/USB/HighLevel/HostStandardReq.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ * - LUFA/Drivers/USB/HighLevel/PipeStream.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ * - LUFA/Drivers/USB/HighLevel/USBTask.c <i>(Makefile source module name: LUFA_SRC_USB)</i>
+ *
+ * \section Module Description
+ * Driver and framework for the USB controller hardware on the USB series of AVR microcontrollers. This module
+ * consists of many submodules, and is designed to provide an easy way to configure and control USB host, device
+ * or OTG mode USB applications.
+ *
+ * The USB stack requires the sole control over the USB controller in the microcontroller only; i.e. it does not
+ * require any additional AVR timers, etc. to operate. This ensures that the USB stack requires as few resources
+ * as possible.
+ *
+ * The USB stack can be used in Device Mode for connections to USB Hosts (see \ref Group_Device), in Host mode for
+ * hosting of other USB devices (see \ref Group_Host), or as a dual role device which can either act as a USB host
+ * or device depending on what peripheral is connected (see \ref Group_OTG). Both modes also require a common set
+ * of USB management functions found \ref Group_USBManagement.
+ */
+
+/** @defgroup Group_USBClassDrivers USB Class Drivers
+ *
+ * Drivers for both host and device mode of the standard USB classes, for rapid application development.
+ * Class drivers give a framework which sits on top of the low level library API, allowing for standard
+ * USB classes to be implemented in a project with minimal user code. These drivers can be used in
+ * conjunction with the library low level APIs to implement interfaces both via the class drivers and via
+ * the standard library APIs.
+ *
+ * Multiple device mode class drivers can be used within a project, including multiple instances of the
+ * same class driver. In this way, USB Hosts and Devices can be made quickly using the internal class drivers
+ * so that more time and effort can be put into the end application instead of the USB protocol.
+ *
+ * The available class drivers and their modes are listed below.
+ *
+ * <table>
+ * <tr>
+ * <th width="100px">USB Class</th>
+ * <th width="90px">Device Mode</th>
+ * <th width="90px">Host Mode</th>
+ * </tr>
+ * <tr>
+ * <td>Audio</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * <td bgcolor="#EE0000">No</td>
+ * </tr>
+ * <tr>
+ * <td>CDC</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * </tr>
+ * <tr>
+ * <td>HID</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * </tr>
+ * <tr>
+ * <td>MIDI</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * </tr>
+ * <tr>
+ * <td>Mass Storage</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * </tr>
+ * <tr>
+ * <td>Printer</td>
+ * <td bgcolor="#EE0000">No</td>
+* <td bgcolor="#00EE00">Yes</td>
+ * </tr>
+ * <tr>
+ * <td>RNDIS</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * </tr>
+ * <tr>
+ * <td>Still Image</td>
+ * <td bgcolor="#EE0000">No</td>
+ * <td bgcolor="#00EE00">Yes</td>
+ * </tr>
+ * </table>
+ *
+ *
+ * \section Sec_UsingClassDrivers Using the Class Drivers
+ * To make the Class drivers easy to integrate into a user application, they all implement a standardized
+ * design with similarly named/used function, enums, defines and types. The two different modes are implemented
+ * slightly differently, and thus will be explained separately. For information on a specific class driver, read
+ * the class driver's module documentation.
+ *
+ * \subsection SSec_ClassDriverDevice Device Mode Class Drivers
+ * Implementing a Device Mode Class Driver in a user application requires a number of steps to be followed. Firstly,
+ * the module configuration and state structure must be added to the project source. These structures are named in a
+ * similar manner between classes, that of <i>USB_ClassInfo_<b>{Class Name}</b>_Device_t</i>, and are used to hold the
+ * complete state and configuration for each class instance. Multiple class instances is where the power of the class
+ * drivers lie; multiple interfaces of the same class simply require more instances of the Class Driver's ClassInfo
+ * structure.
+ *
+ * Inside the ClassInfo structure lies two sections, a <i>Config</i> section, and a <i>State</i> section. The Config
+ * section contains the instance's configuration parameters, and <b>must have all fields set by the user application</b>
+ * before the class driver is used. Each Device mode Class driver typically contains a set of configuration parameters
+ * for the endpoint size/number of the associated logical USB interface, plus any class-specific configuration parameters.
+ *
+ * The <i>State</i> section of the ClassInfo structures are designed to be controlled by the Class Drivers only for
+ * maintaining the Class Driver instance's state, and should not normally be set by the user application.
+ *
+ * The following is an example of a properly initialized instance of the Audio Class Driver structure:
+ *
+ * \code
+ * USB_ClassInfo_Audio_Device_t My_Audio_Interface =
+ * {
+ * .Config =
+ * {
+ * .StreamingInterfaceNumber = 1,
+ *
+ * .DataINEndpointNumber = 1,
+ * .DataINEndpointSize = 256,
+ * },
+ * };
+ * \endcode
+ *
+ * \note The class driver's configuration parameters should match those used in the device's descriptors that are
+ * sent to the host.
+ *
+ * To initialize the Class driver instance, the driver's <i><b>{Class Name}</b>_Device_ConfigureEndpoints()</i> function
+ * should be called in response to the \ref EVENT_USB_Device_ConfigurationChanged() event. This function will return a
+ * boolean value if the driver successfully initialized the instance. Like all the class driver functions, this function
+ * takes in the address of the specific instance you wish to initialize - in this manner, multiple separate instances of
+ * the same class type can be initialized like thus:
+ *
+ * \code
+ * void EVENT_USB_Device_ConfigurationChanged(void)
+ * {
+ * LEDs_SetAllLEDs(LEDMASK_USB_READY);
+ *
+ * if (!(Audio_Device_ConfigureEndpoints(&My_Audio_Interface)))
+ * LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+ * }
+ * \endcode
+ *
+ * Once initialized, it is important to maintain the class driver's state by repeatedly calling the Class Driver's
+ * <i><b>{Class Name}</b>_Device_USBTask()</i> function in the main program loop. The exact implementation of this
+ * function varies between class drivers, and can be used for any internal class driver purpose to maintain each
+ * instance. Again, this function uses the address of the instance to operate on, and thus needs to be called for each
+ * separate instance, just like the main USB maintenance routine \ref USB_USBTask():
+ *
+ * \code
+ * int main(void)
+ * {
+ * SetupHardware();
+ *
+ * LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
+ *
+ * for (;;)
+ * {
+ * Create_And_Process_Samples();
+ *
+ * Audio_Device_USBTask(&My_Audio_Interface);
+ * USB_USBTask();
+ * }
+ * }
+ * \endcode
+ *
+ * The final standardized Device Class Driver function is the Control Request handler function
+ * <i><b>{Class Name}</b>_Device_ProcessControlRequest()</i>, which should be called when the
+ * \ref EVENT_USB_Device_ControlRequest() event fires. This function should also be called for
+ * each class driver instance, using the address of the instance to operate on as the function's
+ * parameter. The request handler will abort if it is determined that the current request is not
+ * targeted at the given class driver instance, thus these methods can safely be called
+ * one-after-another in the event handler with no form of error checking:
+ *
+ * \code
+ * void EVENT_USB_Device_ControlRequest(void)
+ * {
+ * Audio_Device_ProcessControlRequest(&My_Audio_Interface);
+ * }
+ * \endcode
+ *
+ * Each class driver may also define a set of callback functions (which are prefixed by "CALLBACK_"
+ * in the function's name) which <b>must</b> also be added to the user application - refer to each
+ * individual class driver's documentation for mandatory callbacks. In addition, each class driver may
+ * also define a set of events (identifiable by their prefix of "EVENT_" in the function's name), which
+ * the user application <b>may</b> choose to implement, or ignore if not needed.
+ *
+ * The individual Device Mode Class Driver documentation contains more information on the non-standardized,
+ * class-specific functions which the user application can then use on the driver instances, such as data
+ * read and write routines. See each driver's individual documentation for more information on the
+ * class-specific functions.
+ *
+ * \subsection SSec_ClassDriverHost Host Mode Class Drivers
+ * Implementing a Host Mode Class Driver in a user application requires a number of steps to be followed. Firstly,
+ * the module configuration and state structure must be added to the project source. These structures are named in a
+ * similar manner between classes, that of <i>USB_ClassInfo_<b>{Class Name}</b>_Host_t</i>, and are used to hold the
+ * complete state and configuration for each class instance. Multiple class instances is where the power of the class
+ * drivers lie; multiple interfaces of the same class simply require more instances of the Class Driver's ClassInfo
+ * structure.
+ *
+ * Inside the ClassInfo structure lies two sections, a <i>Config</i> section, and a <i>State</i> section. The Config
+ * section contains the instance's configuration parameters, and <b>must have all fields set by the user application</b>
+ * before the class driver is used. Each Device mode Class driver typically contains a set of configuration parameters
+ * for the endpoint size/number of the associated logical USB interface, plus any class-specific configuration parameters.
+ *
+ * The <i>State</i> section of the ClassInfo structures are designed to be controlled by the Class Drivers only for
+ * maintaining the Class Driver instance's state, and should not normally be set by the user application.
+ *
+ * The following is an example of a properly initialized instance of the MIDI Class Driver structure:
+ *
+ * \code
+ * USB_ClassInfo_MIDI_Host_t My_MIDI_Interface =
+ * {
+ * .Config =
+ * {
+ * .DataINPipeNumber = 1,
+ * .DataINPipeDoubleBank = false,
+ *
+ * .DataOUTPipeNumber = 2,
+ * .DataOUTPipeDoubleBank = false,
+ * },
+ * };
+ * \endcode
+ *
+ * To initialize the Class driver instance, the driver's <i><b>{Class Name}</b>_Host_ConfigurePipes()</i> function
+ * should be called in response to the host state machine entering the \ref HOST_STATE_Addressed state. This function
+ * will return an error code from the class driver's <i><b>{Class Name}</b>_EnumerationFailure_ErrorCodes_t</i> enum
+ * to indicate if the driver successfully initialized the instance and bound it to an interface in the attached device.
+ * Like all the class driver functions, this function takes in the address of the specific instance you wish to initialize -
+ * in this manner, multiple separate instances of the same class type can be initialized. A fragment of a Class Driver
+ * based Host mode application may look like the following:
+ *
+ * \code
+ * switch (USB_HostState)
+ * {
+ * case HOST_STATE_Addressed:
+ * LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING);
+ *
+ * uint16_t ConfigDescriptorSize;
+ * uint8_t ConfigDescriptorData[512];
+ *
+ * if (USB_Host_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, ConfigDescriptorData,
+ * sizeof(ConfigDescriptorData)) != HOST_GETCONFIG_Successful)
+ * {
+ * LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+ * USB_HostState = HOST_STATE_WaitForDeviceRemoval;
+ * break;
+ * }
+ *
+ * if (MIDI_Host_ConfigurePipes(&My_MIDI_Interface,
+ * ConfigDescriptorSize, ConfigDescriptorData) != MIDI_ENUMERROR_NoError)
+ * {
+ * LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+ * USB_HostState = HOST_STATE_WaitForDeviceRemoval;
+ * break;
+ * }
+ *
+ * // Other state handler code here
+ * \endcode
+ *
+ * Note that the function also required the device's configuration descriptor so that it can determine which interface
+ * in the device to bind to - this can be retrieved as shown in the above fragment using the
+ * \ref USB_Host_GetDeviceConfigDescriptor() function. If the device does not implement the interface the class driver
+ * is looking for, if all the matching interfaces are already bound to class driver instances or if an error occurs while
+ * binding to a device interface (for example, a device endpoint bank larger that the maximum supported bank size is used)
+ * the configuration will fail.
+ *
+ * Once initialized, it is important to maintain the class driver's state by repeatedly calling the Class Driver's
+ * <i><b>{Class Name}</b>_Host_USBTask()</i> function in the main program loop. The exact implementation of this
+ * function varies between class drivers, and can be used for any internal class driver purpose to maintain each
+ * instance. Again, this function uses the address of the instance to operate on, and thus needs to be called for each
+ * separate instance, just like the main USB maintenance routine \ref USB_USBTask():
+ *
+ * \code
+ * int main(void)
+ * {
+ * SetupHardware();
+ *
+ * LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
+ *
+ * for (;;)
+ * {
+ * switch (USB_HostState)
+ * {
+ * // Host state machine handling here
+ * }
+ *
+ * MIDI_Host_USBTask(&My_Audio_Interface);
+ * USB_USBTask();
+ * }
+ * }
+ * \endcode
+ *
+ * Each class driver may also define a set of callback functions (which are prefixed by "CALLBACK_"
+ * in the function's name) which <b>must</b> also be added to the user application - refer to each
+ * individual class driver's documentation for mandatory callbacks. In addition, each class driver may
+ * also define a set of events (identifiable by their prefix of "EVENT_" in the function's name), which
+ * the user application <b>may</b> choose to implement, or ignore if not needed.
+ *
+ * The individual Host Mode Class Driver documentation contains more information on the non-standardized,
+ * class-specific functions which the user application can then use on the driver instances, such as data
+ * read and write routines. See each driver's individual documentation for more information on the
+ * class-specific functions.
+ */
+
+#ifndef __USB_H__
+#define __USB_H__
+
+ /* Macros: */
+ #if !defined(__DOXYGEN__)
+ #define __INCLUDE_FROM_USB_DRIVER
+ #endif
+
+ /* Includes: */
+ #include "HighLevel/USBMode.h"
+
+ /* Preprocessor Checks: */
+ #if (!defined(USB_SERIES_2_AVR) && !defined(USB_SERIES_4_AVR) && \
+ !defined(USB_SERIES_6_AVR) && !defined(USB_SERIES_7_AVR))
+ #error The currently selected AVR model is not supported under the USB component of the LUFA library.
+ #endif
+
+ /* Includes: */
+ #include "HighLevel/USBTask.h"
+ #include "HighLevel/Events.h"
+ #include "HighLevel/StdDescriptors.h"
+ #include "HighLevel/ConfigDescriptor.h"
+
+ #include "LowLevel/USBController.h"
+ #include "LowLevel/USBInterrupt.h"
+
+ #if defined(USB_CAN_BE_HOST) || defined(__DOXYGEN__)
+ #include "LowLevel/Host.h"
+ #include "LowLevel/Pipe.h"
+ #include "HighLevel/HostStandardReq.h"
+ #include "HighLevel/PipeStream.h"
+ #endif
+
+ #if defined(USB_CAN_BE_DEVICE) || defined(__DOXYGEN__)
+ #include "LowLevel/Device.h"
+ #include "LowLevel/Endpoint.h"
+ #include "HighLevel/DeviceStandardReq.h"
+ #include "HighLevel/EndpointStream.h"
+ #endif
+
+ #if defined(USB_CAN_BE_BOTH) || defined(__DOXYGEN__)
+ #include "LowLevel/OTG.h"
+ #endif
+
+ #include "Class/Audio.h"
+ #include "Class/CDC.h"
+ #include "Class/HID.h"
+ #include "Class/MassStorage.h"
+ #include "Class/MIDI.h"
+ #include "Class/Printer.h"
+ #include "Class/RNDIS.h"
+ #include "Class/StillImage.h"
+
+#endif
+
diff --git a/firmware/LUFA/License.txt b/firmware/LUFA/License.txt
new file mode 100644
index 0000000..c46c6b0
--- /dev/null
+++ b/firmware/LUFA/License.txt
@@ -0,0 +1,18 @@
+Permission to use, copy, modify, and distribute this software
+and its documentation for any purpose is hereby granted without
+fee, provided that the above copyright notice appear in all
+copies and that both that the copyright notice and this
+permission notice and warranty disclaimer appear in supporting
+documentation, and that the name of the author not be used in
+advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+The author disclaim all warranties with regard to this
+software, including all implied warranties of merchantability
+and fitness. In no event shall the author be liable for any
+special, indirect or consequential damages or any damages
+whatsoever resulting from loss of use, data or profits, whether
+in an action of contract, negligence or other tortious action,
+arising out of or in connection with the use or performance of
+this software.
+
diff --git a/firmware/LUFA/ManPages/AboutLUFA.txt b/firmware/LUFA/ManPages/AboutLUFA.txt
new file mode 100644
index 0000000..697535c
--- /dev/null
+++ b/firmware/LUFA/ManPages/AboutLUFA.txt
@@ -0,0 +1,20 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/**
+ * \page Page_AboutLUFA About LUFA
+ *
+ * This section of the manual contains information about the library as a whole, including its supported targets,
+ * past and planned changes, and links to other projects incorporating LUFA.
+ *
+ * <b>Subsections:</b>
+ * \li \subpage Page_DeviceSupport - Current Device and Hardware Support
+ * \li \subpage Page_Resources - LUFA and USB Related Resources
+ * \li \subpage Page_ChangeLog - Project Changelog
+ * \li \subpage Page_FutureChanges - Planned Changes to the Library
+ * \li \subpage Page_LUFAPoweredProjects - Other Projects Using LUFA
+ */
+
diff --git a/firmware/LUFA/ManPages/AlternativeStacks.txt b/firmware/LUFA/ManPages/AlternativeStacks.txt
new file mode 100644
index 0000000..889183c
--- /dev/null
+++ b/firmware/LUFA/ManPages/AlternativeStacks.txt
@@ -0,0 +1,69 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/**
+ * \page Page_AlternativeStacks Alternative USB AVR Stacks
+ *
+ * LUFA is not the only stack available for the USB AVRs, although it is perhaps the best (see \ref Page_WhyUseLUFA).
+ * In the interests of completeness and user choice, other known USB AVR stacks are listed here.
+ *
+ * \section Sec_HardwareStacks Hardware USB AVR Stacks
+ * These are the known alternative USB stacks which are designed for and run exclusively on the USB AVR series microcontrollers,
+ * which contain on-chip USB controller hardware for maximum features and speed.
+ *
+ * - <b>Name:</b> Atmel USB AVR Stack (<i>Atmel Inc.</i>) \n
+ * <b>Cost:</b> Free \n
+ * <b>License:</b> Atmel Limited License (see Atmel download for details) \n
+ * <b>Website:</b> http://atmel.com/dyn/products/app_notes.asp?family_id=607#USB \n
+ * <b>Description:</b> This is the official Atmel USB AVR stack, for their 8-bit USB AVR lineup. Each series of
+ * USB AVR is separated into a separate download stack, which is both AVR-GCC and IAR compatible.
+ *
+ * - <b>Name:</b> Dr. Stefan Salewski's AT90USB1287 Stack (<i>Dr. Stefan Salewski</i>) \n
+ * <b>Cost:</b> Free \n
+ * <b>License:</b> GPL \n
+ * <b>Website:</b> http://www.ssalewski.de/AT90USB_firmware.html.en \n
+ * <b>Description:</b> This is a GPL'd library specifically designed for the AT90USB1287, by Dr. Stefan Salewski, a
+ * German Physicist. It compiles for AVR-GCC and can potentially be modified to work on other USB
+ * AVR models.
+ *
+ * - <b>Name:</b> FreakUSB Stack (<i>FreakLabs</i>) \n
+ * <b>Cost:</b> Free \n
+ * <b>License:</b> Modified BSD \n
+ * <b>Website:</b> http://freaklabs.org/index.php/FreakUSB-Open-Source-USB-Device-Stack.html \n
+ * <b>Description:</b> An open source simple USB stack for a selection of the USB AVRs. Contains a sample class driver
+ * for the CDC-ACM class, however other class driver implementations are also possible.
+ *
+ * - <b>Name:</b> PJRC Teensy Stack (<i>Paul Stoffregen</i>) \n
+ * <b>Cost:</b> Free \n
+ * <b>License:</b> BSD \n
+ * <b>Website:</b> http://www.pjrc.com/teensy/usb_debug_only.html \n
+ * <b>Description:</b> Not so much a complete stack as a collection of USB enabled demos, this library is specifically
+ * designed for the PJRC Teensy line of USB AVRs, and thus may need to be modified for other USB AVR
+ * chips. These minimal code samples shows the inner workings of the USB controller, without all the
+ * abstraction present in most other USB AVR stacks.
+ *
+ * \section Sec_SoftwareStacks Software AVR Stacks
+ * These are the known alternative USB stacks which can run on regular AVR models, lacking dedicated hardware USB controllers
+ * via a bit-banged (emulated) version of the USB protocol. They are limited in their capabilities due to the cycles required
+ * to be dedicated to managing the USB bus, but offer a cheap way to implement USB functionality into a design.
+ *
+ * - <b>Name:</b> AVR309: Software USB (<i>Atmel</i>) \n
+ * <b>Cost:</b> Free \n
+ * <b>License:</b> None Stated \n
+ * <b>Website:</b> http://www.atmel.com/dyn/Products/app_notes.asp?family_id=607 \n
+ * <b>Description:</b> Atmel's official software USB implementation, an Application Note containing work by Igor Cesko. This
+ * is a minimal assembly-only implementation of software USB, providing HID functionality. Less compile
+ * options than V-USB (see below).
+ *
+ * - <b>Name:</b> V-USB (<i>Objective Development</i>) \n
+ * <b>Cost:</b> Free for some uses, see website for licensing \n
+ * <b>License:</b> Dual GPL2/Custom \n
+ * <b>Website:</b> http://www.obdev.at/products/vusb/index.html \n
+ * <b>Description:</b> Well regarded and complete USB 1.1 software stack for several AVR models, implementing Low Speed HID.
+ * Used in many commercial and non-commercial designs, with user-submitted projects available for viewing
+ * on the company's website. Uses C language code mixed with assembly for time-critical sections.
+ */
+
diff --git a/firmware/LUFA/ManPages/Author.jpg b/firmware/LUFA/ManPages/Author.jpg
new file mode 100644
index 0000000..e8f5541
--- /dev/null
+++ b/firmware/LUFA/ManPages/Author.jpg
Binary files differ
diff --git a/firmware/LUFA/ManPages/BuildingLinkableLibraries.txt b/firmware/LUFA/ManPages/BuildingLinkableLibraries.txt
new file mode 100644
index 0000000..ff5fdc5
--- /dev/null
+++ b/firmware/LUFA/ManPages/BuildingLinkableLibraries.txt
@@ -0,0 +1,23 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/** \page Page_BuildLibrary Building as a Linkable Library
+ *
+ * The LUFA library can be built as a proper linkable library (with the extention .a) under AVR-GCC, so that
+ * the library does not need to be recompiled with each revision of a user project. Instructions for creating
+ * a library from a given source tree can be found in the AVR-GCC user manual included in the WinAVR install
+ * /Docs/ directory.
+ *
+ * However, building the library is <b>not recommended</b>, as the static (compile-time) options will be
+ * unable to be changed without a recompilation of the LUFA code. Therefore, if the library is to be built
+ * from the LUFA source, it should be made to be application-specific and compiled with the static options
+ * that are required for each project (which should be recorded along with the library).
+ *
+ * Normal library use has the library components compiled in at the same point as the application code, as
+ * demonstrated in the library demos and applications. This is the preferred method, as the library is recompiled
+ * each time to ensure that all static options for a particular application are applied.
+ */
+
diff --git a/firmware/LUFA/ManPages/ChangeLog.txt b/firmware/LUFA/ManPages/ChangeLog.txt
new file mode 100644
index 0000000..1cd368d
--- /dev/null
+++ b/firmware/LUFA/ManPages/ChangeLog.txt
@@ -0,0 +1,1099 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+ /** \page Page_ChangeLog Project Changelog
+ *
+ * \section Sec_ChangeLog101122 Version 101122
+ * <b>New:</b>
+ * - Core:
+ * - Added new SCSI_ASENSE_NOT_READY_TO_READY_CHANGE constant to the Mass Storage class driver, to indicate when a previously
+ * not ready removable medium has now become ready for the host's use (thanks to Martin Degelsegger)
+ * - Moved the Pipe and Endpoint stream related code to two new USB library core source files EndpointStream.c and PipeStream.c
+ * - Added new USB_Device_GetFrameNumber() and USB_Host_GetFrameNumber() functions to retrieve the current USB frame number
+ * - Added new USB_Host_EnableSOFEvents(), USB_Host_DisableSOFEvents() and EVENT_USB_Host_StartOfFrame() for the user application
+ * handling of USB Start of Frame events while in USB Host mode
+ * - Added new PRNT_Host_BytesReceived(), PRNT_Host_ReceiveByte(), PRNT_Host_SendByte() and PRNT_Host_Flush() functions to the
+ * Print Host Class driver
+ * - Added class specific descriptor alternative struct type defines with standard USB-IF element naming
+ * - Added new project makefile template to the library and moved board driver stub files into in a new "CodeTemplates" directory
+ * - Added board hardware driver support for the Adafruit U4 breakout board
+ * - Added board hardware driver support for the Arduino Uno development board
+ * - Added board hardware driver support for the Blackcat USB JTAG board (thanks to the PSGroove team)
+ * - Added board hardware driver support for the Busware BUI development board
+ * - Added board hardware driver support for the Busware CUL V3 868MHZ radio board (thanks to Dirk Tostmann)
+ * - Added board hardware driver support for the Kernel Concepts USBFOO development board
+ * - Added board hardware driver support for the Linnix UDIP development board
+ * - Added board hardware driver support for the Olimex AVR-USB-162 development board (thanks to Steve Fawcett)
+ * - Added board hardware driver support for the Maximus board (thanks to the PSGroove team)
+ * - Added board hardware driver support for the Microsin AVR-USB162 breakout board
+ * - Added board hardware driver support for the Minimus board (thanks to the PSGroove team)
+ * - Added new NO_CLASS_DRIVER_AUTOFLUSH compile time option to disable automatic flushing of interfaces when the USB management
+ * tasks for each driver is called
+ * - Added standard keyboard HID report scancode defines (thanks to Laszlo Monda)
+ * - Added new Pipe_GetBusyBanks(), Endpoint_GetBusyBanks() and Endpoint_AbortPendingIN() functions
+ * - Library Applications:
+ * - Added default test tone generation mode to the Device mode AudioInput demos
+ * - Added new NO_BLOCK_SUPPORT, NO_EEPROM_BYTE_SUPPORT, NO_FLASH_BYTE_SUPPORT and NO_LOCK_BYTE_WRITE_SUPPORT compile time options to the
+ * CDC class bootloader
+ * - Added new XCK_RESCUE_CLOCK_ENABLE compile time option to the AVRISP-MKII clone programmer project (thanks to Tom Light)
+ *
+ * <b>Changed:</b>
+ * - Core:
+ * - Removed complicated logic for the Endpoint_ConfigureEndpoint() function to use inlined or function called versions
+ * depending of if the given bank size is a compile time constant, as the compiler does a better job of optimizing
+ * with basic code
+ * - Changed the signature of the CALLBACK_USB_GetDescriptor() callback function so that the descriptor pointer is const, to remove
+ * the need for extra casting inside the callback (thanks to Jonathan Kollasch)
+ * - Reduced HOST_DEVICE_SETTLE_DELAY_MS to 1000ms down from 1500ms to improve device compatibility while in USB Host mode
+ * - Removed the EVENT_USB_InitFailure() event, not specifying a USB mode correctly now defaults to UID selection mode
+ * - Renamed and moved class driver common constant definitions to make the naming scheme more uniform
+ * - Moved the USB mode specifier constants into a new enum, so that they are semantically related to one another
+ * - Renamed ENDPOINT_DOUBLEBANK_SUPPORTED() to ENDPOINT_BANKS_SUPPORTED() and changed it to return the maximum number of supported banks for
+ * the given endpoint
+ * - Better algorithm to extract and convert the internal device serial number into a string descriptor (if present)
+ * - All USB class drivers are now automatically included when LUFA/Drivers/USB.h is included, and no longer need to be seperately included
+ * - The MIDI class drivers now automatically flushes the MIDI interface when the MIDI class driver's USBTask() function is called
+ * - Renamed the EVENT_USB_Device_UnhandledControlRequest() event to EVENT_USB_Device_ControlRequest() as it is now fired before the library
+ * request handlers, not afterwards
+ * - Library Applications:
+ * - Changed over all device demos to use a clearer algorithm for the configuring of the application's endpoints
+ * - Added missing DataflashManager_CheckDataflashOperation() function to the MassStorageKeyboard demo, removed redundant
+ * SCSI_Codes.h file as these values are part of the MassStorage Class Driver
+ * - Added compile time error to the AVRISP-MKII project when built for the U4 chips, as the default VTARGET detection ADC channel
+ * does not exist on these chips (thanks to Marco)
+ * - Changed all Device mode LowLevel demos and Device Class drivers so that the control request is acknowledged and any data
+ * transferred as quickly as possible without any processing inbetween sections, so that long callbacks or event handlers will
+ * not break communications with the host by exceeding the maximum control request stage timeout period
+ * - Changed over all demos, drivers and internal functions to use the current frame number over the Start of Frame flag where possible
+ * to free up the Start of Frame flag for interrupt use in the user application
+ * - All project makefiles now correctly clean intermediate build files from assembly and C++ sources (thanks to Daniel Czigany)
+ * - Changed default value for the reset polarity parameter in the AVRISP-MKII project so that it defaults to active low drive
+ * - Changed configuration descriptor parser for all host mode projects and class drivers to ensure better compatibility with devices
+ * - All LowLevel demos changed to use the constants and types defined in the USB class drivers
+ * - Changed AudioInput and AudioOutput demos to reload the next sample via an interrupt rather than polling the sample timer
+ * - Rescue clock of the AVRISP-MKII moved to the AVR's OCR1A pin, so that the clock can be generated at all times
+ * - Changed ClassDriver MIDI demos to process all incomming events in a loop until the bank becomes empty rather than one at a time
+ * - Changed LowLevel MIDI demos to only clear the incomming event bank once it has become empty to support packed event packets
+ *
+ * <b>Fixed:</b>
+ * - Core:
+ * - Fixed USB_GetHIDReportItemInfo() function modifying the given report item's data when the report item does not exist
+ * within the supplied report of a multiple report HID device
+ * - Fixed critical pipe/endpoint memory allocation issue where the bank memory address space could be silently overlapped
+ * in the USB controller if the endpoints or pipes were allocated in anything other than ascending order (thanks to Martin Degelsegger)
+ * - Added LEDs_ToggleLEDs() function to several board LED drivers which were missing it (thanks to Andrei Krainev)
+ * - Fixed SET FEATURE and CLEAR FEATURE control requests directed at an unconfigured endpoint causing request timeouts
+ * - Fixed USB_Host_ClearPipeStall() incorrectly determining the endpoint direction from the currently selected pipe
+ * - Fixed JTAG_DEBUG_POINT() and JTAG_DEBUG_BREAK() macros not compiling under pure C99 standards mode
+ * - Fixed endpoint selection within the CALLBACK_HID_Device_CreateHIDReport() callback function causing broken GET REPORT requests
+ * - Fixed incorrect command name for EEPROM memory programming in the makefile dfu-ee target
+ * - Fixed incorrect LEDs_ChangeLEDs() function in the Benito board LED driver
+ * - Fixed incorrect USB_DeviceState value when unconfiguring the device without an address set
+ * - Fixed SPI driver not explicitly setting /SS and MISO pins as inputs when SPI_Init() is called
+ * - Fixed random enumeration failure while in device mode due to interrupts causing the Set Address request to exceed maximum timings
+ * - Fixed MIDI_Host_Flush() not aborting early when the specified MIDI host interface was not configured
+ * - Fixed MIDI class driver send routines silently discarding packets if the endpoint or pipe is busy (thanks to Robin Green)
+ * - Library Applications:
+ * - Fixed MassStorage based demos and projects resetting the SCSI sense values before the command is executed, leading to
+ * missed SCSI sense values when the host retrieves the sense key (thanks to Martin Degelsegger)
+ * - Fixed USBtoSerial and Benito project SetLineEncoding calls failing if the USART is busy, due to the RX ISR delaying the control
+ * request handler
+ * - Fixed LowLevel PrinterHost demo not sending control requests to the attached printer with the correct printer interface wIndex value
+ * - Fixed incorrect signature reported in the CDC class bootloader for the ATMEGA32U2
+ * - Fixed BootloaderCDC project failing on some operating systems due to removed Line Encoding options (thanks to Alexey Belyaev)
+ * - Fixed broken FLASH/EEPROM programming in the AVRISP-MKII clone project when writing in non-paged mode and the polling byte cannot be used
+ * - Fixed ISR definition conflict in the XPLAIN bridge between the software UART and the AVRISP-MKII ISP modules
+ * - Fixed USBtoSerial and XPLAINBridge demos discarding data from the PC if the send buffer becomes full
+ * - Fixed broken input in the MagStripe reader project due to an incorrect HID report descriptor
+ * - Fixed incorrect PollingIntervalMS values in the demo/project/bootloader endpoint descriptors (thanks to MCS Electronics)
+ * - Fixed AVRISP-MKII clone project not starting the target's program automatically after exiting TPI programming mode
+ *
+ * \section Sec_ChangeLog100807 Version 100807
+ * <b>New:</b>
+ * - Added new ADC_DisableChannel() function (thanks to Mich Davis)
+ * - Added new VTARGET_REF_VOLTS and VTARGET_SCALE_FACTOR compile time defines to the AVRISP-MKII programmer project to set
+ * the VTARGET reference voltage and scale factor
+ * - Added new pgm_read_ptr() macro to Common.h for reading of pointers out of flash memory space
+ * - Added new SWAPENDIAN_16() and SWAPENDIAN_32() macros to Common.h for statically initialized variables at compile time
+ * - Added new Drivers/USB/LowLevel/Device.c file to house Device mode specific functions that are more complicated than simple macros
+ * - Added new AVRStudio 4 project files for all library demos, projects and bootloaders
+ * - Added ability to set the serial baud rate via the user's terminal in the XPLAINBridge project
+ * - Added new LUFA module variables for the different source modules in the core library makefile to simplify project makefiles
+ * - Added start of a new Test and Measurement class demo (thanks to Peter Lawrence)
+ * - Added new SPI_ORDER_* data order masks to the SPI peripheral driver
+ * - Added support to the AVRISP-MKII project for ISP speeds slower than 125KHz via a new software SPI driver
+ * - Added support for the new button/LED on the latest model USBTINY-MKII
+ *
+ * <b>Changed:</b>
+ * - The RingBuff library code has been replaced in the XPLAINBridge, Benito and USBtoSerial projects with an ultra lightweight
+ * ring buffer to help improve the reliability of the projects
+ * - The EEPROM stream read/write functions now use eeprom_update_byte() instead of eeprom_write_byte(), so that only
+ * changed bytes are written to EEPROM to preserve its lifespan
+ * - Changed over the AVRISP-MKII and TemperatureDataLogger projects to use eeprom_update_byte() when writing non-volatile
+ * parameters to EEPROM to preserve its lifespan
+ * - Removed unused line encoding data and control requests from the CDC Bootloader code, to save space
+ * - Renamed SERIAL_STREAM_ASSERT() macro to STDOUT_ASSERT()
+ * - The USB_Device_IsRemoteWakeupSent() and USB_Device_IsUSBSuspended() macros have been deleted, as they are now obsolete
+ * - Rewrote the implementation of the SwapEndian_16() and SwapEndian_32() functions so that they compile down in most instances to
+ * minimal loads and stores rather than complicated shifts
+ * - The software UART in the XPLAINBridge has been largely altered to try to improve upon its performance and reliability
+ * - The USBtoSerial and Benito projects now flushes received data via a flush timer, so that several bytes can be transmitted at once
+ * - Removed the automated checking of event names in the demo, project and bootloader makefiles due to inconsistencies between the
+ * behaviour of the command line tools used to perform the check on each platform
+ * - Internal USB driver source files renamed and moved to ease future possible architecture ports
+ * - All internal pseudo-function macros have been converted to true inline functions for type-safety and readability
+ * - Changed LED indicator masks for the AVRISP-MKII project, so that there are defined roles for each LED
+ * - Altered the CDC Device and Host Class drivers' receive byte routines, so that no data is indicated by the function returning a
+ * negative value (thanks to Andreas Paulin)
+ * - Added auto flushing of OUT data to the CDC Host Class driver's USBTask function to automatically flush the send pipe buffer
+ *
+ * <b>Fixed:</b>
+ * - Fixed AVRISP project sending a LOAD EXTENDED ADDRESS command to 128KB AVRs after programming or reading from
+ * the last page of FLASH (thanks to Gerard Sexton)
+ * - Fixed AVRISP project not sending a full erase-and-write EEPROM command to XMEGA targets when writing to the EEPROM
+ * instead of the split write-only command (thanks to Tim Margush)
+ * - Fixed RNDISEthernet demos crashing when calculating checksums for Ethernet/TCP packets of more than ~500 bytes due to
+ * an overflow in the checksum calculation loop (thanks to Kevin Malec)
+ * - Fixed XPLAINBridge project not correctly reading the XMEGA's supply voltage when reporting back to the host
+ * - Fixed incorrect signature for the ATMEGA32U2 in the DFU bootloader (thanks to Axel Rohde)
+ * - Fixed internal device serial not being accessible on the ATMEGAXXU2 AVRs (thanks to Axel Rohde)
+ * - Fixed void pointer arithmetic in ConfigDescriptor.h breaking C++ compatibility (thanks to Michael Hennebry)
+ * - Fixed broken PDI EEPROM Section Erase functionality in the AVRISP-MKII project
+ * - Fixed USB_Device_SendRemoteWakeup() not working when the USB clock was frozen during USB bus suspend (thanks to Brian Dickman)
+ * - Fixed occasional lockup of the AVRISP project due to the timeout extension code incorrectly extending the timeout in
+ * PDI and TPI programming modes infinitely
+ * - Fixed HID device class driver still using PrevReportINBuffer for GetReport control requests even when it has been
+ * set to NULL by the user application (thanks to Axel Rohde)
+ * - Fixed MIDI_Device_SendEventPacket() not correctly waiting for the endpoint to become ready (thanks to Robin Green)
+ * - Fixed Benito and USBtoSerial projects not turning off the USART before reconfiguring it, which could cause incorrect
+ * operation to occur (thanks to Bob Paddock)
+ * - Fixed Serial peripheral driver not turning off the USART before reconfiguring it, which would cause incorrect operation
+ * to occur (thanks to Bob Paddock)
+ * - Fixed software application start command broken in the DFU class bootloader when dfu-programmer is used due to application
+ * start address corruption
+ *
+ * \section Sec_ChangeLog100513 Version 100513
+ * <b>New:</b>
+ * - Added incomplete MIDIToneGenerator project
+ * - Added new Relay Controller Board project (thanks to OBinou)
+ * - Added board hardware driver support for the Teensy, USBTINY MKII, Benito and JM-DB-U2 lines of third party USB AVR boards
+ * - Added new ATTR_NO_INIT variable attribute for global variables that should not be automatically cleared on startup
+ * - Added new ENDPOINT_*_BusSuspended error code to the Endpoint function, so that the stream functions early-abort if the bus
+ * is suspended before or during a transfer
+ * - Added new EVENT_CDC_Device_BreakSent() event and CDC_Host_SendBreak() function to the Device and Host CDC Class drivers
+ * - Added ReportType parameter to the HID device class driver CALLBACK_HID_Device_ProcessHIDReport() function so that FEATURE
+ * reports from the host to the device can be correctly processed
+ * - Added ReportType parameter to the HID host class driver HID_Host_SendReportByID() function so that FEATURE reports can be
+ * issued to the attached device
+ *
+ * <b>Changed:</b>
+ * - AVRISP programmer project now has a more robust timeout system
+ * - Added a timeout value to the TWI_StartTransmission() function, within which the addressed device must respond
+ * - Webserver project now uses the board LEDs to indicate the current IP configuration state
+ * - Added ENABLE_TELNET_SERVER compile time option to the Webserver project to disable the TELNET server if desired
+ * - Increased throughput of the USBtoSerial demo on systems that send multiple bytes per packet (thanks to Opendous Inc.)
+ * - Double bank CDC endpoints in the XPLAIN Bridge project, re-enable JTAG once the mode selection pin has been sampled.
+ * - Standardized the naming scheme given to configuration descriptor sub-elements in the Device mode demos, bootloaders
+ * and projects
+ * - All Class Driver Host mode demos now correctly set the board LEDs to READY once the enumeration process has completed
+ * - Added LIBUSB_FILTERDRV_COMPAT compile time option to the AVRISP programmer project to make the code compatible with Windows
+ * builds of avrdude at the expense of AVRStudio compatibility
+ * - Removed two-step endpoint/pipe bank clear and switch sequence for smaller, faster endpoint/pipe code
+ * - The USB_Init() function no longer calls sei() - the user is now responsible for enabling interrupts when they are ready
+ * for them to be enabled (thanks to Andrei Krainev)
+ * - The Audio_Device_IsSampleReceived() and Audio_Device_IsReadyForNextSample() functions are now inline, to reduce overhead
+ * - Removed the cast to uint16_t on the set baud rate in the USBtoSerial project, so that the higher >1M baud rates can be
+ * selected (thanks to Steffan Woltjer)
+ * - Removed software PDI and TPI emulation from the AVRISP-MKII clone project as it was very buggy and slow - PDI and TPI must
+ * now be implemented via separate programming headers
+ * - The CDC class bootloader now uses a watchdog reset rather than a soft-reset when exited to ensure that all hardware is
+ * properly reset to their defaults
+ * - Device mode class driver callbacks are now fired before the control request status stage is sent to prevent the host from
+ * timing out if another request is immediately fired and the device has a lengthy callback routine
+ * - The TeensyHID bootloader has been removed, per request from Paul at PJRC
+ * - The LIBUSB_FILTERDRV_COMPAT compile time option in the XPLAINBridge and AVRISP-MKII projects has been renamed
+ * LIBUSB_DRIVER_COMPAT, as it applies to all software on all platforms using the libUSB driver
+ *
+ * <b>Fixed:</b>
+ * - Fixed possible device lockup when INTERRUPT_CONTROL_ENDPOINT is enabled and the control endpoint is not properly
+ * selected when the ISR completes
+ * - Fixed AVRISP-MKII clone project not correctly issuing LOAD EXTENDED ADDRESS commands when the extended address
+ * boundary is crossed during programming or read back (thanks to Gerard Sexton)
+ * - Fixed warnings when building the AVRISP-MKII clone project with the ENABLE_XPROG_PROTOCOL compile time option disabled
+ * - Fixed software PDI/TPI programming mode in the AVRISP project not correctly toggling just the clock pin
+ * - Fixed TWI_StartTransmission() corrupting the contents of the GPIOR0 register
+ * - Fixed TWI driver not aborting when faced with no response after attempting to address a device on the bus
+ * - Fixed ADC routines not correctly returning the last result when multiple channels were read
+ * - Fixed ADC routines failing to read the extended channels (Channels 8 to 13, Internal Temperature Sensor) on the
+ * U4 series USB AVR parts
+ * - Fixed LowLevel MassStorage demo broken on the U2 series USB AVRs due to unsupported double-banked endpoint modes used
+ * - Fixed compilation error in the AudioInput demos when MICROPHONE_BIASED_TO_HALF_RAIL is defined (thanks to C. Scott Ananian)
+ * - Fixed incorrect definition of HID_ALIGN_DATA() causing incorrect HID report item data alignment
+ * - Fixed Still Image Host class driver not resetting the transaction ID when a new session is opened, fixed driver not sending
+ * a valid session ID to the device
+ * - Removed invalid dfu and flip related targets from the bootloaders - bootloaders can only be replaced with an external programmer
+ * - Fixed Set/Clear Feature requests directed to a non-configured endpoint not returning a stall to the host
+ * - Fixed HID Device Class Driver not allocating a temporary buffer when the host requests a report via the control endpoint and the
+ * user has set the PrevReportINBuffer driver configuration element to NULL (thanks to Lars Noschinski)
+ * - Fixed device state not being reset to DEVICE_STATE_Default if the host sets a 0x00 device address
+ * - Fixed device not stalling configuration requests before the device's address has been set
+ * - Fixed possibility of internal signature retrieval being corrupted if an interrupt occurs during a signature byte
+ * read (thanks to Andrei Krainev)
+ * - Fixed device state not being reset back to the default state if the host sets the address to 0
+ * - Fixed Set Configuration requests not being stalled until the host has set the device's address
+ * - Fixed Host mode HID class driver not sending the correct report type when HID_Host_SendReportByID() was called and the
+ * HID_HOST_BOOT_PROTOCOL_ONLY compile time option is set
+ * - Fixed INTERRUPT_CONTROL_ENDPOINT compile time option preventing other interrupts from occurring while the control endpoint
+ * request is being processed, causing possible lockups if a USB interrupt occurs during a transfer
+ * - Remove incorrect Abstract Call Management class specific descriptor from the CDC demos, bootloaders and projects
+ *
+ * \section Sec_ChangeLog100219 Version 100219
+ *
+ * <b>New:</b>
+ * - Added TPI programming support for 6-pin ATTINY devices to the AVRISP programmer project (thanks to Tom Light)
+ * - Added command timeout counter to the AVRISP project so that the device no longer freezes when incorrectly connected
+ * to a target
+ * - Added new TemperatureDataLogger application, a USB data logger which writes to the device's dataflash and appears to
+ * the host as a standard Mass Storage device when inserted
+ * - Added MIDI event packing support to the MIDI Device and Host mode Class drivers, allowing for multiple MIDI events to
+ * sent or received in packed form in a single USB packet
+ * - Added new MIDI send buffer flush routines to the MIDI Device and Host mode Class drivers, to flush packed events
+ * - Added master mode hardware TWI driver for easy TWI peripheral control
+ * - Added ADC MUX masks for the standard ADC input channels on all AVR models with an ADC, altered demos to use these masks
+ * as on some models, the channel number is not identical to its single-ended ADC MUX mask
+ * - New Webserver project, a RNDIS host USB webserver using the open source uIP TCP/IP network stack and FatFS library
+ * - New BOARD value option BOARD_NONE (equivalent to not specifying BOARD) which will remove all board hardware drivers which
+ * do not adversely affect the code operation (currently only the LEDs driver)
+ * - Added keyboard modifier masks (HID_KEYBOARD_MODIFER_*) and LED report masks (KEYBOARD_LED_*) to the HID class driver and
+ * Keyboard demos
+ * - Added .5MHz recovery clock to the AVRISP programmer project when in ISP programming mode to correct mis-set fuses
+ *
+ * <b>Changed:</b>
+ * - Slowed down software USART carried PDI programming in the AVRISP project to prevent transmission errors
+ * - Renamed the AVRISP project folder to AVRISP-MKII to reduce confusion
+ * - Renamed the RESET_LINE_* makefile tokens in the AVRISP MKII Project to AUX_LINE_*, as they are not always used for target
+ * reset
+ * - Changed over the MassStorageKeyboard Class driver device demo to use Start of Frame events rather than a timer to keep track
+ * of elapsed milliseconds
+ * - Inlined currently unused (but standardized) maintenance functions in the Device and Host Class drivers to save space
+ * - The XPLAINBridge project now selects between a USB to Serial bridge and a PDI programmer on startup, reading the JTAG port's
+ * TDI pin to determine which mode to use
+ * - Removed the stream example code from the Low Level VirtualSerial demos, as they were buggy and only served to add clutter
+ *
+ * <b>Fixed:</b>
+ * - Fixed AVRISP project not able to enter programming mode when ISP protocol is used
+ * - Fixed AVRISP PDI race condition where the guard time between direction changes could be interpreted as a start bit
+ * - Fixed ADC_IsReadingComplete() returning an inverted result
+ * - Fixed blocking CDC streams not aborting when the host is disconnected
+ * - Fixed XPLAIN board Dataflash driver broken due to incorrect preprocessor commands
+ * - Fixed inverted XPLAIN LED driver output (LED turned on when it was supposed to be turned off, and vice-versa)
+ * - Fixed Class Driver struct interface numbers in the KeyboardMouse and VirtualSerialMouse demos (thanks to Renaud Cerrato)
+ * - Fixed invalid USB controller PLL prescaler values for the ATMEGAxxU2 controllers
+ * - Fixed lack of support for the ATMEGA32U2 in the DFU and CDC class bootloaders
+ * - Fixed Benito project not resetting the target AVR automatically when programming has completed
+ * - Fixed DFU bootloader programming not discarding the correct number of filler bytes from the host when non-aligned programming
+ * ranges are specified (thanks to Thomas Bleeker)
+ * - Fixed CDC and RNDIS host demos and class drivers - bidirectional endpoints should use two separate pipes, not one half-duplex pipe
+ * - Fixed Pipe_IsEndpointBound() not taking the endpoint's direction into account
+ * - Fixed EEPROM and FLASH ISP programming in the AVRISP project
+ * - Fixed incorrect values of USB_CONFIG_ATTR_SELFPOWERED and USB_CONFIG_ATTR_REMOTEWAKEUP tokens (thanks to Claus Christensen)
+ * - Fixed SerialStream driver blocking while waiting for characters to be received instead of returning EOF
+ * - Fixed SerialStream driver not setting stdin to the created serial stream (thanks to Mike Alexander)
+ * - Fixed USB_GetHIDReportSize() returning the number of bits in the specified report instead of bytes
+ * - Fixed AVRISP project not extending the command delay after each successful page/word/byte program
+ * - Fixed accuracy of the SERIAL_UBBRVAL() and SERIAL_2X_UBBRVAL() macros for higher baud rates (thanks to Renaud Cerrato)
+ *
+ * \section Sec_ChangeLog091223 Version 091223
+ *
+ * <b>New:</b>
+ * - Added activity LED indicators to the AVRISP project to indicate when the device is busy processing a command
+ * - The USB target family and allowable USB mode tokens are now public and documented (USB_CAN_BE_*, USB_SERIES_*_AVR)
+ * - Added new XPLAIN USB to Serial Bridge project (thanks to John Steggall for initial proof-of-concept, David Prentice
+ * and Peter Danneger for revised software USART code)
+ * - Added new RNDIS Ethernet Host LowLevel demo
+ * - Added new RNDIS Ethernet Host Class Driver
+ * - Added new RNDIS Ethernet Host ClassDriver demo
+ * - Added CDC_Host_Flush() function to the CDC Host Class driver to flush sent data to the attached device
+ * - Added PDI programming support for XMEGA devices to the AVRISP programmer project (thanks to Justin Mattair)
+ * - Added support for the XPLAIN board Dataflash, with new XPLAIN_REV1 board target for the different dataflash used
+ * on the first revision boards compared to the one mounted on later revisions
+ * - Added new HID_ALIGN_DATA() macro to return the pre-retrieved value of a HID report item, left-aligned to a given datatype
+ * - Added new PreviousValue to the HID Report Parser report item structure, for easy monitoring of previous report item values
+ * - Added new EVK527 board target
+ * - Added new USB_Host_GetDeviceStringDescriptor() convenience function
+ * - Added new LEDNotification project to the library, to give a visual LED notification on new events from the host
+ * - Added new NO_DEVICE_REMOTE_WAKEUP and NO_DEVICE_SELF_POWER compile time options
+ *
+ * <b>Changed:</b>
+ * - Removed code in the Keyboard demos to send zeroed reports between two reports with differing numbers of key codes
+ * as this relied on non-standard OS driver behaviour to repeat key groups
+ * - The SCSI_Request_Sense_Response_t and SCSI_Inquiry_Response_t type defines are now part of the Mass Storage Class
+ * driver common defines, rather than being defined in the Host mode Class driver section only
+ * - The USB_MODE_HOST token is now defined even when host mode is not available
+ * - The CALLBACK_HID_Device_CreateHIDReport() HID Device Class driver callback now has a new ReportType parameter to
+ * indicate the report type to generate
+ * - All Class Drivers now return false or the "DeviceDisconnected" error code of their respective error enums when a function
+ * is called when no host/device is connected where possible
+ * - The HOST_SENDCONTROL_DeviceDisconnect enum value has been renamed to HOST_SENDCONTROL_DeviceDisconnected to be in line
+ * with the rest of the library error codes
+ * - Make MIDI device demos also turn off the on board LEDs if MIDI Note On messages are sent with a velocity of zero,
+ * which some devices use instead of Note Off messages (thanks to Robin Green)
+ * - The CDC demos are now named "VirtualSerial" instead to indicate the demos' function rather than its implemented USB class,
+ * to reduce confusion and to be in line with the rest of the LUFA demos
+ * - The SImage_Host_SendBlockHeader() and SImage_Host_ReceiveBlockHeader() Still Image Host Class driver functions are now public
+ *
+ * <b>Fixed:</b>
+ * - Added missing CDC_Host_CreateBlockingStream() function code to the CDC Host Class driver
+ * - Fixed incorrect values for REPORT_ITEM_TYPE_* enum values causing corrupt data in the HID Host Parser
+ * - Fixed misnamed SI_Host_USBTask() and SI_Host_ConfigurePipes() functions
+ * - Fixed broken USB_GetNextDescriptor() function causing the descriptor to jump ahead double the expected amount
+ * - Fixed Pipe_IsEndpointBound() not masking the given Endpoint Address against PIPE_EPNUM_MASK
+ * - Fixed host state machine not enabling Auto VBUS mode when HOST_DEVICE_SETTLE_DELAY_MS is set to zero
+ * - Fixed misnamed Pipe_SetPipeToken() macro for setting a pipe's direction
+ * - Fixed CDCHost failing on devices with bidirectional endpoints
+ * - Fixed USB driver failing to define the PLL prescaler mask for the ATMEGA8U2 and ATMEGA16U2
+ * - Fixed HID Parser not distributing the Usage Min and Usage Max values across an array of report items
+ * - Fixed Mass Storage Host Class driver and Low Level demo not clearing the error condition if an attached device returns a
+ * STALL to a GET MAX LUN request (thanks to Martin Luxen)
+ * - Fixed TeensyHID bootloader not properly shutting down the USB interface to trigger a disconnection on the host before resetting
+ * - Fixed MassStorageHost Class driver demo not having USB_STREAM_TIMEOUT_MS compile time option set properly to prevent slow
+ * devices from timing out the data pipes
+ * - Fixed the definition of the Endpoint_BytesInEndpoint() macro for the U4 series AVR parts
+ * - Fixed MIDI host Class driver MIDI_Host_SendEventPacket() routine not properly checking for Pipe ready before writing
+ * - Fixed use of deprecated struct initializers, removed library unused parameter warnings when compiled with -Wextra enabled
+ * - Fixed Still Image Host Class driver truncating the PIMA response code (thanks to Daniel Seibert)
+ * - Fixed USB_CurrentMode not being reset to USB_MODE_NONE when the USB interface is shut down and both Host and Device modes can be
+ * used (thanks to Daniel Levy)
+ * - Fixed TeensyHID bootloader not enumerating to the host correctly (thanks to Clint Fisher)
+ * - Fixed AVRISP project timeouts not checking for the correct timeout period (thanks to Carl Ott)
+ * - Fixed STK525 Dataflash driver using incorrect bit-shifting for Dataflash addresses (thanks to Tim Mitchell)
+ *
+ * \section Sec_ChangeLog091122 Version 091122
+ *
+ * <b>New:</b>
+ * - Added new Dual Role Keyboard/Mouse demo
+ * - Added new HID_HOST_BOOT_PROTOCOL_ONLY compile time token to reduce the size of the HID Host Class driver when
+ * Report protocol is not needed
+ * - Added new MIDI LowLevel and ClassDriver Host demo, add new MIDI Host Class driver
+ * - Added new CDC/Mouse ClassDriver device demo
+ * - Added new Joystick Host ClassDriver and LowLevel demos
+ * - Added new Printer Host mode Class driver
+ * - Added new Printer Host mode ClassDriver demo
+ * - Added optional support for double banked endpoints and pipes in the Device and Host mode Class drivers
+ * - Added new stream creation function to the CDC Class drivers, to easily make standard I/O streams from CDC Class driver instances
+ *
+ * <b>Changed:</b>
+ * - Removed mostly useless "TestApp" demo, as it was mainly useful only for checking for syntax errors in the library
+ * - MIDI device demos now receive MIDI events from the host and display note ON messages via the board LEDs
+ * - Cleanups to the Device mode Mass Storage demo application SCSI routines
+ * - Changed Audio Class driver sample read/write functions to be inline, to reduce the number of cycles needed to transfer
+ * samples to and from the device (allowing more time for sample processing and output)
+ * - Audio class Device mode demos now work at both 16MHz and 8MHz, rather than just at 8MHz
+ * - The previous USBtoSerial demo has been moved into the projects directory, as it was just a modified CDC demo
+ * - The Endpoint/Pipe functions now use the const qualifier on the input buffer
+ * - Changed the CALLBACK_HIDParser_FilterHIDReportItem() callback to pass a HID_ReportItem_t rather than just the current
+ * item's attributes, to expose more information on the item (including it's type, collection path, etc.)
+ * - Changed MouseHostWithParser demos to check that the report items have a Mouse usage collection as a parent at some point,
+ * to prevent Joysticks from enumerating with the demo
+ * - Corrected the name of the misnamed USB_GetDeviceConfigDescriptor() function to USB_Host_GetDeviceConfigDescriptor().
+ * - Keyboard LowLevel/ClassDriver demos now support multiple simultaneous key presses (up to 6) per report
+ *
+ * <b>Fixed:</b>
+ * - Fixed PrinterHost demo returning invalid Device ID data when the attached device does not have a
+ * device ID (thanks to Andrei Krainev)
+ * - Changed LUFA_VERSION_INTEGER define to use BCD values, to make comparisons easier
+ * - Fixed issue in the HID Host class driver's HID_Host_SendReportByID() routine using the incorrect mode (control/pipe)
+ * to send report to the attached device
+ * - Fixed ClassDriver AudioOutput device demo not selecting an audio output mode
+ * - Fixed incorrect SampleFrequencyType value in the AudioInput and AudioOutput ClassDriver demos' descriptors
+ * - Fixed incorrect event name rule in demo/project/bootloader makefiles
+ * - Fixed HID device class driver not reselecting the correct endpoint once the user callback routines have been called
+ * - Corrected HID descriptor in the Joystick Device demos - buttons should be placed outside the pointer collection
+ * - Fixed HID report parser collection paths invalid due to misplaced semicolon in the free path item search loop
+ * - Fixed HID host Class driver report send/receive report broken when issued through the control pipe
+ * - Fixed HOST_STATE_AS_GPIOR compile time option being ignored when in host mode (thanks to David Lyons)
+ * - Fixed LowLevel Keyboard demo not saving the issues report only after it has been sent to the host
+ * - Fixed Endpoint_Write_Control_Stream_* functions not sending a terminating IN when given data Length is zero
+ *
+ * \section Sec_ChangeLog090924 Version 090924
+ *
+ * <b>New:</b>
+ * - Added new host mode class drivers and matching demos to the library for rapid application development
+ * - Added flag to the HID report parser to indicate if a device has multiple reports
+ * - Added new EVENT_USB_Device_StartOfFrame() event, controlled by the new USB_Device_EnableSOFEvents() and
+ * USB_Device_DisableSOFEvents() macros to give bus-synchronized millisecond interrupts when in USB device mode
+ * - Added new Endpoint_SetEndpointDirection() macro for bidirectional endpoints
+ * - Added new AVRISP project, a LUFA powered clone of the Atmel AVRISP-MKII programmer
+ * - Added ShutDown() functions for all hardware peripheral drivers, so that peripherals can be turned off after use
+ * - Added new CDC_Device_Flush() command to the device mode CDC Class driver to flush Device->Host data
+ * - Added extra masks to the SPI driver, changed SPI_Init() so that the clock polarity and sample modes can be set
+ * - Added new callback to the HID report parser, so that the user application can filter only the items it is interested
+ * in to be stored into the HIDReportInfo structure to save RAM
+ * - Added support for the officially recommended external peripheral layout for the BUMBLEB board (thanks to Dave Fletcher)
+ * - Added new Pipe_IsFrozen() macro to determine if the currently selected pipe is frozen
+ * - Added new USB_GetHIDReportSize() function to the HID report parser to retrieve the size of a given report by its ID
+ * - Added new combined Mass Storage and Keyboard demo (thanks to Matthias Hullin)
+ *
+ * <b>Changed:</b>
+ * - SetIdle requests to the HID device driver with a 0 idle period (send changes only) now only affect the requested
+ * HID interface within the device, not all HID interfaces
+ * - Added explicit attribute masks to the device mode demos' descriptors
+ * - Added return values to the CDC and MIDI class driver transmit functions
+ * - Optimized Endpoint_Read_Word_* and Pipe_Read_Word_* macros to reduce compiled size
+ * - Added non-null function parameter pointer restrictions to USB Class drivers to improve user code reliability
+ * - Added new "Common" section to the class drivers, to hold all mode-independent definitions for clarity
+ * - Moved SCSI command/sense constants into the Mass Storage Class driver, instead of the user-code
+ * - Altered the SCSI commands in the LowLevel Mass Storage Host to save on FLASH space by reducing function calls
+ * - Changed the parameters and behaviour of the USB_GetDeviceConfigDescriptor() function so that it now performs size checks
+ * and data validations internally, to simplify user code
+ * - Changed HIDParser to only zero out important values in the Parsed HID Report Item Information structure to save cycles
+ * - The HID report parser now always processed FEATURE items - HID_ENABLE_FEATURE_PROCESSING token now has no effect
+ * - The HID report parser now always ignores constant-data items, HID_INCLUDE_CONSTANT_DATA_ITEMS token now has no effect
+ * - The Benito Programmer project now has its own unique VID/PID pair allocated from the Atmel donated LUFA VID/PID pool
+ * - Add in new invalid event hook check targets to project makefiles to produce compilation errors when invalid event names
+ * are used in a project
+ * - The HID Report Parser now gives information on the total length of each report within a HID interface
+ * - The USE_NONSTANDARD_DESCRIPTOR_NAMES compile time token has been removed - there are now separate USB_Descriptor_* and
+ * USB_StdDescriptor_* structures for both the LUFA and standardized element naming conventions so both may be used
+ *
+ * <b>Fixed:</b>
+ * - Fixed possible lockup in the CDC device class driver, when the host sends data that is a multiple of the
+ * endpoint's bank
+ * - Fixed swapped parameters in the HID state memory copy call while processing a HID PUSH item in the HID report parser
+ * - Fixed memory corruption HID report parser when too many COLLECTION or PUSH items were processed
+ * - Fixed HID report parser not resetting the FEATURE item count when a REPORT ID item is encountered
+ * - Fixed USBtoSerial demos not reading in UDR1 when the USART receives data but the USB interface is not enumerated,
+ * causing continuous USART receive interrupts
+ * - Fixed misspelled event name in the Class driver USBtoSerial demo, preventing correct operation
+ * - Fixed invalid data being returned when a GetStatus request is issued in Device mode with an unhandled data recipient
+ * - Added hardware USART receive interrupt and software buffering to the Benito project to ensure received data is not
+ * missed or corrupted
+ * - Fixed Device mode HID Class driver always sending IN packets, even when nothing to report
+ * - Fixed Device mode HID Class driver not explicitly initializing the ReportSize parameter to zero before calling callback
+ * routine, so that ignored callbacks don't cause incorrect data to be sent
+ * - Fixed StillImageHost not correctly freezing and unfreezing data pipes while waiting for a response block header
+ * - Fixed error in the PrinterHost demo preventing the full page data from being sent to the attached device (thanks to John Andrews)
+ * - Fixed CDC based demos and projects' INF driver files under 64 bit versions of Windows (thanks to Ronny Hanson, Thomas Bleeker)
+ * - Re-add in missing flip, flip-ee, dfu and dfu-ee targets to project makefiles (thanks to Opendous Inc.)
+ * - Fix allowable F_CPU values comment in project makefiles to more accurately reflect the allowable values on the USB AVRs
+ * - Fixed DFU and CDC class bootloaders on the series 2 USB AVRs, corrected invalid signatures, added support for the new
+ * ATMEGAxx2 series 2 variant AVRs to the DFU bootloader
+ * - Fixed Low Level USBtoSerial demo not storing received characters (thanks to Michael Cooper)
+ * - Fixed MIDI Device Class driver not sending/receiving MIDI packets of the correct size (thanks to Thomas Bleeker)
+ *
+ *
+ * \section Sec_ChangeLog090810 Version 090810
+ *
+ * <b>New:</b>
+ * - Added new device class drivers and matching demos to the library for rapid application development
+ * - Added new PrinterHost demo (thanks to John Andrews)
+ * - Added USB Missile Launcher project, submitted by Dave Fletcher
+ * - Added new Benito Arduino Programmer project
+ * - Added incomplete device and host mode demos for later enhancement
+ * - Updated MassStorage device block write routines to use ping-pong Dataflash buffering to increase throughput by around 30%
+ * - Error status LEDs shown when device endpoint configuration fails to complete in all demos and projects
+ * - Added new USB_Host_SetDeviceConfiguration() convenience function for easy configuration selection of devices while in USB
+ * host mode
+ * - Added new USB_Host_ClearPipeStall() convenience function to clear a stall condition on an attached device's endpoint
+ * - Added new USB_Host_GetDeviceDescriptor() convenience function to retrieve the attached device's Device descriptor
+ * - Added new Endpoint_ClearStatusStage() convenience function to assist with the status stages of control transfers
+ * - Added new USE_INTERNAL_SERIAL define for using the unique serial numbers in some AVR models as the USB device's serial number,
+ * added NO_INTERNAL_SERIAL compile time option to turn off new serial number reading code
+ * - Added new DATAFLASH_CHIP_MASK() macro to the Dataflash driver, which returns the Dataflash select mask for the given chip index
+ * - Added new HOST_STATE_WaitForDeviceRemoval host state machine state for non-blocking disabling of device communications until the
+ * device has been removed (for use when an error occurs or communications with the device have completed)
+ * - Added new FAST_STREAM_TRANSFERS compile time option for faster stream transfers via multiple bytes copied per stream loop
+ * - Added stdio stream demo code to the CDC device demos, to show how to create standard streams out of the virtual serial ports
+ * - Added new EEPROM and FLASH buffer versions of the Endpoint and Pipe stream functions
+ * - Added new USE_FLASH_DESCRIPTORS and FIXED_NUM_CONFIGURATIONS compile time options
+ * - Added support for the new ATMEGA32U2, ATMEGA16U2 and ATMEGA8U2 AVR models
+ * - Added new USB_DeviceState variable to keep track of the current Device mode USB state
+ * - Added new LEDs_ToggleLEDs() function to the LEDs driver
+ * - Added new Pipe_BoundEndpointNumber() and Pipe_IsEndpointBound() functions
+ * - Added new DEVICE_STATE_AS_GPIOR and HOST_STATE_AS_GPIOR compile time options
+ * - Added 404 Not Found errors to the webserver in the RNDIS demos to indicate invalid URLs
+ *
+ * <b>Changed:</b>
+ * - Deprecated pseudo-scheduler and removed dynamic memory allocator from the library (first no longer needed and second unused)
+ * - The device-mode CALLBACK_USB_GetDescriptor() function now has an extra parameter so that the memory space in which the requested
+ * descriptor is located can be specified. This means that descriptors can now be located in multiple memory spaces within a device.
+ * - Removed vague USB_IsConnected global - test USB_DeviceState or USB_HostState explicitly to gain previous functionality
+ * - Removed USB_IsSuspended global - test USB_DeviceState against DEVICE_STATE_Suspended instead
+ * - Extended USB_GetDeviceConfigDescriptor() routine to require the configuration number within the device to fetch
+ * - Dataflash_WaitWhileBusy() now always ensures that the dataflash is ready for the next command immediately after returning,
+ * no need to call Dataflash_ToggleSelectedChipCS() afterwards
+ * - Low level API MIDI device demo no longer blocks if a note change event is sent while the endpoint is not ready
+ * - Pipe_GetErrorFlags() now returns additional error flags for overflow and underflow errors
+ * - Pipe stream functions now automatically set the correct pipe token, so that bidirectional pipes can be used
+ * - Pipe_ConfigurePipe() now automatically defaults IN pipes to accepting infinite IN requests, this can still be changed by calling
+ * the existing Pipe_SetFiniteINRequests() function
+ * - Changed F_CLOCK entries in project makefiles to alias to F_CPU by default, as this is the most common case
+ * - Host mode demos now use sane terminal escape codes, so that text is always readable and events/program output is visually distinguished
+ * from one another using foreground colours
+ * - Internal per-device preprocessing conditions changed to per-device series rather than per-controller group for finer-grain
+ * internal control
+ * - Interrupts are no longer disabled during the processing of Control Requests on the default endpoint while in device mode
+ * - AudioOutput demos now always output to board LEDs, regardless of output mode (removed AUDIO_OUT_LEDS project option)
+ * - Removed SINGLE_DEVICE_CONFIGURATION compile time option in favor of the new FIXED_NUM_CONFIGURATIONS option so that the exact number
+ * of device configurations can be defined statically
+ * - Removed VBUS events, as they are already exposed to the user application via the regular device connection and disconnection events
+ * - Renamed and altered existing events to properly separate out Host and Device mode events
+ * - All demos switched over from GNU99 standards mode to C99 standards mode, to reduce the dependancies on GCC-only language extensions
+ *
+ * <b>Fixed:</b>
+ * - Changed bootloaders to use FLASHEND rather than the existence of RAMPZ to determine if far FLASH pointers are needed to fix
+ * bootloaders on some of the USB AVR devices where avr-libc erroneously defines RAMPZ
+ * - Fixes to MassStorageHost for better device compatibility (increase command timeout, change MassStore_WaitForDataReceived()
+ * to only unfreeze and check one data pipe at a time) to prevent incorrect device enumerations and freezes while transferring data
+ * - Make Pipe_ConfigurePipe() mask the given endpoint number against PIPE_EPNUM_MASK to ensure the endpoint IN direction bit is
+ * cleared to prevent endpoint type corruption
+ * - Fixed issue opening CDC-ACM ports on hosts when the CDC device tries to send data before the host has set the line encoding
+ * - Fixed USB_OPT_MANUAL_PLL option being ignored during device disconnects on some models (thanks to Brian Dickman)
+ * - Fixed documentation mentioning Pipe_GetCurrentToken() function when correct function name is Pipe_GetPipeToken()
+ * - Fixed ADC driver for the ATMEGA32U4 and ATMEGA16U4 (thanks to Opendous Inc.)
+ * - Fixed CDCHost demo unfreezing the pipes at the point of configuration, rather than use
+ * - Fixed MassStorage demo not clearing the reset flag when a Mass Storage Reset is issued while not processing a command
+ * - Fixed USB_Host_SendControlRequest() not re-suspending the USB bus when initial device ready-wait fails
+ * - Fixed USB Pad regulator not being disabled on some AVR models when the USB_OPT_REG_DISABLED option is used
+ * - Fixed Host mode to Device mode UID change not causing a USB Disconnect event when a device was connected
+ * - Fixed Mouse/Keyboard demos not performing the correct arithmetic on the Idle period at the right times (thanks to Brian Dickman)
+ * - Fixed GenericHID failing HID class tests due to incorrect Logical Minimum and Logical Maximum values (thanks to Søren Greiner)
+ * - Fixed incorrect PIPE_EPNUM_MASK mask causing pipe failures on devices with endpoint addresses of 8 and above (thanks to John Andrews)
+ * - Fixed report data alignment issues in the MouseHostWithParser demo when X and Y movement data size is not a multiple of 8 bits
+ * - Fixed HID Report Descriptor Parser not correctly resetting internal states when a REPORT ID element is encountered
+ * - Fixed incorrect BUTTONS_BUTTON1 for the STK526 target
+ * - Fixed RNDIS demos freezing when more than one connection was attempted simultaneously, causing memory corruption
+ * - Fixed USBtoSerial demo receiving noise from the USART due to pull-up not being enabled
+ *
+ *
+ * \section Sec_ChangeLog090605 Version 090605
+ *
+ * - Fixed bug in RNDISEthernet and DualCDC demos not using the correct USB_ControlRequest structure for control request data
+ * - Fixed documentation showing incorrect USB mode support on the supported AVRs list
+ * - Fixed RNDISEthernet not working under Linux due to Linux requiring an "optional" RNDIS request which was unhandled
+ * - Fixed Mouse and Keyboard device demos not acting in accordance with the HID specification for idle periods (thanks to Brian Dickman)
+ * - Removed support for endpoint/pipe non-control interrupts; these did not act in the way users expected, and had many subtle issues
+ * - Fixed Device Mode not handling Set Feature and Clear Feature Chapter 9 requests that are addressed to the device (thanks to Brian Dickman)
+ * - Moved control endpoint interrupt handling into the library itself, enable via the new INTERRUPT_CONTROL_ENDPOINT token
+ * - Fixed CDCHost not clearing configured pipes and resetting configured pipes mask when a partially enumerated invalid CDC
+ * interface is skipped
+ * - Clarified the size of library tokens which accept integer values in the Compile Time Tokens page, values now use the smallest datatype
+ * inside the library that is able to hold their defined value to save space
+ * - Removed DESCRIPTOR_ADDRESS() macro as it was largely superfluous and only served to obfuscate code
+ * - Rewritten event system to remove all macros, to make user code clearer
+ * - Fixed incorrect ENDPOINT_EPNUM_MASK mask preventing endpoints above EP3 from being selected (thanks to Jonathan Oakley)
+ * - Removed STREAM_CALLBACK() macro - callbacks now use regular function definitions to clarify user code
+ * - Removed DESCRIPTOR_COMPARATOR() macro - comparators should now use regular function definitions to clarify user code
+ * - USB_IsConnected is now cleared before the USB_Disconnect() event is fired in response to VBUS being removed
+ * - Fixed incorrect PID value being used in the USBtoSerial project (thanks to Phill)
+ * - Deleted StdDescriptors.c, renamed USB_GetDescriptor() to CALLBACK_USB_GetDescriptor, moved ConfigDescriptor.c/.h from the
+ * LUFA/Drivers/USB/Class/ directory to LUFA/Drivers/USB/HighLevel/ in preparation for the new USB class APIs
+ * - Moved out each demos' functionality library files (e.g. Ring Buffer library) to /Lib directories for a better directory structure
+ * - Removed Tx interrupt from the USBtoSerial demo; now sends characters via polling to ensure more time for the Rx interrupt
+ * - Fixed possible enumeration errors from spin-loops which may fail to exit if the USB connection is severed before the exit condition
+ * becomes true
+ *
+ *
+ * \section Sec_ChangeLog090510 Version 090510
+ *
+ * - Added new GenericHIDHost demo
+ * - Corrections to the KeyboardHost and MouseHost demos' pipe handling to freeze and unfreeze the data pipes at the point of use
+ * - KeyboardHost, MouseHost and GenericHIDHost demos now save and restore the currently selected pipe inside the pipe ISR
+ * - Changed GenericHID device demo to use the LUFA scheduler, added INTERRUPT_DATA_ENDPOINT and INTERRUPT_CONTROL_ENDPOINT compile
+ * time options
+ * - All comments in the library, bootloaders, demos and projects have now been spell-checked and spelling mistakes/typos corrected
+ * - Added new PIMA_DATA_SIZE() define to the Still Image Host demo
+ * - Add call to MassStore_WaitForDataReceived() in MassStore_GetReturnedStatus() to ensure that the CSW has been received in the
+ * extended MSC timeout period before continuing, to prevent long processing delays from causing the MassStore_GetReturnedStatus()
+ * to early-abort (thanks to Dmitry Maksimov)
+ * - Move StdRequestType.h, StreamCallbacks.h, USBMode.h from the LowLevel USB driver directory to the HighLevel USB driver directory,
+ * where they are more suited
+ * - Removed all binary constants and replaced with decimal or hexadecimal constants so that unpatched GCC compilers can still build the
+ * code without having to be itself patched and recompiled first
+ * - Added preprocessor checks and documentation to the bootloaders giving information about missing SIGNATURE_x defines due to
+ * outdated avr-libc versions.
+ * - Added support to the CDCHost demo for devices with multiple CDC interfaces which are not the correct ACM type preceding the desired
+ * ACM CDC interface
+ * - Fixed GenericHID demo not starting USB and HID management tasks when not using interrupt driven modes (thanks to Carl Kjeldsen)
+ * - Fixed RNDISEthenet demo checking the incorrect message field for packet size constraints (thanks to Jonathan Oakley)
+ * - Fixed WriteNextReport code in the GenericHIDHost demo using incorrect parameter types and not selecting the correct endpoint
+ * - Adjusted sample CTC timer calculations in the AudioOutput and AudioInput demos to match the CTC calculations in the AVR datasheet,
+ * and to fix instances where rounding caused the endpoint to underflow (thanks to Robin Theunis)
+ * - The USB_Host_SendControlRequest() function no longer automatically selects the Control pipe (pipe 0), so that other control type
+ * pipes can be used with the function
+ * - The USB Host management task now saves and restores the currently selected pipe before and after the task completes
+ * - Fixed GenericHIDHost demo report write routine incorrect for control type requests (thanks to Andrei Krainev)
+ * - Removed Endpoint_ClearCurrentBank() and Pipe_ClearCurrentBank() in favor of new Endpoint_ClearIN(), Endpoint_ClearOUT(),
+ * Pipe_ClearIN() and Pipe_ClearOUT() macros (done to allow for the detection of packets of zero length)
+ * - Renamed *_ReadWriteAllowed() macros to *_IsReadWriteAllowed() to remain consistent with the rest of the LUFA API
+ * - Endpoint_IsSetupReceived() macro has been renamed to Endpoint_IsSETUPReceived(), Endpoint_ClearSetupReceived() macro has been
+ * renamed to Endpoint_ClearSETUP(), the Pipe_IsSetupSent() macro has been renamed to Pipe_IsSETUPSent() and the
+ * Pipe_ClearSetupSent() macro is no longer applicable and should be removed - changes made to compliment the new endpoint and pipe
+ * bank management API
+ * - Updated all demos, bootloaders and projects to use the new endpoint and pipe management APIs (thanks to Roman Thiel from Curetis AG)
+ * - Updated library doxygen documentation, added groups, changed documentation macro functions to real functions for clarity
+ * - Removed old endpoint and pipe aliased read/write/discard routines which did not have an explicit endian specifier for clarity
+ * - Removed the ButtLoadTag.h header file, as no one used for its intended purpose anyway
+ * - Renamed the main Drivers/AT90USBXXX directory to Drivers/Peripheral, renamed the Serial_Stream driver to SerialStream
+ * - Fixed CDC and USBtoSerial demos freezing where buffers were full while still transmitting or receiving (thanks to Peter Hand)
+ * - Removed "Host_" section of the function names in ConfigDescriptor.h, as most of the routines can now be used in device mode on the
+ * device descriptor
+ * - Renamed functions in the HID parser to have a "USB_" prefix and the acronym "HID" in the name
+ * - Fixed incorrect HID interface class and subclass values in the Mouse and KeyboardMouse demos (thanks to Brian Dickman)
+ * - Capitalized the "Descriptor_Search" and "Descriptor_Search_Comp" prefixes of the values in the DSearch_Return_ErrorCodes_t and
+ * DSearch_Comp_Return_ErrorCodes_t enums
+ * - Removed "ERROR" from the enum names in the endpoint and pipe stream error code enums
+ * - Renamed the USB_PowerOnErrorCodes_t enum to USB_InitErrorCodes_t, renamed the POWERON_ERROR_NoUSBModeSpecified enum value to
+ * USB_INITERROR_NoUSBModeSpecified
+ * - Renamed USB_PowerOnFail event to USB_InitFailure
+ * - Renamed OTG.h header functions to be more consistent with the rest of the library API
+ * - Changed over all deprecated GCC structure tag initializers to the standardized C99 format (thanks to Mike Alexander)
+ * - USB_HostRequest renamed to USB_ControlRequest, entire control request header is now read into USB_ControlRequest in Device mode
+ * rather than having the library pass only partially read header data to the application
+ * - The USB_UnhandledControlPacket event has had its parameters removed, in favor of accessing the new USB_ControlRequest structure
+ * - The Endpoint control stream functions now correctly send a ZLP to the host when less data than requested is sent
+ * - Fixed USB_RemoteWakeupEnabled flag never being set (the REMOTE WAKEUP Set Feature request was not being handled)
+ * - Renamed the FEATURELESS_CONTROL_ONLY_DEVICE compile-time token to CONTROL_ONLY_DEVICE
+ * - Endpoint configuration is now refined to give better output when all configurations have static inputs - removed the now useless
+ * STATIC_ENDPOINT_CONFIGURATION compile time token
+ * - Fixed SPI driver init function not clearing SPI2X bit when not needed
+ * - Fixed PREVENT ALLOW MEDIUM REMOVAL command issuing in the MassStorageHost demo using incorrect parameters (thanks to Mike Alex)
+ * - Fixed MassStorageHost demo broken due to an incorrect if statement test in MassStore_GetReturnedStatus()
+ * - Fixed reversed signature byte ordering in the CDC bootloader (thanks to Johannes Raschke)
+ * - Changed PIPE_CONTROLPIPE_DEFAULT_SIZE from 8 to 64 to try to prevent problems with faulty devices which do not respect the given
+ * wLength value when reading in the device descriptor
+ * - Fixed missing semicolon in the ATAVRUSBRF01 LED board driver code (thanks to Morten Lund)
+ * - Changed LED board driver code to define dummy LED masks for the first four board LEDs, so that user code can be compiled for boards
+ * with less than four LEDs without code modifications (thanks to Morten Lund)
+ * - Changed HWB board driver to Buttons driver, to allow for the support of future boards with more than one mounted GPIO button
+ * - Serial driver now correctly calculates the baud register value when in double speed mode
+ * - Init function of the Serial driver is now static inline to product smaller code for the common-case of static init values
+ *
+ *
+ * \section Sec_ChangeLog090401 Version 090401
+ *
+ * - Fixed MagStripe project configuration descriptor containing an unused (blank) endpoint descriptor
+ * - Incorporated makefile changes by Denver Gingerich to retain compatibility with stock (non-WinAVR) AVR-GCC installations
+ * - Fixed makefile EEPROM programming targets programming FLASH data in addition to EEPROM data
+ * - LUFA devices now enumerate correctly with LUFA hosts
+ * - Fixed Configuration Descriptor search routine freezing when a comparator returned a failure
+ * - Removed HID report item serial dump in the MouseHostWithParser and KeyboardHostWithParser - useful only for debugging, and
+ * slowed down the enumeration of HID devices too much
+ * - Increased the number of bits per track which can be read in the MagStripe project to 8192 when compiled for the AT90USBXXX6/7
+ * - Fixed KeyboardMouse demo discarding the wIndex value in the REQ_GetReport request
+ * - USBtoSerial demo now discards all Rx data when not connected to a USB host, rather than buffering characters for transmission
+ * next time the device is attached to a host.
+ * - Added new F_CLOCK compile time constant to the library and makefiles, to give the raw input clock (used to feed the PLL before any
+ * clock prescaling is performed) frequency, so that the PLL prescale mask can be determined
+ * - Changed stream wait timeout counter to be 16-bit, so that very long timeout periods can be set for correct communications with
+ * badly designed hosts or devices which greatly exceed the USB specification limits
+ * - Mass Storage Host demo now uses a USB_STREAM_TIMEOUT_MS of two seconds to maintain compatibility with poorly designed devices
+ * - Function attribute ATTR_ALWAYSINLINE renamed to ATTR_ALWAYS_INLINE to match other function attribute macro naming conventions
+ * - Added ATTR_ALWAYS_INLINE attribute to several key inlined library components, to ensure they are inlined in all circumstances
+ * - Removed SetSystemClockPrescaler() macro, the clock_prescale_set() avr-libc macro has been corrected in recent avr-libc versions
+ * - Fixed incorrect/missing control status stage transfers on demos, bootloaders and applications (thanks to Nate Lawson)
+ * - The NO_CLEARSET_FEATURE_REQUEST compile time token has been renamed to FEATURELESS_CONTROL_ONLY_DEVICE, and its function expanded
+ * to also remove parts of the Get Status chapter 9 request to further reduce code usage
+ * - Makefile updated to include output giving the currently selected BOARD parameter value
+ * - Board Dataflash driver now allows for dataflash ICs which use different shifts for setting the current page/byte address (thanks
+ * to Kenneth Clubb)
+ * - Added DataflashManager_WriteBlocks_RAM() and DataflashManager_ReadBlocks_RAM() functions to the MassStorage demo, to allow for easy
+ * interfacing with a FAT library for dataflash file level access
+ * - Corrected CDC class bootloader to fix a few bugs, changed address counter to store x2 addresses for convenience
+ * - Fixed typos in the SPI driver SPI_SPEED_FCPU_DIV_64 and SPI_SPEED_FCPU_DIV_128 masks (thanks to Markus Zocholl)
+ * - Keyboard and Mouse device demos (normal, data interrupt and fully interrupt driven) combined into unified keyboard and mouse demos
+ * - Keyboard and Mouse host demos (normal and data interrupt driven) combined into unified keyboard and mouse demos
+ * - Removed AVRISP_Programmer project due to code quality concerns
+ * - Fixed CDC demo not sending an empty packet after each transfer to prevent the host from buffering incoming data
+ * - Fixed documentation typos and preprocessor checks relating to misspellings of the USE_RAM_DESCRIPTORS token (thanks to Ian Gregg)
+ * - Fixed USBTask.h not conditionally including HostChapter9.h only when USB_CAN_BE_HOST is defined (thanks to Ian Gregg)
+ * - Fixed incorrect ADC driver init register manipulation (thanks to Tobias)
+ * - Added new GenericHID device demo application
+ * - Fixed Still Image Host SImage_SendData() function not clearing the pipe bank after sending data
+ *
+ *
+ * \section Sec_ChangeLog090209 Version 090209
+ *
+ * - PWM timer mode in AudioOut demo changed to Fast PWM for speed
+ * - Updated Magstripe project to work with the latest hardware revision
+ * - Fixed library not responding to the BCERRI flag correctly in host mode, leading to device lockups
+ * - Fixed library handling Get Descriptor requests when not addressed as standard requests to the device or interface (thanks to
+ * Nate Lawson)
+ * - Fixed serious data corruption issue in MassStorage demo dataflash write routine
+ * - Added new NO_CLEARSET_FEATURE_REQUEST compile time token
+ * - USB task now restores previous global interrupt state after execution, rather than forcing global interrupts to be enabled
+ * - Fixed USB_DeviceEnumerationComplete event firing after each configuration change, rather than once after the initial configuration
+ * - Added ENDPOINT_DOUBLEBANK_SUPPORTED() macros to Endpoint.h, altered ENDPOINT_MAX_SIZE() to allow user to specify endpoint
+ * - ENDPOINT_MAX_ENDPOINTS changed to ENDPOINT_TOTAL_ENDPOINTS, PIPE_MAX_PIPES changed to PIPE_TOTAL_PIPES
+ * - Endpoint and Pipe non-control stream functions now ensure endpoint or pipe is ready before reading or writing
+ * - Changed Teensy bootloader to use a watchdog reset when exiting rather than a software jump
+ * - Fixed integer promotion error in MassStorage and MassStorageHost demos, corrupting read/write transfers
+ * - SPI_SendByte is now SPI_TransferByte, added new SPI_SendByte and SPI_ReceiveByte functions for fast one-way transfer
+ * - MassStorage demo changed to use new fast one-way SPI transfers to increase throughput
+ * - MassStorage handling of Mass Storage Reset class request improved
+ * - Altered MassStorage demo dataflash block read code for speed
+ * - Added USB_IsSuspended global flag
+ * - Simplified internal Dual Mode (OTG) USB library code to reduce code size
+ * - Extended stream timeout period to 100ms from 50ms
+ * - Mass Storage Host demo commands now all return an error code from the Pipe_Stream_RW_ErrorCodes_t enum
+ * - Added SubErrorCode parameter to the USB_DeviceEnumerationFailed event
+ * - VBUS drop interrupt now disabled during the manual-to-auto VBUS delivery handoff
+ * - Simplified low level backend so that device/host mode initialization uses the same code paths
+ * - Added workaround for faulty Mass Storage devices which do not implement the required GET_MAX_LUN request
+ * - Removed buggy Telnet application from the RNDIS demo
+ * - Moved Mass Storage class requests in the Mass Storage Host demo to wrapper functions in MassStoreCommands.c
+ * - Fixed incorrect SCSI command size value in the Request Sense command in MassStoreCommands.c
+ * - Added SetProtocol request to HID class non-parser Mouse and Keyboard demos to force devices to use the correct Boot Protocol
+ * - Added new "dfu" and "flip" programming targets to project makefiles
+ * - HID_PARSE_Sucessful enum member typo corrected to HID_PARSE_Successful
+ * - Changed COLLECTION item structures in the HID descriptor parser to include the collection's Usage Page value
+ * - Serial driver now sets Tx line as output, enables pull-up on Rx line
+ * - Fixed smaller USB AVRs raising multiple connection and disconnection events when NO_LIMITED_CONTROLLER_CONNECT is disabled
+ * - Added HOST_DEVICE_SETTLE_DELAY_MS to give the host delay after a device is connected before it is enumerated
+ * - Fixed KeyboardHostWithParser demo linking against the wrong global variables
+ * - Completed doxygen documentation of remaining library bootloaders, demos and projects
+ * - Fixed incorrect bootloader start address in the TeensyHID bootloader
+ * - Added HWB button whole-disk ASCII dump functionality to MassStoreHost demo
+ * - Replaced printf_P(PSTR("%c"), {Variable}) calls with putchar(<Variable>) for speed and size savings
+ * - Serial driver now accepts baud rates over 16-bits in size, added double speed flag option
+ * - Fixed incorrect callback abort return value in Pipe.c
+ * - Added new flip-ee and dfu-ee makefile targets (courtesy of Opendous Inc.)
+ * - Removed reboot-on-disconnect code from the TeensyHID bootloader, caused problems on some systems
+ * - Fixed AudioOutput and AudioInput demos looping on the endpoint data, rather than processing a sample at a time and returning
+ * each time the task runs to allow for other tasks to execute
+ * - Added support for the Atmel ATAVRUSBRF01 board
+ * - Added AVRISP Programmer Project, courtesy of Opendous Inc.
+ * - Fixed CDC Host demo not searching through both CDC interfaces for endpoints
+ * - Fixed incorrect Product String descriptor length in the DFU class bootloader
+ *
+ *
+ * \section Sec_ChangeLog081224 Version 081224
+ *
+ * - MyUSB name changed to LUFA, the Lightweight USB Framework for AVRs
+ * - Fixed Mass Storage Host demo's MassStore_SendCommand() delay in the incorrect place
+ * - Fixed USBtoSerial demo not calling ReconfigureUSART() after a change in the line encoding
+ * - Fixed infinite loop in host mode Host-to-Device control transfers with data stages
+ * - HID report parser now supports devices with multiple reports in one interface via Report IDs
+ * - Fixed RZUSBSTICK board LED driver header incorrect macro definition order causing compile errors
+ * - Calling USB_Init() when the USB interface is already configured now forces a complete interface reset
+ * and re-enumeration - fixes MyUSB DFU bootloader not switching to app code correctly when soft reset used
+ * - Fixed "No newline at end of file" warning when stream callbacks are enabled
+ * - DFU bootloader now uses fixed signature bytes per device, rather than reading them out dynamically for size
+ * - Added new FIXED_CONTROL_ENDPOINT_SIZE and USE_SINGLE_DEVICE_CONFIGURATION switches to statically define certain values to
+ * reduce compiled binary size
+ * - Added new NO_LIMITED_CONTROLLER_CONNECT switch to prevent the library from trying to determine bus connection
+ * state from the suspension and wake up events on the smaller USB AVRs
+ * - Added summary of all library compile time tokens to the documentation
+ * - Added overview of the LUFA scheduler to the documentation
+ * - Removed MANUAL_PLL_CONTROL compile time token, replaced with a mask for the USB_Init() Options parameter
+ * - CDC bootloader now uses the correct non-far or far versions of the pgm_* functions depending on if RAMPZ is defined
+ * - Doxygen documentation now contains documentation on all the projects, bootloaders and most demos included with the library
+ * - CDC bootloader now runs user application when USB disconnected rather than waiting for a hard reset
+ * - MouseHostWithParser and KeyboardHostWithParser now support multiple-report devices
+ * - RNDIS demo can now close connections correctly using the new TCP_APP_CLOSECONNECTION() macro - used in Webserver
+ * - Fixed the DFU bootloader, no longer freezes up when certain files are programmed into an AVR, made reading/writing faster
+ * - Fixed mouse/joystick up/down movements reversed - HID mouse X/Y coordinates use a left-handed coordinate system, not a normal
+ * right-handed system
+ * - Added stub code to the CDC and USBtoSerial demos showing how to read and set the RS-232 handshake lines - not currently used in
+ * the demos, but the example code and supporting defines are now in place
+ * - Interrupts are now disabled when processing a control request in device mode, to avoid exceeding the strict control request
+ * timing requirements.
+ * - All demos now use a central StatusUpdate() function rather than direct calls to the board LED functions, so that the demos can
+ * easily be altered to show different LED combinations (or do something else entirely) as the demo's status changes
+ * - Removed LED commands from the CDC bootloader, unused by most AVR910 programming software
+ * - Fixed RNDIS demo ICMP ping requests echoing back incorrect data
+ * - Added DHCP server code to RNDIS demo, allowing for hands-free auto configuration on any PC
+ * - Fixed DFU bootloader PID value for the ATMEGA16U4 AVR
+ * - Endpoint and Pipe configuration functions now return an error code indicating success or failure
+ * - USB Reset in device mode now resets and disables all device endpoints
+ * - Added intermediate states to the host mode state machine, reducing the USB task blocking time to no more than 1ms explicitly per
+ * invocation when in host mode
+ * - Added support for the ATMEGA32U6 microcontroller
+ * - Added STATIC_ENDPOINT_CONFIGURATION compile time option, enabled in the bootloaders to minimize space usage
+ * - Removed redundant code from the USB device GetStatus() chapter 9 processing routine
+ * - Added new TeensyHID bootloader, compatible with the Teensy HID protocol (http://www.pjrc.com/teensy/)
+ * - Versions are now numbered by release dates, rather than arbitrary major/minor revision numbers
+ * - USB_RemoteWakeupEnabled is now correctly set and cleared by SetFeature and ClearFeature requests from the host
+ * - Changed prototype of GetDescriptor, so that it now returns the descriptor size (or zero if the descriptor doesn't exist)
+ * rather than passing the size back to the caller through a parameter and returning a boolean
+ *
+ *
+ * \section Sec_ChangeLog153 Version 1.5.3 - Released 2nd October, 2008
+ *
+ * - Fixed CDC bootloader using pgmspace macros for some descriptors inappropriately
+ * - Updated all Mouse and Keyboard device demos to include boot protocol support (now works in BIOS)
+ * - Renamed bootloader directories to remove spaces, which were causing build problems on several OSes
+ * - Removed serial number strings from all but the MassStore demo where it is required - users were not
+ * modifying the code to either omit the descriptor or use a unique serial per device causing problems
+ * when multiple units of the same device were plugged in at the same time
+ * - AudioOutput and AudioInput demos now correctly silence endpoints when not enabled by the host
+ * - Added KeyboardMouse demo (Keyboard and Mouse functionality combined into a single demo)
+ * - Added DriverStubs directory to house board level driver templates, to make MyUSB compatible custom board
+ * driver creation easier
+ * - Extended MassStorage demo to support multiple LUNs, 2 by default
+ * - Fixed incorrect device address mask, preventing the device from enumerating with addresses larger than 63
+ * - Fixed incorrect data direction mask in the GetStatus standard request, preventing it from being handled
+ * - Fixed incorrect GetStatus standard request for endpoints, now returns the endpoint STALL status correctly
+ * - Added in new USB_RemoteWakeupEnabled and USB_CurrentlySelfPowered flags rather than using fixed values
+ * - Added DualCDC demo to demonstrate the use of Interface Association Descriptors
+ * - Added pipe NAK detection and clearing API
+ * - Added pipe status change (NAK, STALL, etc.) interrupt API
+ * - Fixed MassStorageHost demo so that it no longer freezes randomly when issuing several commands in a row
+ * - Host demos configuration descriptor routines now return a unique error code when the returned data does
+ * not have a valid configuration descriptor header
+ * - Added Endpoint_WaitUntilReady() and Pipe_WaitUntilReady() functions
+ * - Stream functions now have software timeouts, timeout period can be set by the USB_STREAM_TIMEOUT_MS token
+ * - All demos now pass the USB.org automated Chapter 9 device compliance tests
+ * - All HID demos now pass the USB.org automated HID compliance tests
+ * - Polling interval of the interrupt endpoint in the CDC based demos changed to 0xFF to fix problems on Linux systems
+ * - Changed stream functions to accept a new callback function, with NO_STREAM_CALLBACKS used to disable all callbacks
+ * - Mass Storage demo dataflash management routines changed to use the endpoint stream functions
+ * - Added AVRStudio project files for each demo in addition to the existing Programmer's Notepad master project file
+ * - Re-added call to ReconfigureUSART() in USBtoSerial SetLineCoding request, so that baud rate changes
+ * are reflected in the hardware (change was previously lost)
+ *
+ *
+ * \section Sec_ChangeLog152 Version 1.5.2 - Released 31st July, 2008
+ *
+ * - Fixed SwapEndian_32() function in Common.h so that it now works correctly (wrong parameter types)
+ * - Updated RNDIS demo - notification endpoint is no longer blocking so that it works with faulty Linux RNDIS
+ * implementations (where the notification endpoint is ignored in favor of polling the control endpoint)
+ * - Fixed incorrect Vendor Description string return size in RNDIS demo for the OID_GEN_VENDOR_DESCRIPTION OID token
+ * - Added very basic TCP/IP stack and HTTP/TELNET servers to RNDIS demo
+ * - Fixed DFU bootloader exit causing programming software to complain about failed writes
+ * - Fixed DFU bootloader EEPROM programming mode wiping first flash page
+ * - Fixed Clear/Set Feature device standard request processing code (fixing MassStorage demo in the process)
+ * - Added support for the ATMEGA16U4 AVR microcontroller
+ * - Library license changed from LGPLv3 to MIT license
+ *
+ *
+ * \section Sec_ChangeLog151 Version 1.5.1 - Released 31st July, 2008
+ *
+ * - Changed host demos to enable the host function task on the firing of the USB_DeviceEnumerationComplete event
+ * rather than the USB_DeviceAttached event
+ * - HID Usage Stack now forcefully cleared after an IN/OUT/FEATURE item has been completely processed to remove
+ * any referenced but not created usages
+ * - Changed USB_INT_DisableAllInterrupts() and USB_INT_ClearAllInterrupts(), USB_Host_GetNextDescriptorOfType(),
+ * USB_Host_GetNextDescriptorOfTypeBefore(), USB_Host_GetNextDescriptorOfTypeAfter() to normal functions (from inline)
+ * - Fixed USBtoSerial demo not sending data, only receiving
+ * - Fixed main makefile to make all by default, fixed MagStripe directory case to prevent case-sensitive path problems
+ * - ConfigDescriptor functions made normal, instead of static inline
+ * - Pipe/Endpoint *_Ignore_* functions changed to *_Discard_*, old names still present as aliases
+ * - Fixed ENDPOINT_MAX_SIZE define to be correct on limited USB controller AVRs
+ * - Changed endpoint and pipe size translation routines to use previous IF/ELSE IF cascade code, new algorithmic
+ * approach was buggy and caused problems
+ * - Bootloaders now compile with -fno-inline-small-functions option to reduce code size
+ * - Audio demos now use correct endpoint sizes for full and limited controller USB AVRs, double banking in all cases
+ * to be in line with the specification (isochronous endpoints MUST be double banked)
+ * - Added Interface Association descriptor to StdDescriptors.h, based on the relevant USB2.0 ECN
+ * - Fixed MIDI demo, corrected Audio Streaming descriptor to follow the MIDI-specific AS structure
+ * - Fixed HID class demo descriptors so that the HID interface's protocol is 0x00 (required for non-boot protocol HID
+ * devices) to prevent problems on hosts expecting the boot protocol functions to be supported
+ * - Added read/write control stream functions to Endpoint.h
+ * - Fixed AudioOut demo not setting port pins to inputs on USB disconnect properly
+ * - Added RNDISEthernet demo application
+ *
+ *
+ * \section Sec_ChangeLog150 Version 1.5.0 - Released 10 June, 2008
+ *
+ * - Fixed MIDI demo, now correctly waits for the endpoint to be ready between multiple note messages
+ * - Added CDC Host demo application
+ * - Added KeyboardFullInt demo application
+ * - Endpoint and Pipe creation routines now mask endpoint/pipe size with the size mask, to remove transaction
+ * size bits not required for the routines (improves compatibility with devices)
+ * - Fixed AudioInput demo - now correctly sends sampled audio to the host PC
+ * - Fixed AudioOutput demo once more -- apparently Windows requires endpoint packets to be >=192 bytes
+ * - Shrunk round-robbin scheduler code slightly via the use of struct pointers rather than array indexes
+ * - Fixed off-by-one error when determining if the Usage Stack is full inside the HID Report parser
+ * - Renamed Magstripe.h to MagstripeHW.h and moved driver out of the library and into the MagStripe demo folder
+ * - Added preprocessor checks to enable C linkage on the library components when used with a C++ compiler
+ * - Added Still Image Host demo application
+ * - The USB device task now restores the previously selected endpoint, allowing control requests to be transparently
+ * handled via interrupts while other endpoints are serviced through polling
+ * - Fixed device signature being sent in reverse order in the CDC bootloader
+ * - Host demos now have a separate ConfigDescriptor.c/.h file for configuration descriptor processing
+ * - HostWithParser demos now have a separate HIDReport.c/.h file for HID report processing and dumping
+ * - Removed non-mandatory commands from MassStorage demo to save space, fixed SENSE ResponseCode value
+ * - CDC demos now send empty packets after sending a full one to prevent buffering issues on the host
+ * - Updated demo descriptors to use VID/PID values donated by Atmel
+ * - Added DoxyGen documentation to the source files
+ * - Fixed Serial_IsCharReceived() definition, was previously reversed
+ * - Removed separate USB_Descriptor_Language_t descriptor, USB_Descriptor_String_t is used instead
+ * - Removed unused Device Qualifier descriptor structure
+ * - Renamed the USB_CreateEndpoints event to the more appropriate USB_ConfigurationChanged
+ * - Fixed MassStorageHost demo reading in the block data in reverse
+ * - Removed outdated typedefs in StdRequestType.h, superseded by the macro masks
+ * - Corrected OTG.h is now included when the AVR supports both Host and Device modes, for creating OTG products
+ * - USB_DeviceEnumerationComplete event is now also fired when in device mode and the host has finished its enumeration
+ * - Interrupt driven demos now properly restore previously selected endpoint when ISR is complete
+ * - The value of USB_HOST_TIMEOUT_MS can now be overridden in the user project makefile to a custom fixed timeout value
+ * - Renamed USB_Host_SOFGeneration_* macros to more friendly USB_Host_SuspendBus(), USB_Host_ResumeBus()
+ * and USB_Host_IsBusSuspended()
+ * - Renamed *_*_Is* macros to *_Is* to make all flag checking macros consistent, Pipe_SetInterruptFreq() is now
+ * Pipe_SetInterruptPeriod() to use the correct terminology
+ * - UnicodeString member of USB_Descriptor_String_t struct changed to an ordinary int array type, so that the GCC
+ * Unicode strings (prefixed with an L before the opening quotation mark) can be used instead of explicit arrays
+ * of ASCII characters
+ * - Fixed Endpoint/Pipes being configured incorrectly if the maximum endpoint/pipe size for the selected USB AVR
+ * model was given as the bank size
+ * - HID device demos now use a true raw array for the HID report descriptor rather than a struct wrapped array
+ * - Added VERSION_BCD() macro, fixed reported HID and USB version numbers in demo descriptors
+ * - Cleaned up GetDescriptor device chapter 9 handler function
+ * - Added GET_REPORT class specific request to HID demos to make them complaint to the HID class
+ * - Cleaned up setting of USB_IsInitialized and USB_IsConnected values to only when needed
+ * - Removed Atomic.c and ISRMacro.h; the library was already only compatible with recent avr-lib-c for other reasons
+ * - All demos and library functions now use USB standardized names for the USB data (bRequest, wLength, etc.)
+ * - Added USE_NONSTANDARD_DESCRIPTOR_NAMES token to switch back to the non-standard descriptor element names
+ *
+ *
+ * \section Sec_ChangeLog141 Version 1.4.1 - Released 5 May, 2008
+ *
+ * - Enhanced KeyboardWithParser demo, now prints out pressed alphanumeric characters like the standard demo
+ * - Fixed MassStorage demo, read/writes using non mode-10 commands now work correctly
+ * - Corrected version number in Version.h
+ *
+ *
+ * \section Sec_ChangeLog140 Version 1.4.0 - Released 5 May, 2008
+ *
+ * - Added HID Report Parser API to the library
+ * - Added Mouse and Keyboard host demo applications, using the new HID report parser engine
+ * - Added MouseFullInt demo, which demonstrates a fully interrupt (including control requests) mouse device
+ * - Fixed incorrect length value in the audio control descriptor of the AudioOutput and AudioInput demos
+ * - Added MIDI device demo application to the library
+ * - Fixed problem preventing USB devices from being resumed from a suspended state
+ * - Added new CDC class bootloader to the library, based on the AVR109 bootloader protocol
+ * - Added header to each demo application indicating the mode, class, subclass, standards used and supported speed
+ * - Functions expecting endpoint/pipe numbers are no longer automatically masked against ENDPOINT_EPNUM_MASK or
+ * PIPE_PIPENUM_MASK - this should be manually added to code which requires it
+ * - Fixed DFU class bootloader - corrected frequency of flash page writes, greatly reducing programming time
+ * - Renamed AVR_HOST_GetDeviceConfigDescriptor() to USB_Host_GetDeviceConfigDescriptor() and AVR_HOST_GetNextDescriptor()
+ * to USB_Host_GetNextDescriptor()
+ * - Added new USB_Host_GetNextDescriptorOfTypeBefore() and USB_Host_GetNextDescriptorOfTypeAfter() routines
+ * - Moved configuration descriptor routines to MyUSB/Drivers/USB/Class/, new accompanying ConfigDescriptors.c file
+ * - Added new configuration descriptor comparator API for more powerful descriptor parsing, updated host demos to use the
+ * new comparator API
+ * - Fixed MassStorageHost demo capacity printout, and changed data read/write mode from little-endian to the correct
+ * big-endian for SCSI devices
+ * - Fixed macro/function naming consistency; USB_HOST is now USB_Host, USB_DEV is now USB_Device
+ * - Added better error reporting to host demos
+ * - Added 10 microsecond delay after addressing devices in host mode, to prevent control stalls
+ *
+ *
+ * \section Sec_ChangeLog132 Version 1.3.2 - Released April 1st, 2008
+ *
+ * - Added call to ReconfigureUSART() in USBtoSerial SetLineCoding request, so that baud rate changes
+ * are reflected in the hardware
+ * - Fixed CDC and USBtoSerial demos - Stream commands do not work for control endpoints, and the
+ * GetLineCoding request had an incorrect RequestType mask preventing it from being processed
+ * - Improved reliability of the USBtoSerial demo, adding a busy wait while the buffer is full
+ * - Device control endpoint size is now determined from the device's descriptors rather than being fixed
+ * - Separated out SPI code into new SPI driver in AT90USBXXX driver directory
+ * - Bootloader now returns correct PID for the selected USB AVR model, not just the AT90USB128X PID
+ * - Added support for the RZUSBSTICK board
+ * - Bicolour driver removed in favor of generic LEDs driver
+ * - Added support for the ATMEGA32U4 AVR
+ * - Added MANUAL_PLL_CONTROL compile time option to prevent the USB library from manipulating the PLL
+ *
+ *
+ * \section Sec_ChangeLog131 Version 1.3.1 - Released March 19th 2008
+ *
+ * - Fixed USB to Serial demo - class value in the descriptors was incorrect
+ * - Control endpoint size changed from 64 bytes to 8 bytes to save on USB FIFO RAM and to allow low
+ * speed mode devices to enumerate properly
+ * - USB to Serial demo data endpoints changed to dual-banked 16 byte to allow the demo to work
+ * on USB AVRs with limited USB FIFO RAM
+ * - Changed demo endpoint numbers to use endpoints 3 and 4 for double banking, to allow limited
+ * USB device controller AVRs (AT90USB162, AT90USB82) to function correctly
+ * - Updated Audio Out demo to use timer 1 for AVRs lacking a timer 3 for the PWM output
+ * - Fixed incorrect USB_DEV_OPT_HIGHSPEED entry in the Mass Storage device demo makefile
+ * - Optimized Mass Storage demo for a little extra transfer speed
+ * - Added LED indicators to the Keyboard demo for Caps Lock, Num Lock and Scroll Lock
+ * - Added Endpoint_Read_Stream, Endpoint_Write_Stream, Pipe_Read_Stream and Pipe_Write_Stream functions
+ * (including Big and Little Endian variants)
+ * - Made Dataflash functions inline for speed, removed now empty Dataflash.c driver file
+ * - Added new SetSystemClockPrescaler() macro (thanks to Joerg Wunsch)
+ * - Fixed Endpoint_ClearStall() to function correctly on full USB controller AVRs (AT90USBXXX6/7)
+ * - Endpoint_Setup_In_Clear() and Endpoint_Setup_Out_Clear() no longer set FIFOCON, in line with the
+ * directives in the datasheet
+ * - Fixed PLL prescaler defines for all AVR models and frequencies
+ * - Fixed ENDPOINT_INT_IN and ENDPOINT_INT_OUT definitions
+ * - Added interrupt driven keyboard and mouse device demos
+ * - Combined USB_Device_ClearFeature and USB_Device_SetFeature requests into a single routine for code
+ * size savings
+ * - Added missing Pipe_GetCurrentPipe() macro to Pipe.h
+ *
+ *
+ * \section Sec_ChangeLog130 Version 1.3.0 - Released March 7th 2008
+ *
+ * - Unnecessary control endpoint config removed from device mode
+ * - Fixed device standard request interpreter accidentally processing some class-specific requests
+ * - Added USE_RAM_DESCRIPTORS and USE_EEPROM_DESCRIPTORS compile time options to instruct the library
+ * to use descriptors stored in RAM or EEPROM rather than flash memory
+ * - All demos now disable watchdog on startup, in case it has been enabled by fuses or the bootloader
+ * - USB_DEV_OPT_LOWSPEED option now works correctly
+ * - Added ability to set the USB options statically for a binary size reduction via the USE_STATIC_OPTIONS
+ * compile time define
+ * - USB_Init no longer takes a Mode parameter if compiled for a USB device with no host mode option, or
+ * if forced to a particular mode via the USB_HOST_ONLY or USB_DEVICE_ONLY compile time options
+ * - USB_Init no longer takes an Options parameter if options statically configured by USE_STATIC_OPTIONS
+ * - Endpoint_Ignore_* and Pipe_Ignore_* made smaller by making the dummy variable non-volatile so that the
+ * compiler can throw away the result more efficiently
+ * - Added in an optional GroupID value to each scheduler entry, so that groups of tasks can once again be
+ * controlled by the new Scheduler_SetGroupTaskMode() routine
+ * - Added support for AT90USB162 and AT90USB82 AVR models
+ * - Added support for the STK525 and STK526 boards
+ * - Added support for custom board drivers to be supplied by selecting the board type as BOARD_USER, and
+ * placing board drivers in {Application Directory}/Board/
+ * - PLL is now stopped and USB clock is frozen when detached from host in device mode, to save power
+ * - Joystick defines are now in synch with the schematics - orientation will be rotated for the USBKEY
+ * - Fixed USB_DEV_IsUSBSuspended() - now checks the correct register
+ * - Fixed data transfers to devices when in host mode
+ * - Renamed USB_DEV_OPT_HIGHSPEED to USB_DEV_OPT_FULLSPEED and USB_HOST_IsDeviceHighSpeed() to
+ * USB_HOST_IsDeviceFullSpeed() to be in line with the official USB speed names (to avoid confusion with
+ * the real high speed mode, which is unavailable on the USB AVRs)
+ *
+ *
+ * \section Sec_ChangeLog120 Version 1.2.0 - Released February 4th, 2008
+ *
+ * - Added USB_DeviceEnumerationComplete event for host mode
+ * - Added new Scheduler_Init routine to prepare the scheduler, so that tasks can be started and
+ * stopped before the scheduler has been started (via Scheduler_Start)
+ * - Connection events in both Device and Host mode are now interrupt-driven, allowing the USB management
+ * task to be stopped when the USB is not connected to a host or device
+ * - All demos updated to stop the USB task when not in use via the appropriate USB events
+ * - Mass Storage Host demo application updated to function correctly with all USB flash disks
+ * - Mass Storage Host demo application now prints out the capacity and number of LUNs in the attached
+ * device, and prints the first block as hexadecimal numbers rather than ASCII characters
+ * - Endpoint and Pipe clearing routines now clear the Endpoint/Pipe interrupt and status flags
+ * - Shifted error handling code in the host enum state machine to a single block, to reduce code complexity
+ * - Added in DESCRIPTOR_TYPE, DESCRIPTOR_SIZE and DESCRIPTOR_CAST macros to make config descriptor processing
+ * clearer in USB hosts and DESCRIPTOR_ADDRESS for convenience in USB devices
+ * - Added in alloca macro to common.h, in case the user is using an old version of avr-lib-c missing the macro
+ *
+ *
+ * \section Sec_ChangeLog130 Version 1.1.0 - Released January 25th 2008
+ *
+ * - Fixed DCONNI interrupt being enabled accidentally after a USB reset
+ * - Fixed DDISCI interrupt not being disabled when a device is not connected
+ * - Added workaround for powerless pull-up devices causing false disconnect interrupts
+ * - Added USB_DeviceEnumerationFailed event for Host mode
+ * - AVR_HOST_GetDeviceConfigDescriptor routine no longer modifies ConfigSizePtr if a valid buffer
+ * pointer is passed
+ * - Added ALLOCABLE_BYTES to DynAlloc, and added code to make the size of key storage variables
+ * dependant on size of memory parameters passed in via the user project's makefile
+ * - Fixed incorrect device reset routine being called in USBTask
+ * - Devices which do not connect within the standard 300mS are now supported
+ * - Removed incorrect ATTR_PURE from Scheduler_SetTaskMode(), which was preventing tasks from being
+ * started/stopped, as well as USB_InitTaskPointer(), which was breaking dual device/host USB projects
+ * - Changed scheduler to use the task name rather than IDs for setting the task mode, eliminating the
+ * need to have a task ID list
+ * - ID transition interrupt now raises the appropriate device/host disconnect event if device attached
+ * - Fixed double VBUS change (and VBUS -) event when detaching in device mode
+ * - Added ability to disable ANSI terminal codes by the defining of DISABLE_TERMINAL_CODES in makefile
+ * - Removed return from ConfigurePipe and ConfigureEndpoint functions - use Pipe_IsConfigured() and
+ * Endpoint_IsConfigured() after calling the config functions to determine success
+ */
+
diff --git a/firmware/LUFA/ManPages/CompileTimeTokens.txt b/firmware/LUFA/ManPages/CompileTimeTokens.txt
new file mode 100644
index 0000000..86fa438
--- /dev/null
+++ b/firmware/LUFA/ManPages/CompileTimeTokens.txt
@@ -0,0 +1,212 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/** \page Page_TokenSummary Summary of Compile Tokens
+ *
+ * The following lists all the possible tokens which can be defined in a project makefile, and passed to the
+ * compiler via the -D switch, to alter the LUFA library code. These tokens may alter the library behaviour,
+ * or remove features unused by a given application in order to save flash space.
+ *
+ *
+ * \section Sec_SummaryNonUSBTokens Non USB Related Tokens
+ * This section describes compile tokens which affect non-USB sections of the LUFA library.
+ *
+ * <b>DISABLE_TERMINAL_CODES</b> - ( \ref Group_Terminal ) \n
+ * If an application contains ANSI terminal control codes listed in TerminalCodes.h, it might be desired to remove them
+ * at compile time for use with a terminal which is non-ANSI control code aware, without modifying the source code. If
+ * this token is defined, all ANSI control codes in the application code from the TerminalCodes.h header are removed from
+ * the source code at compile time.
+ *
+ *
+ * \section Sec_SummaryUSBClassTokens USB Class Driver Related Tokens
+ * This section describes compile tokens which affect USB class-specific drivers in the LUFA library.
+ *
+ * <b>HID_HOST_BOOT_PROTOCOL_ONLY</b> - ( \ref Group_USBClassHIDHost ) \n
+ * By default, the USB HID Host class driver is designed to work with HID devices using either the Boot or Report HID
+ * communication protocols. On devices where the Report protocol is not used (i.e. in applications where only basic
+ * Mouse or Keyboard operation is desired, using boot compatible devices), the code responsible for the Report protocol
+ * mode can be removed to save space in the compiled application by defining this token. When defined, it is still necessary
+ * to explicitly put the attached device into Boot protocol mode via a call to \ref HID_Host_SetBootProtocol().
+ *
+ * <b>HID_STATETABLE_STACK_DEPTH</b>=<i>x</i> - ( \ref Group_HIDParser ) \n
+ * HID reports may contain PUSH and POP elements, to store and retrieve the current HID state table onto a stack. This
+ * allows for reports to save the state table before modifying it slightly for a data item, and then restore the previous
+ * state table in a compact manner. This token may be defined to a non-zero 8-bit value to give the maximum depth of the state
+ * table stack. If not defined, this defaults to the value indicated in the HID.h file documentation.
+ *
+ * <b>HID_USAGE_STACK_DEPTH</b>=<i>x</i> - ( \ref Group_HIDParser ) \n
+ * HID reports generally contain many USAGE elements, which are assigned to INPUT, OUTPUT and FEATURE items in succession
+ * when multiple items are defined at once (via REPORT COUNT elements). This allows for several items to be defined with
+ * different usages in a compact manner. This token may be defined to a non-zero 8-bit value to set the maximum depth of the
+ * usage stack, indicating the maximum number of USAGE items which can be stored temporarily until the next INPUT, OUTPUT
+ * and FEATURE item. If not defined, this defaults to the value indicated in the HID.h file documentation.
+ *
+ * <b>HID_MAX_COLLECTIONS</b>=<i>x</i> - ( \ref Group_HIDParser ) \n
+ * HID reports generally contain several COLLECTION elements, used to group related data items together. Collection information
+ * is stored separately in the processed usage structure (and referred to by the data elements in the structure) to save space.
+ * This token may be defined to a non-zero 8-bit value to set the maximum number of COLLECTION items which can be processed by the
+ * parser into the resultant processed report structure. If not defined, this defaults to the value indicated in the HID.h file
+ * documentation.
+ *
+ * <b>HID_MAX_REPORTITEMS</b>=<i>x</i> - ( \ref Group_HIDParser ) \n
+ * All HID reports contain one or more INPUT, OUTPUT and/or FEATURE items describing the data which can be sent to and from the HID
+ * device. Each item has associated usages, bit offsets in the item reports and other associated data indicating the manner in which
+ * the report data should be interpreted by the host. This token may be defined to a non-zero 8-bit value to set the maximum number of
+ * data elements which can be stored in the processed HID report structure, including INPUT, OUTPUT and (if enabled) FEATURE items.
+ * If a item has a multiple count (i.e. a REPORT COUNT of more than 1), each item in the report count is placed separately in the
+ * processed HID report table. If not defined, this defaults to the value indicated in the HID.h file documentation.
+ *
+ * <b>HID_MAX_REPORT_IDS</b>=<i>x</i> - ( \ref Group_HIDParser ) \n
+ * HID reports may contain several report IDs, to logically distinguish grouped device data from one another - for example, a combination
+ * keyboard and mouse might use report IDs to separate the keyboard reports from the mouse reports. In order to determine the size of each
+ * report, and thus know how many bytes must be read or written, the size of each report (IN, OUT and FEATURE) must be calculated and
+ * stored. This token may be defined to a non-zero 8-bit value to set the maximum number of report IDs in a device which can be processed
+ * and their sizes calculated/stored into the resultant processed report structure. If not defined, this defaults to the value indicated in
+ * the HID.h file documentation.
+ *
+ * <b>NO_CLASS_DRIVER_AUTOFLUSH</b>
+ * Many of the device and host mode class drivers automatically flush any data waiting to be written to an interface, when the corresponding
+ * USB management task is executed. This is usually desirable to ensure that any queued data is sent as soon as possible once and new data is
+ * constructed in the main program loop. However, if flushing is to be controlled manually by the user application via the *_Flush() commands,
+ * the compile time token may be defined in the application's makefile to disable automatic flushing during calls to the class driver USB
+ * management tasks.
+ *
+ * \section Sec_SummaryUSBTokens General USB Driver Related Tokens
+ * This section describes compile tokens which affect USB driver stack as a whole in the LUFA library.
+ *
+ * <b>NO_STREAM_CALLBACKS</b> - ( \ref Group_EndpointPacketManagement , \ref Group_PipePacketManagement )\n
+ * Both the endpoint and the pipe driver code contains stream functions, allowing for arrays of data to be sent to or from the
+ * host easily via a single function call (rather than complex routines worrying about sending full packets, waiting for the endpoint/
+ * pipe to become ready, etc.). By default, these stream functions require a callback function which is executed after each byte processed,
+ * allowing for early-aborts of stream transfers by the application. If callbacks are not required in an application, they can be removed
+ * by defining this token, reducing the compiled binary size. When removed, the stream functions no longer accept a callback function as
+ * a parameter.
+ *
+ * <b>FAST_STREAM_TRANSFERS</b> - ( \ref Group_EndpointPacketManagement , \ref Group_PipePacketManagement )\n
+ * By default, streams are transferred internally via a loop, sending or receiving one byte per iteration before checking for a bank full
+ * or empty condition. This allows for multiple stream functions to be chained together easily, as there are no alignment issues. However,
+ * this can lead to heavy performance penalties in applications where large streams are used frequently. When this compile time option is
+ * used, bytes are sent or received in groups of 8 bytes at a time increasing performance at the expense of a larger flash memory consumption
+ * due to the extra code required to deal with byte alignment.
+ *
+ * <b>USE_STATIC_OPTIONS</b>=<i>x</i> - ( \ref Group_USBManagement ) \n
+ * By default, the USB_Init() function accepts dynamic options at runtime to alter the library behaviour, including whether the USB pad
+ * voltage regulator is enabled, and the device speed when in device mode. By defining this token to a mask comprised of the USB options
+ * mask defines usually passed as the Options parameter to USB_Init(), the resulting compiled binary can be decreased in size by removing
+ * the dynamic options code, and replacing it with the statically set options. When defined, the USB_Init() function no longer accepts an
+ * Options parameter.
+ *
+ * <b>USB_DEVICE_ONLY</b> - ( \ref Group_USBManagement ) \n
+ * For the USB AVR models supporting both device and host USB modes, the USB_Init() function contains a Mode parameter which specifies the
+ * mode the library should be initialized to. If only device mode is required, the code for USB host mode can be removed from the binary to
+ * save space. When defined, the USB_Init() function no longer accepts a Mode parameter. This define is irrelevant on smaller USB AVRs which
+ * do not support host mode.
+ *
+ * <b>USB_HOST_ONLY</b> - ( \ref Group_USBManagement ) \n
+ * Same as USB_DEVICE_ONLY, except the library is fixed to USB host mode rather than USB device mode. Not available on some USB AVR models.
+ *
+ * <b>USB_STREAM_TIMEOUT_MS</b>=<i>x</i> - ( \ref Group_USBManagement ) \n
+ * When endpoint and/or pipe stream functions are used, by default there is a timeout between each transfer which the connected device or host
+ * must satisfy, or the stream function aborts the remaining data transfer. This token may be defined to a non-zero 16-bit value to set the timeout
+ * period for stream transfers, specified in milliseconds. If not defined, the default value specified in LowLevel.h is used instead.
+ *
+ * <b>NO_LIMITED_CONTROLLER_CONNECT</b> - ( \ref Group_Events ) \n
+ * On the smaller USB AVRs, the USB controller lacks VBUS events to determine the physical connection state of the USB bus to a host. In lieu of
+ * VBUS events, the library attempts to determine the connection state via the bus suspension and wake up events instead. This however may be
+ * slightly inaccurate due to the possibility of the host suspending the bus while the device is still connected. If accurate connection status is
+ * required, the VBUS line of the USB connector should be routed to an AVR pin to detect its level, so that the USB_DeviceState global
+ * can be accurately set and the \ref EVENT_USB_Device_Connect() and \ref EVENT_USB_Device_Disconnect() events manually raised by the RAISE_EVENT macro.
+ * When defined, this token disables the library's auto-detection of the connection state by the aforementioned suspension and wake up events.
+ *
+ * <b>NO_SOF_EVENTS</b> - ( \ref Group_Events ) \n
+ * By default, there exists a LUFA application event for the start of each USB frame while the USB bus is not suspended in either host or device mode.
+ * This event can be selectively enabled or disabled by calling the appropriate device or host mode function. When this compile time token is defined,
+ * the ability to receive USB Start of Frame events via the \ref EVENT_USB_Device_StartOfFrame() or \ref EVENT_USB_Host_StartOfFrame() events is removed,
+ * reducing the compiled program's binary size.
+ *
+ * \section Sec_SummaryUSBDeviceTokens USB Device Mode Driver Related Tokens
+ * This section describes compile tokens which affect USB driver stack of the LUFA library when used in Device mode.
+ *
+ * <b>USE_RAM_DESCRIPTORS</b> - ( \ref Group_Descriptors ) \n
+ * Define this token to indicate to the USB driver that all device descriptors are stored in RAM, rather than being located in any one
+ * of the AVR's memory spaces. RAM descriptors may be desirable in applications where the descriptors need to be modified at runtime.
+ *
+ * <b>USE_FLASH_DESCRIPTORS</b> - ( \ref Group_Descriptors ) \n
+ * Similar to USE_RAM_DESCRIPTORS, but all descriptors are stored in the AVR's FLASH memory rather than RAM.
+ *
+ * <b>USE_EEPROM_DESCRIPTORS</b> - ( \ref Group_Descriptors ) \n
+ * Similar to USE_RAM_DESCRIPTORS, but all descriptors are stored in the AVR's EEPROM memory rather than RAM.
+ *
+ * <b>NO_INTERNAL_SERIAL</b> - ( \ref Group_Descriptors ) \n
+ * Some AVR models contain a unique 20-digit serial number which can be used as the device serial number, while in device mode. This
+ * allows the host to uniquely identify the device regardless of if it is moved between USB ports on the same computer, allowing
+ * allocated resources (such as drivers, COM Port number allocations) to be preserved. This is not needed in many apps, and so the
+ * code that performs this task can be disabled by defining this option and passing it to the compiler via the -D switch.
+ *
+ * <b>FIXED_CONTROL_ENDPOINT_SIZE</b>=<i>x</i> - ( \ref Group_EndpointManagement ) \n
+ * By default, the library determines the size of the control endpoint (when in device mode) by reading the device descriptor.
+ * Normally this reduces the amount of configuration required for the library, allows the value to change dynamically (if
+ * descriptors are stored in EEPROM or RAM rather than flash memory) and reduces code maintenance. However, this token can be
+ * defined to a non-zero value instead to give the size in bytes of the control endpoint, to reduce the size of the compiled
+ * binary.
+ *
+ * <b>DEVICE_STATE_AS_GPIOR</b> - ( \ref Group_Device ) \n
+ * One of the most frequently used global variables in the stack is the USB_DeviceState global, which indicates the current state of
+ * the Device State Machine. To reduce the amount of code and time required to access and modify this global in an application, this token
+ * may be defined to a value between 0 and 2 to fix the state variable into one of the three general purpose IO registers inside the AVR
+ * reserved for application use. When defined, the corresponding GPIOR register should not be used within the user application except
+ * implicitly via the library APIs.
+ *
+ * <b>FIXED_NUM_CONFIGURATIONS</b>=<i>x</i> - ( \ref Group_Device ) \n
+ * By default, the library determines the number of configurations a USB device supports by reading the device descriptor. This reduces
+ * the amount of configuration required to set up the library, and allows the value to change dynamically (if descriptors are stored in
+ * EEPROM or RAM rather than flash memory) and reduces code maintenance. However, this value may be fixed via this token in the project
+ * makefile to reduce the compiled size of the binary at the expense of flexibility.
+ *
+ * <b>CONTROL_ONLY_DEVICE</b> \n
+ * In some limited USB device applications, there are no device endpoints other than the control endpoint; i.e. all device communication
+ * is through control endpoint requests. Defining this token will remove several features related to the selection and control of device
+ * endpoints internally, saving space. Generally, this is usually only useful in (some) bootloaders and is best avoided.
+ *
+ * <b>INTERRUPT_CONTROL_ENDPOINT</b> - ( \ref Group_USBManagement ) \n
+ * Some applications prefer to not call the USB_USBTask() management task regularly while in device mode, as it can complicate code significantly.
+ * Instead, when device mode is used this token can be passed to the library via the -D switch to allow the library to manage the USB control
+ * endpoint entirely via USB controller interrupts asynchronously to the user application. When defined, USB_USBTask() does not need to be called
+ * when in USB device mode.
+ *
+ * <b>NO_DEVICE_REMOTE_WAKEUP</b> - (\ref Group_Device ) \n
+ * Many devices do not require the use of the Remote Wakeup features of USB, used to wake up the USB host when suspended. On these devices,
+ * the code required to manage device Remote Wakeup can be disabled by defining this token and passing it to the library via the -D switch.
+ *
+ * <b>NO_DEVICE_SELF_POWER</b> - (\ref Group_Device ) \n
+ * USB devices may be bus powered, self powered, or a combination of both. When a device can be both bus powered and self powered, the host may
+ * query the device to determine the current power source, via \ref USB_CurrentlySelfPowered. For solely bus powered devices, this global and the
+ * code required to manage it may be disabled by passing this token to the library via the -D switch.
+ *
+ *
+ * \section Sec_SummaryUSBHostTokens USB Host Mode Driver Related Tokens
+ *
+ * This section describes compile tokens which affect USB driver stack of the LUFA library when used in Host mode.
+ *
+ * <b>HOST_STATE_AS_GPIOR</b> - ( \ref Group_Host ) \n
+ * One of the most frequently used global variables in the stack is the USB_HostState global, which indicates the current state of
+ * the Host State Machine. To reduce the amount of code and time required to access and modify this global in an application, this token
+ * may be defined to a value between 0 and 2 to fix the state variable into one of the three general purpose IO registers inside the AVR
+ * reserved for application use. When defined, the corresponding GPIOR register should not be used within the user application except
+ * implicitly via the library APIs.
+ *
+ * <b>USB_HOST_TIMEOUT_MS</b>=<i>x</i> - ( \ref Group_Host ) \n
+ * When a control transfer is initiated in host mode to an attached device, a timeout is used to abort the transfer if the attached
+ * device fails to respond within the timeout period. This token may be defined to a non-zero 16-bit value to set the timeout period for
+ * control transfers, specified in milliseconds. If not defined, the default value specified in Host.h is used instead.
+ *
+ * <b>HOST_DEVICE_SETTLE_DELAY_MS</b>=<i>x</i> - ( \ref Group_Host ) \n
+ * Some devices require a delay of up to 5 seconds after they are connected to VBUS before the enumeration process can be started, or
+ * they will fail to enumerate correctly. By placing a delay before the enumeration process, it can be ensured that the bus has settled
+ * back to a known idle state before communications occur with the device. This token may be defined to a 16-bit value to set the device
+ * settle period, specified in milliseconds. If not defined, the default value specified in Host.h is used instead.
+ */
+
diff --git a/firmware/LUFA/ManPages/CompilingApps.txt b/firmware/LUFA/ManPages/CompilingApps.txt
new file mode 100644
index 0000000..ff34534
--- /dev/null
+++ b/firmware/LUFA/ManPages/CompilingApps.txt
@@ -0,0 +1,30 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/** \page Page_CompilingApps Compiling the Demos, Bootloaders and Projects
+ *
+ * The following details how to compile the included LUFA demos, applications and bootloaders using AVR-GCC.
+ *
+ * \section Sec_Prerequisites Prerequisites
+ * Before you can compile any of the LUFA library code or demos, you will need a recent distribution of avr-libc (1.6.2+)
+ * and the AVR-GCC (4.2+) compiler. For Windows users, the best way to obtain these is the WinAVR project
+ * (<a>http://winavr.sourceforge.net</a>) as this provides a single-file setup for everything required to compile your
+ * own AVR projects.
+ *
+ * \section Sec_Compiling Compiling a LUFA Application
+ * Compiling the LUFA demos, applications and/or bootloaders is very simple. LUFA comes with makefile scripts for
+ * each individual demo, bootloader and project folder, as well as scripts in the /Demos/, /Bootloaders/, /Projects/
+ * and the LUFA root directory. This means that compilation can be started from any of the above directories, with
+ * a build started from an upper directory in the directory structure executing build of all child directories under it.
+ * This means that while a build inside a particular demo directory will build only that particular demo, a build stated
+ * from the /Demos/ directory will build all LUFA demo projects sequentially.
+ *
+ * To build a project from the source via the command line, the command <b>"make all"</b> should be executed from the command line in the directory
+ * of interest. To remove compiled files (including the binary output, all intermediately files and all diagnostic output
+ * files), execute <b>"make clean"</b>. Once a "make all" has been run and no errors were encountered, the resulting binary will
+ * be located in the generated ".HEX" file. If your project makes use of pre-initialized EEPROM variables, the generated ".EEP"
+ * file will contain the project's EEPROM data.
+ */
diff --git a/firmware/LUFA/ManPages/ConfiguringApps.txt b/firmware/LUFA/ManPages/ConfiguringApps.txt
new file mode 100644
index 0000000..9ab0c5a
--- /dev/null
+++ b/firmware/LUFA/ManPages/ConfiguringApps.txt
@@ -0,0 +1,89 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/** \page Page_ConfiguringApps Configuring the Demos, Bootloaders and Projects
+ *
+ * If the target AVR model, clock speed, board or other settings are different from the current settings, they must be changed
+ * and the project recompiled from the source code before being programmed into the AVR microcontroller. Most project
+ * configuration options are located in the "makefile" build script inside each LUFA application's folder, however some
+ * demo or application-specific configuration settings (such as the output format in the AudioOut demo) are located in one or
+ * more of the source files of the project. See each project's individual documentation for application-specific configuration
+ * values.
+ *
+ * Each project "makefile" contains all the script and configuration data required to compile each project. When opened with
+ * any regular basic text editor such as Notepad or WordPad (ensure that the save format is a pure ASCII text format) the
+ * build configuration settings may be altered.
+ *
+ * Inside each makefile, a number of configuration variables are located, with the format "<VARIABLE NAME> = <VALUE>". For
+ * each application, the important variables which should be altered are:
+ *
+ * - <b>MCU</b>, the target AVR processor
+ * - <b>BOARD</b>, the target board hardware
+ * - <b>F_CLOCK</b>, the target raw master clock frequency, before any prescaling is performed
+ * - <b>F_CPU</b>, the target AVR CPU master clock frequency, after any prescaling
+ * - <b>CDEFS</b>, the C preprocessor defines which configure options the source code
+ * - <b>LUFA_PATH</b>, the path to the LUFA library source code
+ * - <b>LUFA_OPTS</b>, the compile time LUFA options which configure the library features
+ *
+ * These values should be changed to reflect the build hardware.
+ *
+ * \section Sec_MCU The MCU Parameter
+ * This parameter indicates the target AVR model for the compiled application. This should be set to the model of the target AVR
+ * (such as the AT90USB1287, or the ATMEGA32U4), in all lower-case (e.g. "at90usb1287"). Note that not all demos support all the
+ * USB AVR models, as they may make use of peripherals or modes only present in some devices.
+ *
+ * For supported processor models, see \ref Page_DeviceSupport.
+ *
+ * \section Sec_BOARD The BOARD Parameter
+ * This parameter indicates the target AVR board hardware for the compiled application. Some LUFA library drivers are board-specific,
+ * such as the LED driver, and the library needs to know the layout of the target board. If you are using one of the board models listed
+ * on the main library page, change this parameter to the board name in all UPPER-case.
+ *
+ * If you are not using any board-specific drivers in the LUFA library, or you are using a custom board layout, change this to read
+ * "USER" (no quotes) instead of a standard board name. If the USER board type is selected and the application makes use of one or more
+ * board-specific hardware drivers inside the LUFA library, then the appropriate stub drives files should be copied from the /BoardStubs/
+ * directory into a /Board/ folder inside the application directory, and the stub driver completed with the appropriate code to drive the
+ * custom board's hardware.
+ *
+ * For boards with built in hardware driver support within the LUFA library, see \ref Page_DeviceSupport.
+ *
+ * \section Sec_F_CLOCK The F_CLOCK Parameter
+ * This parameter indicates the target AVR's input clock frequency, in Hz. This is the actual clock input, before any prescaling is performed. In the
+ * USB AVR architecture, the input clock before any prescaling is fed directly to the PLL subsystem, and thus the PLL is derived directly from the
+ * clock input. The PLL then feeds the USB and other sections of the AVR with the correct upscaled frequencies required for those sections to function.
+ *
+ * <b>Note that this value does not actually *alter* the AVR's input clock frequency</b>, it is just a way to indicate to the library the clock frequency
+ * of the AVR as set by the AVR's fuses. If this value does not reflect the actual running frequency of the AVR, incorrect operation of one of more
+ * library components will occur.
+ *
+ * \section Sec_F_CPU The F_CPU Parameter
+ * This parameter indicates the target AVR's master CPU clock frequency, in Hz.
+ *
+ * <b>Note that this value does not actually *alter* the AVR's CPU clock frequency</b>, it is just a way to indicate to the library the clock frequency
+ * of the AVR core as set by the AVR's fuses. If this value does not reflect the actual running frequency of the AVR, incorrect operation of one of more
+ * library components will occur.
+ *
+ * \section Sec_CDEFS The CDEFS Parameter
+ * Many applications have features which can be controlled by the defining of specially named preprocessor tokens at the point of compilation - for example,
+ * an application might use a compile time token to turn on or off optional or mutually exclusive portions of code. Preprocessor tokens can be
+ * defined here by listing each one with the -D command line switch, and each token can optionally be defined to a specific value. When defined in the
+ * project makefile, these behave as if they were defined in every source file via a normal preprocessor define statement.
+ *
+ * Most applications will actually have multiple CDEF lines, which are concatenated together with the "+=" operator. This ensures that large
+ * numbers of configuration options remain readable by splitting up groups of options into separate lines.
+ *
+ * \section Sec_LUFA_PATH The LUFA_PATH Parameter
+ * As each LUFA program requires the LUFA library source code to compile correctly, the application must know where the LUFA library is located. This
+ * value specifies the path to the LUFA library base relative to the path of the project makefile.
+ *
+ * \section Sec_LUFA_OPTS The LUFA_OPTS Parameter
+ * This value is similar to the CDEFS parameter listed elsewhere -- indeed, it is simply a convenient place to group LUFA related tokens away from the
+ * application's compile time tokens. Normally, these options do not need to be altered to allow an application to compile and run correctly on a
+ * different board or AVR to the current configuration - if the options are incorrect, then the demo is most likely incompatible with the chosen USB AVR
+ * model and cannot be made to function through the altering of the makefile settings alone (or at all). Settings such as the USB mode (device, host or both),
+ * the USB interface speed (Low or Full speed) and other LUFA configuration options can be set here - see \ref Page_TokenSummary documentation for details
+ * on the available LUFA compile time configuration options.
+ */
diff --git a/firmware/LUFA/ManPages/DevelopingWithLUFA.txt b/firmware/LUFA/ManPages/DevelopingWithLUFA.txt
new file mode 100644
index 0000000..1b73fa6
--- /dev/null
+++ b/firmware/LUFA/ManPages/DevelopingWithLUFA.txt
@@ -0,0 +1,21 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/**
+ * \page Page_DevelopingWithLUFA Developing With LUFA
+ *
+ * This section of the manual contains information on LUFA development, such as Getting Started information,
+ * information on compile-time tuning of the library and other developer-related sections.
+ *
+ * <b>Subsections:</b>
+ * \li \subpage Page_TokenSummary - Summary of Compile Time Tokens
+ * \li \subpage Page_Migration - Migrating from an Older LUFA Version
+ * \li \subpage Page_VIDPID - Allocated USB VID and PID Values
+ * \li \subpage Page_BuildLibrary - Building as a Linkable Library
+ * \li \subpage Page_WritingBoardDrivers - How to Write Custom Board Drivers
+ * \li \subpage Page_SoftwareBootloaderStart - How to jump to the bootloader in software
+ */
+
diff --git a/firmware/LUFA/ManPages/DeviceSupport.txt b/firmware/LUFA/ManPages/DeviceSupport.txt
new file mode 100644
index 0000000..157b8c6
--- /dev/null
+++ b/firmware/LUFA/ManPages/DeviceSupport.txt
@@ -0,0 +1,51 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/**
+ * \page Page_DeviceSupport Device and Hardware Support
+ *
+ * Currently supported AVR models:
+ * - AT90USB82 (USB Device Only)
+ * - ATMEGA8U2 (USB Device Only)
+ * - AT90USB162 (USB Device Only)
+ * - ATMEGA16U2 (USB Device Only)
+ * - ATMEGA16U4 (USB Device Only)
+ * - ATMEGA32U2 (USB Device Only)
+ * - ATMEGA32U4 (USB Device Only)
+ * - ATMEGA32U6 (USB Device Only)
+ * - AT90USB646 (USB Device Only)
+ * - AT90USB647 (USB Host and Device)
+ * - AT90USB1286 (USB Device Only)
+ * - AT90USB1287 (USB Host and Device)
+ *
+ * Currently supported Atmel boards (see \ref Group_BoardTypes):
+ * - AT90USBKEY
+ * - ATAVRUSBRF01
+ * - EVK527
+ * - RZUSBSTICK
+ * - STK525
+ * - STK526
+ * - XPLAIN (Both original first revision board, and newer boards with a different Dataflash model)
+ *
+ * Currently supported third-party boards (see \ref Group_BoardTypes for makefile BOARD constant names):
+ * - Adafruit U4 Breakout Board
+ * - Arduino Uno
+ * - Busware BUI
+ * - Busware CUL V3
+ * - Fletchtronics Bumble-B (using officially recommended peripheral layout)
+ * - Kernel Concepts USBFOO
+ * - Linnix UDIP
+ * - MattairTech JM-DB-U2
+ * - Maximus USB
+ * - Minimus USB
+ * - Olimex AVR-USB-162
+ * - PJRC Teensy (all revisions and versions)
+ * - TCNISO Blackcat USB JTAG
+ * - Tempusdictum Benito
+ * - Tom's USBTINY-MKII (all revisions and versions)
+ * - Any Other Custom User Boards (with Board Drivers if desired, see \ref Page_WritingBoardDrivers)
+ */
+
diff --git a/firmware/LUFA/ManPages/DirectorySummaries.txt b/firmware/LUFA/ManPages/DirectorySummaries.txt
new file mode 100644
index 0000000..d4b862b
--- /dev/null
+++ b/firmware/LUFA/ManPages/DirectorySummaries.txt
@@ -0,0 +1,192 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/** \dir LUFA/Common
+ * \brief Common library header files.
+ *
+ * This folder contains header files which are common to all parts of the LUFA library. They may be used freely in
+ * user applications.
+ *
+ * \dir LUFA/Drivers
+ * \brief Library hardware and software drivers.
+ *
+ * This folder contains all the library hardware and software drivers for each supported board and USB AVR
+ * microcontroller model.
+ *
+ * \dir LUFA/Drivers/Misc
+ * \brief Miscellaneous driver files.
+ *
+ * This folder contains drivers for aspects other than the USB interface, board hardware or AVR peripherals.
+ *
+ * \dir LUFA/Drivers/Peripheral
+ * \brief USB AVR peripheral driver files.
+ *
+ * This folder contains drivers for several of the AVR internal peripherals such as the USART, compatible with
+ * all USB AVR models.
+ *
+ * \dir LUFA/Drivers/Peripheral/AVRU4U6U7
+ * \brief AT90USBXXX6, AT90USBXXX7 and ATMEGAXXU4 AVR model peripheral driver files.
+ *
+ * This folder contains drivers for several of the AVR internal peripherals such as the USART, compatible only with
+ * the AT90USBXXX6, AT90USBXXX7 and ATMEGAXXU4 USB AVR models, such as the AT90USB1287. Its contents should <b>not</b> be
+ * included by the user application - the dispatch header file located in the parent directory should be used
+ * instead.
+ *
+ * \dir LUFA/Drivers/USB
+ * \brief USB controller peripheral driver files.
+ *
+ * This folder contains the main header files required to implement the USB interface in the USB supporting AVR models.
+ * The header files contained directly in this folder should be included in the user application in order to gain USB
+ * functionality, and the appropriate C source files in the LowLevel and HighLevel driver folders added to the compile
+ * and link stages.
+ *
+ * \dir LUFA/Drivers/USB/LowLevel
+ * \brief Low level USB driver files.
+ *
+ * This folder contains low level USB driver source files required to implement USB functionality on the USB AVR microcontrollers.
+ *
+ * \dir LUFA/Drivers/USB/HighLevel
+ * \brief High level USB driver files.
+ *
+ * This folder contains high level USB driver source files required to implement USB functionality on the USB AVR microcontrollers.
+ *
+ * \dir LUFA/Drivers/USB/Class
+ * \brief USB Class helper driver files.
+ *
+ * This folder contains drivers for implementing functionality of standardized USB classes. These are not used directly by the library,
+ * but provide a standard and library-maintained way of implementing functionality from some of the defined USB classes without extensive
+ * development effort. Is is recommended that these drivers be used where possible to reduce maintenance of user applications.
+ *
+ * \dir LUFA/Drivers/USB/Class/Device
+ * \brief USB Device Class helper driver files.
+ *
+ * Device mode drivers for the standard USB classes.
+ *
+ * \dir LUFA/Drivers/USB/Class/Host
+ * \brief USB Host Class helper driver files.
+ *
+ * Host mode drivers for the standard USB classes.
+ *
+ * \dir LUFA/Drivers/Board
+ * \brief Board hardware driver files.
+ *
+ * This folder contains drivers for interfacing with the physical hardware on supported commercial boards, primarily from
+ * the Atmel corporation. Header files in this folder should be included in user applications requiring the functionality of
+ * hardware placed on supported boards.
+ *
+ * \dir LUFA/Drivers/Board/USBKEY
+ * \brief USBKEY board hardware driver files.
+ *
+ * This folder contains drivers for hardware on the Atmel USBKEY demonstration board. The header files in this folder should
+ * not be included directly in user applications; the similarly named dispatch header files located in the parent Board directory
+ * should be included instead.
+ *
+ * \dir LUFA/Drivers/Board/STK526
+ * \brief STK526 board hardware driver files.
+ *
+ * This folder contains drivers for hardware on the Atmel STK526 development board. The header files in this folder should
+ * not be included directly in user applications; the similarly named dispatch header files located in the parent Board directory
+ * should be included instead.
+ *
+ * \dir LUFA/Drivers/Board/STK525
+ * \brief STK525 board hardware driver files.
+ *
+ * This folder contains drivers for hardware on the Atmel STK525 development board. The header files in this folder should
+ * not be included directly in user applications; the similarly named dispatch header files located in the parent Board directory
+ * should be included instead.
+ *
+ * \dir LUFA/Drivers/Board/RZUSBSTICK
+ * \brief RZUSBSTICK board hardware driver files.
+ *
+ * This folder contains drivers for hardware on the Atmel RZUSBSTICK board, as used in the Atmel "Raven" wireless kits. The header
+ * files in this folder should not be included directly in user applications; the similarly named dispatch header files located in
+ * the parent Board directory should be included instead.
+ *
+ * \dir LUFA/Drivers/Board/ATAVRUSBRF01
+ * \brief ATAVRUSBRF01 board hardware driver files.
+ *
+ * This folder contains drivers for hardware on the Atmel ATAVRUSBRF01 board, as used in several Atmel wireless demo kits. The header
+ * files in this folder should not be included directly in user applications; the similarly named dispatch header files located in
+ * the parent Board directory should be included instead.
+ *
+ * \dir LUFA/Drivers/Board/BUMBLEB
+ * \brief BUMBLEB board hardware driver files.
+ *
+ * This folder contains drivers for hardware on the Fletchtronics Bumble-B board (http://fletchtronics.net/bumble-b). The header
+ * files in this folder should not be included directly in user applications; the similarly named dispatch header files located in
+ * the parent Board directory should be included instead.
+ *
+ * \dir LUFA/Drivers/Board/XPLAIN
+ * \brief XPLAIN board hardware driver files.
+ *
+ * This folder contains drivers for hardware on the Atmel XPLAIN board (all hardware revisions). The header files in this folder
+ * should not be included directly in user applications; the similarly named dispatch header files located in the parent Board
+ * directory should be included instead.
+ *
+ * \dir LUFA/Drivers/Board/EVK527
+ * \brief XPLAIN board hardware driver files.
+ *
+ * This folder contains drivers for hardware on the Atmel EVK527 development board. The header files in this folder should
+ * not be included directly in user applications; the similarly named dispatch header files located in the parent Board directory
+ * should be included instead.
+ *
+ * \dir LUFA/Drivers/Board/TEENSY
+ * \brief TEENSY board hardware driver files.
+ *
+ * This folder contains drivers for hardware on all revisions of the PJRC Teensy boards (http://www.pjrc.com/teensy/). The header
+ * files in this folder should not be included directly in user applications; the similarly named dispatch header files located
+ * in the parent Board directory should be included instead.
+ *
+ * \dir LUFA/Drivers/Board/USBTINYMKII
+ * \brief USBTINY-MKII board hardware driver files.
+ *
+ * This folder contains drivers for hardware on all revisions of the USBTINY-MKII boards (http://tom-itx.dyndns.org:81/~webpage/).
+ * The header files in this folder should not be included directly in user applications; the similarly named dispatch header files
+ * located in the parent Board directory should be included instead.
+ *
+ * \dir LUFA/Drivers/Board/BENITO
+ * \brief BENITO board hardware driver files.
+ *
+ * This folder contains drivers for hardware on the Benito boards (http://dorkbotpdx.org/wiki/benito). The header files in this
+ * folder should not be included directly in user applications; the similarly named dispatch header files located in the parent
+ * Board directory should be included instead.
+ *
+ * \dir LUFA/Drivers/Board/JMDBU2
+ * \brief JM-DB-U2 board hardware driver files.
+ *
+ * This folder contains drivers for hardware on the JM-DB-U2 boards (http://u2.mattair.net/). The header files in this folder
+ * should not be included directly in user applications; the similarly named dispatch header files located in the parent Board
+ * directory should be included instead.
+ *
+ * \dir LUFA/Drivers/Board/OLIMEX162
+ * \brief Olimex USB-STK-162 board hardware driver files.
+ *
+ * This folder contains drivers for hardware on the Olimex AVR-USB-162 boards (http://www.olimex.com/dev/avr-usb-162.html).
+ * The header files in this folder should not be included directly in user applications; the similarly named dispatch header files
+ * located in the parent Board directory should be included instead.
+ *
+ * \dir LUFA/Drivers/Board/USBFOO
+ * \brief USBFOO board hardware driver files.
+ *
+ * This folder contains drivers for hardware on the USBFOO boards (http://shop.kernelconcepts.de/product_info.php?products_id=102).
+ * The header files in this folder should not be included directly in user applications; the similarly named dispatch header files
+ * located in the parent Board directory should be included instead.
+ *
+ * \dir LUFA/CodeTemplates
+ * \brief Code templates for use in LUFA powered applications.
+ *
+ * This contains code templates for board drivers, sample LUFA project makefiles and other similar templates that can be copied into
+ * a LUFA powered application and modified to speed up development.
+ *
+ * \dir LUFA/CodeTemplates/DriverStubs
+ * \brief Driver stub header files for custom boards, to allow the LUFA board drivers to operate.
+ *
+ * This contains stub files for the LUFA board drivers. If the LUFA board drivers are used with board hardware other than those
+ * directly supported by the library, the BOARD parameter of the application's makefile can be set to "USER", and these stub files
+ * copied to the "/Board/" directory of the application's folder. When fleshed out with working driver code for the custom board,
+ * the corresponding LUFA board APIs will work correctly with the non-standard board hardware.
+ */
+
diff --git a/firmware/LUFA/ManPages/Donating.txt b/firmware/LUFA/ManPages/Donating.txt
new file mode 100644
index 0000000..9538982
--- /dev/null
+++ b/firmware/LUFA/ManPages/Donating.txt
@@ -0,0 +1,24 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/**
+ * \page Page_Donating Donating to Support This Project
+ *
+ * \image html Author.jpg "Dean Camera, LUFA Developer"
+ *
+ * I am a 21 year old University student studying for a double degree in Computer Science and Electronics Engineering.
+ * The development and support of this library requires much effort from myself, as I am the sole developer, maintainer
+ * and supporter. Please consider donating a small amount to support this and my future Open Source projects - All
+ * donations are <i>greatly</i> appreciated.
+ *
+ * Note that commercial entities can remove the attribution portion of the LUFA license by a one-time fee - see
+ * \ref Page_LicenseInfo for more details (<b>Note: Please do NOT pay this in advance through the donation link below -
+ * contact author for payment details.</b>).
+ *
+ * \image html "http://www.pledgie.com/campaigns/6927.png?skin_name=chrome"
+ * <a href='http://www.pledgie.com/campaigns/6927'>Donate to this project via PayPal</a> - Thanks in Advance!
+ */
+
diff --git a/firmware/LUFA/ManPages/FutureChanges.txt b/firmware/LUFA/ManPages/FutureChanges.txt
new file mode 100644
index 0000000..bfe1528
--- /dev/null
+++ b/firmware/LUFA/ManPages/FutureChanges.txt
@@ -0,0 +1,42 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+ /** \page Page_FutureChanges Future Changes
+ *
+ * Below is a list of future changes which are proposed for the LUFA library, but not yet started/complete.
+ * This gives an unordered list of future changes which may be available in future releases of the library.
+ * If you have an item to add to this list, please contact the library author via email, the LUFA mailing list,
+ * or post your suggestion as an enhancement request to the project bug tracker.
+ *
+ * <b>Targeted for Future Releases:</b>
+ * - Code Features
+ * -# Add hub support when in Host mode for multiple devices
+ * -# Investigate virtual hubs when in device mode instead of composite devices
+ * -# Add ability to get number of bytes not written with pipe/endpoint write routines after an error
+ * -# Change makefiles to allow for absolute LUFA location to be used
+ * -# Re-add interrupt Pipe/Endpoint support
+ * -# Add HID report macros to make HID report editing easier
+ * -# Investigate dynamically created device descriptors
+ * - Documentation/Support
+ * -# Add detailed overviews of how each demo works
+ * -# Add board overviews
+ * -# Write LUFA tutorials
+ * - Demos/Projects
+ * -# Multiple-Report HID device
+ * -# Device/Host USB bridge
+ * -# Alternative (USB-IF endorsed) USB-CDC Ethernet Class
+ * -# Finish Test and Measurement Class demo
+ * -# Finish BluetoothHost demo
+ * -# Finish SideShow demo
+ * -# Finish StandaloneProgrammer project
+ * -# Arduino Uno compatible USB-MIDI, USB-HID
+ * -# Make Webserver project work in RNDIS device mode
+ * - Ports
+ * -# AVR32 UC3B series microcontrollers
+ * -# Atmel ARM7 series microcontrollers
+ * -# Other (commercial) C compilers
+ */
+
diff --git a/firmware/LUFA/ManPages/GettingStarted.txt b/firmware/LUFA/ManPages/GettingStarted.txt
new file mode 100644
index 0000000..cc936ab
--- /dev/null
+++ b/firmware/LUFA/ManPages/GettingStarted.txt
@@ -0,0 +1,27 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/** \page Page_GettingStarted Getting Started
+ *
+ * Out of the box, LUFA contains a large number of pre-made class demos for you to test, experiment with and
+ * ultimately build upon for your own projects. All the demos (where possible) come pre-configured to build and
+ * run correctly on the AT90USB1287 AVR microcontroller, mounted on the Atmel USBKEY board and running at an 8MHz
+ * master clock. This is due to two reasons; one, it is the hardware the author possesses, and two, it is the most
+ * popular Atmel USB demonstration board to date. To learn how to reconfigure, recompile and program the included
+ * LUFA applications using different settings, see the subsections below.
+ *
+ * Most of the included demos in the /Demos/ folder come in both ClassDriver and LowLevel varieties. If you are new
+ * to LUFA, it is highly recommended that you look at the ClassDriver versions first, which use the pre-made USB
+ * Class Drivers (\ref Group_USBClassDrivers) to simplify the use of the standard USB classes in user applications.
+ *
+ * For an overview of the included library applications, bootloaders and demos, see \ref Page_LibraryApps.
+ *
+ * <b>Subsections:</b>
+ * \li \subpage Page_ConfiguringApps - How to Configure the Included Demos, Projects and Bootloaders
+ * \li \subpage Page_CompilingApps - How to Compile the Included Demos, Projects and Bootloaders
+ * \li \subpage Page_ProgrammingApps - How to Program an AVR with the Included Demos, Projects and Bootloaders
+ */
+
diff --git a/firmware/LUFA/ManPages/Groups.txt b/firmware/LUFA/ManPages/Groups.txt
new file mode 100644
index 0000000..c1c4a43
--- /dev/null
+++ b/firmware/LUFA/ManPages/Groups.txt
@@ -0,0 +1,21 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/** @defgroup Group_BoardDrivers Board Drivers
+ *
+ * Functions, macros, variables, enums and types related to the control of physical board hardware.
+ */
+
+/** @defgroup Group_PeripheralDrivers On-chip Peripheral Drivers
+ *
+ * Functions, macros, variables, enums and types related to the control of AVR subsystems.
+ */
+
+/** @defgroup Group_MiscDrivers Miscellaneous Drivers
+ *
+ * Miscellaneous driver Functions, macros, variables, enums and types.
+ */
+
diff --git a/firmware/LUFA/ManPages/LUFA.png b/firmware/LUFA/ManPages/LUFA.png
new file mode 100644
index 0000000..54fa1a6
--- /dev/null
+++ b/firmware/LUFA/ManPages/LUFA.png
Binary files differ
diff --git a/firmware/LUFA/ManPages/LUFAPoweredProjects.txt b/firmware/LUFA/ManPages/LUFAPoweredProjects.txt
new file mode 100644
index 0000000..17fbfd4
--- /dev/null
+++ b/firmware/LUFA/ManPages/LUFAPoweredProjects.txt
@@ -0,0 +1,95 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/** \page Page_LUFAPoweredProjects User Projects Powered by LUFA
+ *
+ * LUFA is currently in use all around the world, in many applications both commercial and non-commercial. Below is a
+ * list of known public LUFA powered projects, which all use the LUFA library in some way. Feel free to visit each project's
+ * home page for more information on each project.
+ *
+ * If you have a project that you would like to add to this list, please contact me via the details on the main page of this
+ * documentation.
+ *
+ * \section Sec_BoardsUsingLUFA AVR-USB Development Boards Using LUFA
+ *
+ * The following is a list of known AVR USB development boards, which recommend using LUFA for the USB stack. Some of these
+ * are open design, and all are available for purchase as completed development boards suitable for project development.
+ *
+ * - AVR-USB-162, a USBKEY-like development board for the AT90USB162: http://olimex.com/dev/avr-usb-162.html
+ * - Benito #7, a no-frills USB board: http://www.dorkbotpdx.org/wiki/benito
+ * - JM-DB-U2, an ATMEGA32U2 development board: http://u2.mattair.net/index.html
+ * - Micropendous, an open design/source set of AVR USB development boards: http://micropendous.org/
+ * - Microsin AVR-USB162 breakout board, a DIY AT90USB162 development board: http://microsin.ru/content/view/685/44/
+ * - Minimus USB, a board specially designed for PSGroove: http://www.minimususb.com/
+ * - Nanduino, a do-it-yourself AT90USB162 board: http://www.makestuff.eu/wordpress/?page_id=569
+ * - Teensy and Teensy++, two other AVR USB development boards: http://www.pjrc.com/teensy/index.html
+ * - U2DIL/U4DIL, a set of DIP layout USB AVR boards: http://www.reworld.eu/re/en/products/u2dil/
+ * - USBFOO 2, AT90USB162 based development board: http://shop.kernelconcepts.de/product_info.php?products_id=102
+ *
+ * \section Sec_LUFAProjects Projects Using LUFA (Hobbyist)
+ *
+ * The following are known hobbyist projects using LUFA. Most are open source, and show off interesting ways that the LUFA library
+ * can be incorporated into many different applications.
+ *
+ * - Accelerometer Game Joystick: http://www.crictor.co.il/he/episodes/joystick/
+ * - Arcade Controller: http://fletchtronics.net/arcade-controller-made-petunia
+ * - AVR USB Modem, a 3G Wireless Modem host: http://code.google.com/p/avrusbmodem/
+ * - Bicycle POV: http://www.code.google.com/p/bicycleledpov/
+ * - Bus Ninja, an AVR clone of the popular BusPirate project: http://blog.hodgepig.org/busninja/
+ * - CAMTRIG, a remote Camera Trigger device: http://code.astraw.com/projects/motmot/camtrig
+ * - CD Driver Emulator Dongle for ISO Files: http://cdemu.blogspot.com/
+ * - ClockTamer, a configurable clock generator: http://code.google.com/p/clock-tamer/
+ * - EMUCOMBOX, a USB-RS422 adapter for E-Mu Emax samplers: http://users.skynet.be/emxp/EMUCOMBOX.htm
+ * - Estick JTAG, an ARM JTAG debugger: http://code.google.com/p/estick-jtag/
+ * - "Fingerlicking Wingdinger" (WARNING: Bad Language if no Javascript), a MIDI controller: http://noisybox.net/electronics/wingdinger/
+ * - Garmin GPS USB to NMEA standard serial sentence translator: http://github.com/nall/garmin-transmogrifier/tree/master
+ * - Generic HID Device Creator: http://generichid.sourceforge.net/
+ * - Ghetto Drum, a MIDI drum controller: http://noisybox.net/art/gdrum/
+ * - IR Remote to Keyboard decoder: http://netzhansa.blogspot.com/2010/04/our-living-room-hi-fi-setup-needs-mp3.html
+ * - LED Panel controller: http://projects.peterpolidoro.net/caltech/panelscontroller/panelscontroller.htm
+ * - PSGroove, a Playstation 3 Homebrew dongle: http://github.com/psgroove
+ * - Single LED Matrix Display: http://guysoft.wordpress.com/2009/10/08/bumble-b/
+ * - Linux Secure Storage Dongle: http://github.com/TomMD/teensy
+ * - MakeTV Episode Dispenser: http://www.youtube.com/watch?v=BkWUi18hl3g
+ * - MidiMonster, a USB-to-MIDI gateway board: http://www.dorkbotpdx.org/wiki/midimonster
+ * - Mobo 4.3, a USB controlled all band (160-10m) HF SDR transceiver: http://sites.google.com/site/lofturj/mobo4_3
+ * - NES Controller USB modification: http://projects.peterpolidoro.net/video/NESUSB.htm
+ * - Opendous-JTAG, an open source ARM JTAG debugger: http://code.google.com/p/opendous-jtag/
+ * - Openkubus, an open source hardware-based authentication dongle: http://code.google.com/p/openkubus/
+ * - Orbee, a USB connected RGB Orb for notifications: http://www.franksworkshop.com.au/Electronics/Orbee/Orbee.htm
+ * - Programmable XBOX controller: http://richard-burke.dyndns.org/wordpress/pan-galactic-gargantuan-gargle-brain-aka-xbox-360-usb-controller/
+ * - Reprap with LUFA, a LUFA powered 3D printer: http://code.google.com/p/at90usb1287-code-for-arduino-and-eclipse/
+ * - SD Card reader: http://elasticsheep.com/2010/04/teensy2-usb-mass-storage-with-an-sd-card/
+ * - SEGA Megadrive/Genesis Development Cartridge: http://www.makestuff.eu/wordpress/?page_id=398
+ * - Stripe Snoop, a Magnetic Card reader: http://www.ossguy.com/ss_usb/
+ * - Teensy SD Card .WAV file player: http://elasticsheep.com/2010/04/teensy2-usb-wav-player-part-1/
+ * - Touchscreen Input Device: http://capnstech.blogspot.com/2010/07/touchscreen-update.html
+ * - USB Interface for Playstation Portable Devices: http://forums.ps2dev.org/viewtopic.php?t=11001
+ * - Userial, a USB to Serial converter with SPI, I2C and other protocols: http://www.tty1.net/userial/
+ * - XUM1541, a Commodore 64 floppy drive to USB adapter: http://www.root.org/~nate/c64/xum1541/
+ *
+ * \section Sec_LUFACommercialProjects Projects Using LUFA (Commercial)
+ *
+ * The following is a list of known commercial products using LUFA. Some of these are open source, although many are "black-box"
+ * solutions with no source code given.
+ *
+ * - Arduino Uno, the official Arduino board: www.arduino.cc
+ * - ARPS Locator: http://la3t.hamradio.no/lab//?id=tracker_en
+ * - Digital Survey Instruments Magnetometer and Pointer: http://www.digitalsurveyinstruments.com/
+ * - Penguino, an Arduino Board With On-Board LUFA Powered Debugger/Programmer: http://wiki.icy.com.au/PenguinoAVR
+ * - PIR-1, an IR control interface for consumer electronics: http://www.promixis.com/pir-1.php
+ * - Many of Busware's Products: http://www.busware.de/
+ * - MIDIFighter, a USB-MIDI controller: http://www.midifighter.com/
+ * - Retrode, a USB Games Console Cartridge Reader: http://www.retrode.org
+ * - USBTINY-MKII, an AVRISP-MKII Clone AVR Programmer: http://tom-itx.dyndns.org:81/~webpage/boards/USBTiny_Mkii/USBTiny_Mkii_index.php
+ * - XMEGA Development Board, using LUFA as an On-Board Programmer: http://xmega.mattair.net/
+ *
+ * \section Sec_LUFAPublications Publications Mentioning LUFA
+ * - Elektor Magazine, "My First AVR-USB" by Antoine Authier (feature), January 2010 Issue
+ * - Elektor Magazine, "USB is Cool/Sucks" by Jerry Jacobs and Chris Vossen (minor mention), January 2010 Issue
+ * - Elektor Magazine, "20 x Open Source" by Jens Nickel, March 2010 Issue
+ * - Circuit Cellar Magazine, "Advanced USB Design Debugging" by Collin O'Flynn, August 2010 Issue
+ */
diff --git a/firmware/LUFA/ManPages/LUFAvsAtmelStack.txt b/firmware/LUFA/ManPages/LUFAvsAtmelStack.txt
new file mode 100644
index 0000000..97035b5
--- /dev/null
+++ b/firmware/LUFA/ManPages/LUFAvsAtmelStack.txt
@@ -0,0 +1,46 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/**
+ * \page Page_LUFAvsAtmelStack LUFA vs the Atmel Stack
+ *
+ * Atmel offers an official USB AVR stack, which may be incorporated into user projects and products. As LUFA and the Atmel
+ * stack aims to give roughly the same functionality to a design, it is often asked what advantages LUFA carries over the
+ * official Atmel USB stack. Below are just some of the advantages to choosing LUFA over the official stack.
+ *
+ * - <b>Licensing:</b>
+ * LUFA is released under a very permissive MIT license (see \ref Page_LicenseInfo), while the Atmel stack carries several
+ * restrictions as to how and where it can be used. LUFA's licensing should be suitable for both Commercial and Non-Commercial
+ * entities alike.
+ *
+ * - <b>Demos and Projects:</b>
+ * Unlike the Atmel stack, LUFA comes with many different Device and Host mode Demos and Projects ready to run out of the box.
+ * Atmel favors separate downloads for each of their (small set) of USB AVR demos, which requires more time and offers less
+ * to the end-user. LUFA also contains several open source Bootloaders, which can be modified as the user wishes to suit his or
+ * her application, instead of being forced to use Atmel's single prebuilt (closed-source) DFU bootloader.
+ *
+ * - <b>Central Library Code:</b>
+ * LUFA is designed to allow the central library core code to be shared amongst several projects, so long as the compiled object
+ * files are cleaned between different projects. This is in direct contrast to the Atmel library, which is strongly coupled to the
+ * project it is integrated with. Using LUFA allows for only one copy of the library core to be needed for all applications, and
+ * makes updating the library used in all projects a trivial copy-and-paste process.
+ *
+ * - <b>Clean API:</b>
+ * One of the main design goals of LUFA is to make the API easy to use. While LUFA is a fluid project which has undergone many
+ * API improvements, the API is arguably much nicer to use and easier to understand than the equivalent Atmel stack code. LUFA's
+ * API is also more complete than the Atmel stack, and contains many features to speed up application development.
+ *
+ * - <b>Full Hardware Support:</b>
+ * LUFA supports the full range of Atmel's USB AVR microcontrollers (see \ref Page_DeviceSupport), with porting between chips being
+ * as simple as a single compile switch in many cases. Atmel's stack requires different libraries to be used based on the USB AVR
+ * microcontroller series, complicating the process of moving between USB AVR models. In addition, LUFA contains drivers for all the
+ * hardware contained on Atmel's USB AVR based boards, so you can get started quickly and easily.
+ *
+ * - <b>Better Library Support:</b>
+ * As many people are now using LUFA, there is a community being built around it. You can get answers to your LUFA related questions
+ * quickly by either emailing the library author (subject to author's schedule) or by posting to the official LUFA support mailing list.
+ */
+
diff --git a/firmware/LUFA/ManPages/LibraryApps.txt b/firmware/LUFA/ManPages/LibraryApps.txt
new file mode 100644
index 0000000..1de0ea7
--- /dev/null
+++ b/firmware/LUFA/ManPages/LibraryApps.txt
@@ -0,0 +1,116 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/** \page Page_LibraryApps Included Library Applications
+ *
+ * The LUFA library ships with several different host and device demos, located in the /Demos/ subdirectory. Within this
+ * directory the demos are separated by USB mode (Device, Host, OTG) and further separated by the use or non-use of the
+ * library USB Class drivers (which abstract out the actual implementation of the USB classes to simplify development even
+ * further at the expense of a loss of flexibility).
+ *
+ * With one or two exceptions (e.g. proprietary classes such as RNDIS) all the included demos will work across all OSes without
+ * the need for special drivers. On Windows, some demos require the supplied .INF file to be used as the device driver, which
+ * directs the OS to use its inbuilt class drivers for the device.
+ *
+ * Also included with the library are two fully functional bootloaders, located in the /Bootloaders/ subdirectory.
+ * The DFU class bootloader is compatible with Atmel's FLIP software or the open source dfu-programmer project, while
+ * the CDC class (AVR109 protocol) is compatible with such open source software as AVRDUDE and AVR-OSP.
+ *
+ * User-submitted projects are located in the /Projects/ subdirectory. If you wish to have your LUFA project included,
+ * please email it to the Library author.
+ *
+ * \section Sec_AppOverview Overview of Included Library Applications
+ * The following shows the folder structure of the included library applications, including demos, bootloaders and user-submitted
+ * open source projects.
+ *
+ * <small>
+ *
+ * - <b>Demos</b>
+ * - <b>Device</b>
+ * - <b>ClassDriver</b>
+ * - <b>AudioInput</b> - Audio In (microphone) demo, using the library USB Audio Class driver framework
+ * - <b>AudioOutput</b> - Audio Out (speaker) demo, using the library USB Audio Class driver framework
+ * - <b>DualVirtualSerial</b> - Dual Virtual Serial Port demo, using the library USB CDC Class driver framework
+ * - <b>GenericHID</b> - Generic Human Interface Class demo, using the library USB HID Class driver framework
+ * - <b>Joystick</b> - USB Joystick demo, using the library USB HID Class driver framework
+ * - <b>Keyboard</b> - USB Keyboard demo, using the library USB HID Class driver framework
+ * - <b>KeyboardMouse</b> - Dual Keyboard/Mouse demo, using the library USB HID Class driver framework
+ * - <b>MassStorage</b> - Dual Drive Mass Storage demo, using the library USB Mass Storage Class driver framework
+ * - <b>MassStorageKeyboard</b> - Mass Storage and Keyboard demo, using the library USB Mass Storage/HID Class driver frameworks
+ * - <b>MIDI</b> - MIDI In demo, using the library USB MIDI-Audio Class driver framework
+ * - <b>Mouse</b> - USB Mouse demo, using the library USB HID driver framework
+ * - <b>RNDISEthernet</b> - RNDIS Ethernet Webserver demo, using the library USB RNDIS driver framework
+ * - <b>VirtualSerial</b> - Virtual Serial Port demo, using the library USB CDC Class driver framework
+ * - <b>VirtualSerialMouse</b> - Virtual Serial Port and Mouse demo, using the library USB CDC and HID Class driver frameworks
+ * - <b>LowLevel</b>
+ * - <b>AudioInput</b> - Audio In (microphone) demo, using the low level LUFA APIs to implement the USB Audio class
+ * - <b>AudioOutput</b> - Audio Out (speaker) demo, using the low level LUFA APIs to implement the USB Audio class
+ * - <b>DualVirtualSerial</b> - Dual Virtual Serial Port demo, using the low level LUFA APIs to implement the USB CDC class
+ * - <b>GenericHID</b> - Generic Human Interface Class demo, using the low level LUFA APIs to implement the USB HID class
+ * - <b>Joystick</b> - USB Joystick demo, using the low level LUFA APIs to implement the USB HID class
+ * - <b>Keyboard</b> - USB Keyboard demo, using the low level LUFA APIs to implement the USB HID class
+ * - <b>KeyboardMouse</b> - Dual Keyboard/Mouse demo, using the low level LUFA APIs to implement the USB HID class
+ * - <b>MassStorage</b> - Dual Drive Mass Storage demo, using the low level LUFA APIs to implement the USB Mass Storage class
+ * - <b>MIDI</b> - MIDI In demo, using the low level LUFA APIs to implement the USB MIDI-Audio class
+ * - <b>Mouse</b> - USB Mouse demo, using the low level LUFA APIs to implement the USB HID class
+ * - <b>RNDISEthernet</b> - RNDIS Ethernet Webserver demo, using the low level LUFA APIs to implement the USB RNDIS class
+ * - <b>VirtualSerial</b> - Virtual Serial Port demo, using the low level LUFA APIs to implement the USB CDC class
+ * - <b>Incomplete</b>
+ * - <b>SideShow</b> - Incomplete Windows SideShow demo, using the low level LUFA APIs to implement the USB SideShow class
+ * - <b>TestAndMeasurement</b> - Incomplete Test and Measurement demo, using the low level LUFA APIs to implement the USB Test and
+ * Measurement class
+ * - <b>Host</b>
+ * - <b>ClassDriver</b>
+ * - <b>JoystickHostWithParser</b> - Joystick host demo with HID Descriptor parser, using the library USB HID Class driver framework
+ * - <b>KeyboardHost</b> - USB Keyboard host demo, using the library USB HID Class driver framework
+ * - <b>KeyboardHostWithParser</b> - USB Keyboard host demo with HID Descriptor parser, using the library USB HID Class
+ * driver framework
+ * - <b>MassStorageHost</b> - Mass Storage host demo, using the library USB Mass Storage Class driver framework
+ * - <b>MouseHost</b> - Mouse host demo, using the library USB HID Class driver framework
+ * - <b>MouseHostWithParser</b> - Mouse host demo with HID Descriptor parser, using the library USB HID Class driver framework
+ * - <b>RNDISHost</b> - RNDIS Ethernet host demo, using the library USB RNDIS Class driver framework
+ * - <b>StillImageHost</b> - Still Image Camera host demo, using the library USB Still Image Class driver framework
+ * - <b>VirtualSerialHost</b> - Virtual Serial Port host demo, using the library USB CDC Class driver framework
+ * - <b>LowLevel</b>
+ * - <b>JoystickHostWithParser</b> - Joystick host demo with HID Descriptor parser, using the low level LUFA APIs to implement
+ * the USB HID class
+ * - <b>GenericHIDHost</b> - Generic HID host demo, using the low level LUFA APIs to implement the USB HID class
+ * - <b>KeyboardHost</b> - USB Keyboard host demo, using the low level LUFA APIs to implement the USB HID class
+ * - <b>KeyboardHostWithParser</b> - USB Keyboard host demo with HID Descriptor parser, using the low level LUFA APIs to
+ * implement the USB HID class
+ * - <b>MassStorageHost</b> - Mass Storage host demo, using the low level LUFA APIs to implement the USB Mass Storage class
+ * - <b>MouseHost</b> - Mouse host demo, using the low level LUFA APIs to implement the USB HID class
+ * - <b>MouseHostWithParser</b> - Mouse host demo with HID Descriptor parser, using the low level LUFA APIs to implement the
+ * USB HID class
+ * - <b>PrinterHost</b> - Printer host demo, using the low level LUFA APIs to implement the USB Printer class
+ * - <b>RNDISHost</b> - RNDIS Ethernet host demo, using the low level LUFA APIs to implement the RNDIS class
+ * - <b>StillImageHost</b> - Still Image Camera host demo, using the low level LUFA APIs to implement the USB Still Image class
+ * - <b>VirtualSerialHost</b> - Virtual Serial Port host demo, using the low level LUFA APIs to implement the USB CDC class
+ * - <b>Incomplete</b>
+ * - <b>BluetoothHost</b> - Incomplete Bluetooth host demo, using the low level LUFA APIs to implement the USB Bluetooth class
+ * - <b>DualRole</b>
+ * - <b>ClassDriver</b>
+ * - <b>MouseHostDevice</b> - Dual role Mouse Host and Mouse Device demo, using the library USB CDC Class driver framework
+ * - <b>Bootloaders</b>
+ * - <b>DFU</b> - DFU Class USB bootloader, compatible with Atmel's FLIP and the open source dfu-programmer software
+ * - <b>CDC</b> - CDC Class USB bootloader, compatible with any AVR910 protocol programming software such as AVRDude
+ * - <b>Projects</b>
+ * - <b>AVRISP-MKII</b> - AVRISP-MKII Programmer Clone project
+ * - <b>Benito</b> - Benito Board Arduino Programmer project
+ * - <b>LEDNotifier</b> - USB LED Notification project
+ * - <b>Magstripe</b> - Magnetic Stripe Card Reader project
+ * - <b>MissileLaucher</b> - Toy Missile Launcher Host project
+ * - <b>RelayBoard</b> - Relay board controller, controllable via the "sismpctl" Linux application
+ * - <b>TempDataLogger</b> - Temperature Datalogging project, using the FatFS library
+ * - <b>USBtoSerial</b> - USB to USART Serial Converter project
+ * - <b>Webserver</b> - RNDIS Host Webserver with DHCP client, powered by uIP TCP/IP stack project and FatFS library
+ * - <b>XPLAINBridge</b> - XPLAIN alternative PDI Programmer/USB to Serial Bridge firmware project
+ * - <b>Incomplete</b>
+ * - <b>StandaloneProgrammer</b> - Incomplete Standalone AVR Programmer application, to program AVRs directly from a Mass Storage disk
+ *
+ * </small>
+ */
+
diff --git a/firmware/LUFA/ManPages/LibraryResources.txt b/firmware/LUFA/ManPages/LibraryResources.txt
new file mode 100644
index 0000000..eef36d9
--- /dev/null
+++ b/firmware/LUFA/ManPages/LibraryResources.txt
@@ -0,0 +1,32 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/**
+ * \page Page_Resources Library Resources
+ *
+ * \section Sec_ProjectPages LUFA Related Webpages
+ * Project Homepage: http://www.lufa-lib.org \n
+ * Commercial Licenses: http://www.lufa-lib.org/license \n
+ * Author's Website: http://www.fourwalledcubicle.com \n
+ * Development Blog: http://www.fourwalledcubicle.com/blog \n
+ *
+ * \section Sec_ProjectHelp Assistance With LUFA
+ * Discussion Group: http://www.lufa-lib.org/support \n
+ * Author's Email: dean [at] fourwalledcubicle [dot] com
+ * Author's Skype: abcminiuser
+ *
+ * \section Sec_InDevelopment Latest In-Development Source Code
+ * Issue Tracker: http://www.lufa-lib.org/tracker \n
+ * Bazaar Access: http://www.lufa-lib.org/bzr \n
+ * SVN Access: http://www.lufa-lib.org/svn \n
+ * Git Access: http://www.lufa-lib.org/git \n
+ * Latest Repository Source Archive: http://www.lufa-lib.org/latest-archive \n
+ * Commit RSS Feed: http://www.lufa-lib.org/rss \n
+ *
+ * \section Sec_USBResources USB Resources
+ * USB-IF Website: http://www.usb.org \n
+ */
+
diff --git a/firmware/LUFA/ManPages/LicenseInfo.txt b/firmware/LUFA/ManPages/LicenseInfo.txt
new file mode 100644
index 0000000..091ce94
--- /dev/null
+++ b/firmware/LUFA/ManPages/LicenseInfo.txt
@@ -0,0 +1,22 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/**
+ * \page Page_LicenseInfo Source Code License
+ *
+ * The LUFA library is currently released under the MIT license, included below.
+ *
+ * Commercial entities can opt out of the public disclosure clause in this license
+ * for a one-time US$1500 payment. This provides a non-exclusive modified MIT licensed which
+ * allows for the free use of the LUFA library, bootloaders and (where the sole copyright
+ * is attributed to Dean Camera) demos without public disclosure within an organization, in
+ * addition to three free hours of consultation with the library author, and priority support.
+ * Please visit the Commercial License link on \ref Page_Resources for more information on
+ * ordering a commercial license for your company.
+ *
+ * \verbinclude License.txt
+ */
+
diff --git a/firmware/LUFA/ManPages/MainPage.txt b/firmware/LUFA/ManPages/MainPage.txt
new file mode 100644
index 0000000..d5935c2
--- /dev/null
+++ b/firmware/LUFA/ManPages/MainPage.txt
@@ -0,0 +1,48 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/**
+ * \mainpage
+ *
+ * \image html LUFA.png
+ * <div align="center"><small><i>Logo design by <a href="http://ryophotography.wordpress.com">Ryo Photography</a></i></small></div>
+ * \n
+ * <div align="center"><a href="http://www.lufa-lib.org">http://www.lufa-lib.org</a></div>
+ * \n
+ *
+ * <b>LUFA is donationware. For author and donation information, see \ref Page_Donating.</b>
+ *
+ * LUFA is an open-source USB library for the USB-enabled AVR microcontrollers, released under the MIT license (see \ref Page_LicenseInfo).
+ * It supports a large number of USB AVR models and boards (see \ref Page_DeviceSupport). It is designed to provide an easy to use,
+ * feature rich framework for the development of USB peripherals and hosts.
+ *
+ * LUFA focuses on the microcontroller side of USB development only; it includes no PC host USB driver development facilities - other projects
+ * such as the Windows Driver Development Kit, Windows USB Device Mode Framework and libusb may be of interest for developing custom OS drivers.
+ * While custom USB devices can be made with LUFA using such tools, the included demos all use the inbuilt OS drivers for each USB class for
+ * simplicity.
+ *
+ * The library is currently in a stable release, suitable for download and incorporation into user projects for
+ * both host and device modes. For information about the project progression, see the blog link at \ref Page_Resources.
+ *
+ * LUFA is written specifically for the free AVR-GCC compiler, and uses several GCC-only extensions to make the
+ * library API more streamlined and robust. You can download AVR-GCC for free in a convenient windows package,
+ * from the the WinAVR website (see \ref Page_Resources).
+ *
+ * The only required AVR peripherals for LUFA is the USB controller itself and interrupts - LUFA does not require the use of the
+ * microcontroller's timers or other hardware, leaving more hardware to the application developer.
+ *
+ * Accompanying LUFA in the download package is a set of example demo applications, plus several Bootloaders of different classes
+ * and open source LUFA powered projects.
+ *
+ * <b>Subsections:</b>
+ * \li \subpage Page_WhyUseLUFA - What are the advantages of using LUFA?
+ * \li \subpage Page_LUFAvsAtmelStack - How does LUFA compare to the Atmel USB AVR stack?
+ * \li \subpage Page_AlternativeStacks - Alternative USB AVR Stacks
+ * \li \subpage Page_LicenseInfo - Project source license and commercial use information
+ * \li \subpage Page_Donating - Donating to support this project
+ * \li \subpage Page_LibraryApps - Overview of included Demos, Bootloaders and Projects
+ */
+
diff --git a/firmware/LUFA/ManPages/MigrationInformation.txt b/firmware/LUFA/ManPages/MigrationInformation.txt
new file mode 100644
index 0000000..be5e949
--- /dev/null
+++ b/firmware/LUFA/ManPages/MigrationInformation.txt
@@ -0,0 +1,564 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/** \page Page_Migration Migrating from Older Versions
+ *
+ * Below is migration information for updating existing projects based on previous versions of the LUFA library
+ * to the next version released. It does not indicate all new additions to the library in each version change, only
+ * areas relevant to making older projects compatible with the API changes of each new release.
+ *
+ * \section Sec_Migration101122 Migrating from 100807 to 101122
+ * <b>USB Core</b>
+ * - A new USB driver source file, Drivers/USB/HighLevel/EndpointStream.c now exists. This source file should be added
+ * to all project makefiles using the USB driver of LUFA, or the makefile should be updated to use the new module source
+ * variables.
+ * - A new USB driver source file, Drivers/USB/HighLevel/PipeStream.c now exists. This source file should be added to all
+ * project makefiles using the USB driver of LUFA, or the makefile should be updated to use the new module source variables.
+ * - The EVENT_USB_InitFailure() event has been removed, as the USB_Init() function will no longer fail; if not USB mode is
+ * specified, the controller will default to UID selection mode.
+ * - The USB mode specifier constants have been moved into a new enum and renamed. Existing projects should use the equivalent
+ * value in the new \ref USB_Modes_t enum.
+ * - All class driver headers are now included as part of the standard LUFA/Drivers/USB/USB.h master dispatch header, and should
+ * no longer be included seperately. Class driver module source files must still be added as a seperate module in the project's
+ * makefile if used.
+ *
+ * <b>Device Mode</b>
+ * - Endpoints MUST be allocated in ascending order to ensure that bank corruption does not occur. Ensure that your user application
+ * allocated endpoints in ascending order - or if your application uses the USB device mode class drivers, ensure that each instance's
+ * endpoint indexes are not overlapped with other interface's endpoints.
+ * - The signature for the CALLBACK_USB_GetDescriptor() callback has changed, the "void** const DescriptorAddress" parameter is
+ * now "const void** const DescriptorAddress". Existing applications should update their callback signatures to match this, and
+ * eliminate any casting of descriptor pointers to a non-const pointer.
+ * - The names of the class specific descriptor type defines in the USB Class drivers have changed - refer to the driver documentation
+ * for each class driver for the new class specific descriptor type names.
+ * - The ENDPOINT_DOUBLEBANK_SUPPORTED() macro is has been renamed \ref ENDPOINT_BANKS_SUPPORTED() and now returns the total number of
+ * banks supported by the given endpoint. Existing code should switch to the new naming scheme, and test that the return value of the
+ * macro is equal to or greated than 2 to regain the previous functionality.
+ * - The EVENT_USB_Device_UnhandledControlRequest() event is now named \ref EVENT_USB_Device_ControlRequest() and fires before (not after)
+ * the internal library event handlers. Existing code should rename the event handlers in the user application to match the new event
+ * name, and should ensure that the new execution order does not affect the application's operation.
+ *
+ * <b>Host Mode</b>
+ * - Pipes MUST be allocated in ascending order to ensure that bank corruption does not occur. Ensure that your user application
+ * allocated pipes in ascending order - or if your application uses the USB host mode class drivers, ensure that each instance's
+ * pipe indexes are not overlapped with other interface's pipes.
+ * - The PRNT_Host_SendData() function has been renamed to \ref PRNT_Host_SendString(). Existing applications should simply
+ * replace all references to the obsolete function name with the new function name.
+ * - The names of the class specific descriptor type defines in the USB Class drivers have changed - refer to the driver documentation
+ * for each class driver for the new class specific descriptor type names.
+ * - The Still Image Host class' function prefix has been changed from "SImage_" to "SI_", to remain consistent with the rest of the
+ * driver's enums, type defines and constants.
+ *
+ * \section Sec_Migration100807 Migrating from 100513 to 100807
+ *
+ * <b>Non-USB Library Components</b>
+ * - The Dataflash board driver stub file has changed, as dataflash functions previously located in the internal
+ * Dataflash driver of the library have now been moved to the individual board files. Existing drivers can
+ * copy-paste the new functions from the board Dataflash stub driver.
+ *
+ * <b>USB Core</b>
+ * - A new USB driver source file, Drivers/USB/LowLevel/Device.c now exists. This source file should be added to all project
+ * makefiles using the USB driver of LUFA, or the makefile should be updated to use the new module source variables.
+ * - The Drivers/USB/LowLevel/DevChapter9.c source file has moved to Drivers/USB/HighLevel/DeviceStandardReq.c - this should
+ * be updated in all project makefiles, or the makefile should be updated to use the new module source variables.
+ * - The Drivers/USB/LowLevel/HostChapter9.h source file has moved to Drivers/USB/HighLevel/HostStandardReq.c - this should
+ * be updated in all project makefiles, or the makefile should be updated to use the new module source variables.
+ * - The Drivers/USB/LowLevel/LowLevel.c source file has moved to Drivers/LowLevel/USBController.c - this should be updated
+ * in all project makefiles, or the makefile should be updated to use the new module source variables.
+ *
+ * <b>Device Mode</b>
+ * - The USB_Device_IsRemoteWakeupSent() macro has been removed, as the remote wakeup request is now fully handled by the
+ * enhanced \ref USB_Device_SendRemoteWakeup() function. Existing code may now discard any checks to USB_Device_IsRemoteWakeupSent().
+ * - The USB_Device_IsUSBSuspended() macro has been removed, as it is obsolete. Existing code should compare \ref USB_DeviceState
+ * to see if it the device is in the \ref DEVICE_STATE_Suspended state instead.
+ * - The \ref CDC_Device_ReceiveByte() function has changed, and now returns a signed 16-bit integer, with -1 indicating no data was
+ * received. This allows for more efficient coding, as a call to \ref CDC_Device_BytesReceived() is no longer needed if the exact
+ * number of queued bytes received is not needed.
+ *
+ * <b>Host Mode</b>
+ * - The \ref CDC_Host_ReceiveByte() function has changed, and now returns a signed 16-bit integer, with -1 indicating no data was
+ * received. This allows for more efficient coding, as a call to \ref CDC_Device_BytesReceived() is no longer needed if the exact
+ * number of queued bytes received is not needed.
+ * - The \ref CDC_Host_USBTask() now calls \ref CDC_Host_Flush() automatically, flushing any queued data to the attached device. Manual
+ * flushing of the interface is no longer needed if the flushes should be in sync with calls to \ref CDC_Host_USBTask().
+ *
+ * \section Sec_Migration100513 Migrating from 100219 to 100513
+ *
+ * <b>Non-USB Library Components</b>
+ * - The \ref TWI_StartTransmission() function now takes in a timeout period, expressed in milliseconds, within which the addressed
+ * device must respond or the function will abort.
+ *
+ * <b>Device Mode</b>
+ * - The \ref USB_Init() function no longer calls sei() to enable global interrupts, as the user application may need
+ * to perform other initialization before it is ready to handle global interrupts. The user application is now responsible
+ * for enabling global interrupts before or shortly after calling \ref USB_Init() to ensure that the enumeration process
+ * functions correctly.
+ * - The USBInterrupt.c USB driver source file has been relocated from LUFA/Drivers/USB/HighLevel/ to LUFA/Drivers/USB/LowLevel.
+ * Projects must update their makefile SRC values accordingly.
+ * - The HID Device Class driver's function signature for the CALLBACK_HID_Device_ProcessHIDReport() function has been changed, to
+ * allow for a new ReportType parameter. This new parameter must be added in all user applications using the Device mode HID Class
+ * Driver, but may be ignored unless Host-to-Device FEATURE HID reports are used.
+ *
+ * <b>Host Mode</b>
+ * - The \ref USB_Init() function no longer calls sei() to enable global interrupts, as the user application may need
+ * to perform other initialization before it is ready to handle global interrupts. The user application is now responsible
+ * for enabling global interrupts before or shortly after calling \ref USB_Init() to ensure that the enumeration process
+ * functions correctly.
+ * - The USBInterrupt.c USB driver source file has been relocated from LUFA/Drivers/USB/HighLevel/ to LUFA/Drivers/USB/LowLevel.
+ * Projects must update their makefile SRC values accordingly.
+ * - The HID Host Class driver's function signature for the HID_Host_SendReportByID() function has been changed, to allow for a new
+ * ReportType parameter. Existing calls to this function should substitute REPORT_ITEM_TYPE_Out as this parameter's value.
+ *
+ * \section Sec_Migration100219 Migrating from 091223 to 100219
+ *
+ * <b>Non-USB Library Components</b>
+ * - Due to some ADC channels not being identical to their ADC MUX selection masks for single-ended conversions on some AVR models,
+ * the ADC driver now has explicit masks for each of the standard ADC channels (see \ref Group_ADC). These masks should be used
+ * when calling the ADC functions to ensure proper operation across all AVR models. Note that the \ref ADC_SetupChannel() function
+ * is an exception, and should always be called with a channel number rather than a channel mask.
+ *
+ * <b>Host Mode</b>
+ * - The MIDI Host Class driver send and receive routines now operate on packed events, where multiple MIDI events may be
+ * packed into a single USB packet. This means that the sending of MIDI events will now be delayed until the MIDI send
+ * pipe bank is full. To override this new behaviour and revert to the previous behaviour, the user application may manually
+ * flush the queued event(s) to the device by calling \ref MIDI_Host_Flush().
+ * - The Pipe_IsEndpointBound() function now takes the endpoint's direction into account, by checking if the MSB of the endpoint's address
+ * is set to denote IN endpoints. If the previous functionality where the direction is to be discounted is required, mask the endpoint
+ * address against the \ref PIPE_EPNUM_MASK token before calling Pipe_IsEndpointBound().
+ *
+ * <b>Device Mode</b>
+ * - The MIDI Device Class driver send and receive routines now operate on packed events, where multiple MIDI events may be
+ * packed into a single USB packet. This means that the sending of MIDI events will now be delayed until the MIDI send
+ * endpoint bank is full. To override this new behaviour and revert to the previous behaviour, the user application may manually
+ * flush the queued event(s) to the host by calling \ref MIDI_Device_Flush().
+ *
+ * \section Sec_Migration091223 Migrating from 091122 to 091223
+ *
+ * <b>Host Mode</b>
+ * - The Still Image Host Class driver SI_Host_USBTask() and SI_Host_ConfigurePipes() functions were misnamed, and are
+ * now named SImage_Host_USBTask() and SImage_Host_ConfigurePipes() respectively.
+ * - The HOST_SENDCONTROL_DeviceDisconnect enum value has been renamed to \ref HOST_SENDCONTROL_DeviceDisconnected to be in
+ * line with the rest of the library error codes.
+ * - The HID Parser item usages no longer contain separate minimum and maximum values, as this was a violation of the HID
+ * specification. Instead, the values are distributed evenly across each item as its usage value, to ensure that all items
+ * can be distinguished from one-another.
+ *
+ * <b>Device Mode</b>
+ * - The CALLBACK_HID_Device_CreateHIDReport() HID Device Class driver callback now has a new ReportType parameter to
+ * indicate the report type to generate. Existing applications may simply add and ignore this additional parameter.
+ *
+ * \section Sec_Migration091122 Migrating from 090924 to 091122
+ *
+ * <b>Host Mode</b>
+ * - The HID_PARSE_UsageStackOverflow HID parser error constant is now named \ref HID_PARSE_UsageListOverflow
+ * - The \ref CALLBACK_HIDParser_FilterHIDReportItem() HID Parser callback now passes a complete HID_ReportItem_t to the
+ * user application, instead of just its attributes.
+ * - The USB_GetDeviceConfigDescriptor() function was incorrectly named and is now called \ref USB_Host_GetDeviceConfigDescriptor().
+ *
+ * \section Sec_Migration090924 Migrating from 090810 to 090924
+ *
+ * <b>Non-USB Library Components</b>
+ * - The ADC_Off() function has been renamed to \ref ADC_ShutDown() to be consistent with the rest of the library.
+ * - The \ref SPI_Init() routine's parameters have changed, so that the clock polarity and data sampling modes can be set. See
+ * the \ref SPI_Init() function documentation for more details
+ * - The \ref Dataflash_Init() routine no longer initializes the SPI bus - the SPI bus should be initialized manually via a
+ * call to SPI_Init() before using the Dataflash driver
+ *
+ * <b>Host Mode</b>
+ * - The USB_GetDeviceConfigDescriptor() function's parameters and behaviour has changed; the user is required to
+ * preallocate the largest allowable buffer, and pass the size of the buffer to the function. This allows for a single
+ * call to the function to retrieve, size check and validate the Configuration Descriptor rather than having the user
+ * application perform these intermediary steps.
+ * - The HID report parser now requires a mandatory callback in the user code, to filter only the items the application
+ * is interested in into the processed HID report item structure to save RAM. See \ref CALLBACK_HIDParser_FilterHIDReportItem().
+ * - The HID report parser now always parses FEATURE and always ignores constant-data items - the HID_ENABLE_FEATURE_PROCESSING
+ * and HID_INCLUDE_CONSTANT_DATA_ITEMS compile time tokens now have no effect.
+ * - The USE_NONSTANDARD_DESCRIPTOR_NAMES compile time token has been removed - there are now separate USB_Descriptor_*
+ * and USB_StdDescriptor_* structures for both the LUFA and standardized element naming conventions so that both may be used in
+ * the one project. For existing projects using the standardized names, change all code to use the USB_StdDescriptor_* variants.
+ *
+ * <b>Device Mode</b>
+ * - The USE_NONSTANDARD_DESCRIPTOR_NAMES compile time token has been removed - there are now separate USB_Descriptor_*
+ * and USB_StdDescriptor_* structures for both the LUFA and standardized element naming conventions so that both may be used in
+ * the one project. For existing projects using the standardized names, change all code to use the USB_StdDescriptor_* variants.
+ *
+ * \section Sec_Migration090810 Migrating from 090605 to 090810
+ *
+ * <b>All</b>
+ * - The "Simple Scheduler" has been <i>deprecated</i>, as it was little more than an abstracted loop and caused much confusion.
+ * User applications using the scheduler should switch to regular loops instead. The scheduler code will be removed in a future
+ * release.
+ * - The "Dynamic Memory Block Allocator" has been removed, as it was unused in (and unrelated to) the LUFA library and never
+ * used in user applications. The library is available from the author's website for those wishing to still use it in their
+ * applications.
+ *
+ * <b>Non-USB Library Components</b>
+ * - The ATTR_NOINLINE function attribute macro has been renamed to ATTR_NO_INLINE to be in line with the rest of the function attribute
+ * macro names.
+ *
+ * <b>Library Demos</b>
+ * - Most demos now have a corresponding Class Driver implementation, which uses the new internal library class drivers for the standard
+ * USB classes. This allows for more rapid device and host development, and so should be used in preference to the low level APIs where
+ * possible so that fixes to the class drivers propagate to all applications which use them automatically with each new LUFA release.
+ *
+ * <b>Host Mode</b>
+ * - The HIDParser.c module has moved from LUFA/Drivers/USB/Class/ to LUFA/Drivers/USB/Class/Host/.
+ * - The USB_GetDeviceConfigDescriptor() function now requires the desired configuration index within the device as its first
+ * parameter, to add support for multi-configuration devices. Existing code should use a configuration index of 1 to indicate the
+ * first configuration descriptor within the device.
+ * - The non-standard "Ready" host state has been removed. Existing \ref HOST_STATE_Configured code should be moved to the end of
+ * the existing \ref HOST_STATE_Addressed state, and the existing HOST_STATE_Ready state code should be moved to the \ref HOST_STATE_Configured
+ * state.
+ * - The USB_IsConnected global has been removed, as it is too vague for general use. Test \ref USB_HostState explicitly to ensure the host is
+ * in the desired state instead.
+ * - The USB event names have been changed and their firing conditions changed to properly separate out Host mode events from Device mode
+ * events. See the \ref Group_Events page for details on the new event names and firing conditions.
+ *
+ * <b>Device Mode</b>
+ * - The \ref CALLBACK_USB_GetDescriptor() function now takes an extra parameter to specify the descriptor's memory space so that
+ * descriptors in mixed memory spaces can be used. The previous functionality can be returned by defining the USE_FLASH_DESCRIPTORS
+ * token in the project makefile to fix all descriptors into FLASH space and remove the extra function parameter.
+ * - The USB_IsSuspended global has been removed - test \ref USB_DeviceState against \ref DEVICE_STATE_Suspended instead.
+ * - The USB_IsConnected global has been removed, as it is too vague for general use. Test \ref USB_DeviceState explicitly to ensure the device
+ * is in the desired state instead.
+ * - The VBUS events have been removed, as they are already exposed to the user via the USB_Connect and USB_Disconnect events.
+ * - The USB event names have been changed and their firing conditions changed to properly separate out Host mode events from Device mode
+ * events. See the \ref Group_Events page for details on the new event names and firing conditions. *
+ *
+ * \section Sec_Migration090605 Migrating from 090510 to 090605
+ *
+ * <b>Device Mode</b>
+ * - Support for non-control data endpoint interrupts has been dropped due to many issues in the implementation. All existing
+ * projects using interrupts on non-control endpoints should switch to polling. For control interrupts, the library can
+ * manage the control endpoint via interrupts automatically by compiling with the INTERRUPT_CONTROL_ENDPOINT token defined.
+ * - The DESCRIPTOR_ADDRESS() macro has been removed. User applications should use normal casts to obtain a descriptor's memory
+ * address.
+ * - The library events system has been rewritten, so that all macros have been removed to allow for clearer user code. See
+ * \ref Group_Events for new API details.
+ * - The STREAM_CALLBACK() macro has been removed. User applications should replace all instances of the macro with regular
+ * function signatures of a function accepting no arguments and returning a uint8_t value.
+ * - The Event_DeviceError() event no longer exists, as its sole caller (unlinked USB_GetDescriptor() function) now produces a
+ * compilation error rather than a runtime error. The StdDescriptors.c file no longer exists as a result, and should be removed
+ * from project makefiles.
+ * - The USB_GetDescriptor() function has been renamed to CALLBACK_USB_GetDescriptor() to be in line with the new CALLBACK_ function
+ * prefixes for functions which *must* be implemented in the user application.
+ *
+ * <b>Host Mode</b>
+ * - Support for non-control data pipe interrupts has been dropped due to many issues in the implementation. All existing
+ * projects using interrupts on non-control pipes should switch to polling.
+ * - The library events system has been rewritten, so that all macros have been removed to allow for clearer user code. See
+ * \ref Group_Events for new API details.
+ * - The STREAM_CALLBACK() macro has been removed. User applications should replace all instances of the macro with regular
+ * function signatures of a function accepting no arguments and returning a uint8_t value.
+ * - The DESCRIPTOR_COMPARATOR() macro has been removed. User applications should replace all instances of the macro with
+ * regular function signatures of a function accepting a void pointer to the descriptor to test, and returning a uint8_t value.
+ *
+ * \section Sec_Migration090510 Migrating from 090401 to 090510
+ *
+ * <b>All</b>
+ * - The ButtLoadTag.h header has been removed, as it was never used for its intended purpose. Projects should either remove all
+ * BUTTLOADTAG elements, or download and extract ButtLoadTag.h header from the ButtLoad project.
+ * - The Drivers/AT90USBXXX directory has been renamed to Drivers/Peripheral.
+ * - The Serial_Stream driver has been renamed to SerialStream to remain consistent with the rest of the library naming scheme.
+ * - The HWB driver has changed to the Buttons driver. See the board Buttons driver documentation for the new API.
+ *
+ * <b>Dual Role Mode</b>
+ * - The USB_PowerOnFail even has been renamed to USB_InitFailure.
+ * - The functions in OTG.h have been renamed to remain more consistent with the library API. See the functions in OTG.h for more
+ * details.
+ *
+ * <b>Library Demos</b>
+ * - Most demos, bootloaders and applications have had significant changes from previous versions. Applications built off of any
+ * library demos should update to the latest versions.
+ *
+ * <b>Device Mode</b>
+ * - The Endpoint_ClearCurrentBank() macro has been removed, and is now replaced with the Endpoint_ClearIN(), Endpoint_ClearOUT()
+ * macros. See Endpoint.h documentation for more details on the new endpoint management macros.
+ * - The Endpoint_ReadWriteAllowed() macro has been renamed to Endpoint_IsReadWriteAllowed() to be more consistent with the rest of
+ * the API naming scheme.
+ * - The Endpoint_IsSetupINReady() and Endpoint_IsSetupOutReceived() macros have been renamed to Endpoint_IsINReady() and
+ * Endpoint_IsOUTReceived() respectively.
+ * - The Endpoint_IsSetupReceived() macro has been renamed to Endpoint_IsSETUPReceived().
+ * - The Endpoint_ClearSetupReceived() macro has been renamed to Endpoint_ClearSETUP().
+ * - All endpoint read/write/discard aliases which did not have an explicitly endianness specifier (such as Endpoint_Read_Word()) have
+ * been removed for clarity. Existing projects should use the "_LE" suffix on such calls to use the explicit Little Endian versions.
+ * - The USB_UnhandledControlPacket event no longer has any parameters. User code should no longer attempt to read in the remainder of
+ * the Control Request header as all Control Request header data is now preloaded by the library and made available in the
+ * USB_ControlRequest structure.
+ * - The FEATURELESS_CONTROL_ONLY_DEVICE token has been renamed to CONTROL_ONLY_DEVICE.
+ * - The STATIC_ENDPOINT_CONFIGURATION is no longer applicable as the library will apply this optimization when appropriate automatically.
+ * - The values of the Endpoint_Stream_RW_ErrorCodes_t and Endpoint_ControlStream_RW_ErrorCodes_t enums have had the "ERROR_" portion
+ * of their names removed.
+ *
+ * <b>Host Mode</b>
+ * - The USB_Host_SendControlRequest() function no longer automatically selects the Control pipe (pipe 0) to allow it to be used on
+ * other control type pipes. Care should be taken to ensure that the Control pipe is always selected before the function is called
+ * in existing projects where the Control pipe is to be operated on.
+ * - The USB Host management task now saves and restores the currently selected pipe before and after the task runs. Projects no longer
+ * need to manage this manually when calling the USB management task.
+ * - The Pipe_ClearCurrentBank() macro has been removed, and is now replaced with the Pipe_ClearIN(), Pipe_ClearOUT() macros. See
+ * Pipe.h documentation for more details on the new pipe management macros.
+ * - The Pipe_ReadWriteAllowed() macro has been renamed to Pipe_IsReadWriteAllowed() to be more consistent with the rest of the API
+ * naming scheme.
+ * - The Pipe_IsSetupINReceived() and Pipe_IsOutReady() macros have been renamed to Pipe_IsINReceived() and Pipe_IsOUTReady()
+ * respectively.
+ * - The new Pipe_ClearSETUP() macro should be used to send SETUP transactions, rather than the previous Pipe_ClearSetupOUT() macro.
+ * - The Pipe_IsSetupSent() macro has been renamed to Pipe_IsSETUPSent().
+ * - The Pipe_ClearSetupSent() macro is no longer applicable and should be removed.
+ * - All pipe read/write/discard aliases which did not have an explicitly endianness specifier (such as Pipe_Read_Word()) have
+ * been removed for clarity. Existing projects should use the "_LE" suffix on such calls to use the explicit Little Endian versions.
+ * - The Host_IsResetBusDone() macro has been renamed to Host_IsBusResetComplete().
+ * - The Pipe_Ignore_Word() and Pipe_Ignore_DWord() functions have been renamed to Pipe_Discard_Word() and Pipe_Discard_DWord() to remain
+ * consistent with the rest of the pipe API.
+ * - It is no longer needed to manually include the headers from LUFA/Drivers/USB/Class, as they are now included along with the rest
+ * of the USB headers when LUFA/Drivers/USB/USB.h is included.
+ * - Functions in the ConfigDescriptor.h header file no longer have "Host_" as part of their names.
+ * - The ProcessHIDReport() has been renamed to USB_ProcessHIDReport(), GetReportItemInfo() has been renamed to USB_GetHIDReportItemInfo()
+ * and SetReportItemInfo() has been renamed to USB_GetHIDReportItemInfo().
+ * - The values of the DSearch_Return_ErrorCodes_t and DSearch_Comp_Return_ErrorCodes_t enums have had their respective "Descriptor_Search"
+ * and "Descriptor_Search_Comp" prefixes changed to all caps.
+ * - The USB_HostRequest global has been renamed to USB_ControlRequest, and is used in Device mode also. The USB_Host_Request_Header_t
+ * structure type has been renamed to USB_Request_Header_t.
+ * - The values of the Pipe_Stream_RW_ErrorCodes_t enum have had the "ERROR_" portion of their names removed.
+ *
+ * \section Sec_Migration090401 Migrating from 090209 to 090401
+ *
+ * <b>All</b>
+ * - LUFA projects must now give the raw input clock frequency (before any prescaling) as a compile time constant "F_CLOCK",
+ * defined in the project makefile and passed to the compiler via the -D switch.
+ * - The makefile EEPROM programming targets for FLIP and dfu-programmer no longer program in the FLASH data in addition to the
+ * EEPROM data into the device. If both are to be programmed, both the EEPROM and FLASH programming targets must be called.
+ * - As the avr-libc macro has been corrected in recent avr-libc distributions, the SetSystemClockPrescaler() macro has been removed.
+ * Include <avr/power.h> and call clock_prescale_set(clock_div_1); instead on recent avr-libc distributions.
+ *
+ * <b>Library Demos</b>
+ * - The USBtoSerial demo now discards all data when not connected to a host, rather than buffering it for later transmission.
+ * - Most demos, bootloaders and applications have had their control request handling code corrected, to properly send the status
+ * stage in all handled requests. If you are using code based off one of the library demos, bootloaders or applications, you should
+ * update to the latest revisions.
+ *
+ * <b>Non-USB Library Components</b>
+ * - The ATTR_ALWAYSINLINE function attribute macro has been renamed to ATTR_ALWAYS_INLINE.
+ * - Custom board Dataflash drivers now require the implementation of Dataflash_SelectChipFromPage() and Dataflash_SendAddressBytes().
+ *
+ * <b>Device Mode</b>
+ * - The NO_CLEARSET_FEATURE_REQUEST compile time token has been renamed to FEATURELESS_CONTROL_ONLY_DEVICE, and its function expanded
+ * to also remove parts of the Get Status chapter 9 request to further reduce code usage. On all applications currently using the
+ * NO_CLEARSET_FEATURE_REQUEST compile time token, it can be replaced with the FEATURELESS_CONTROL_ONLY_DEVICE token with no further
+ * modifications required.
+ *
+ * \section Sec_Migration090209 Migrating from 081217 to 090209
+ *
+ * <b>Device Mode</b>
+ * - The ENDPOINT_MAX_ENDPOINTS constant has been renamed to the more appropriate name of ENDPOINT_TOTAL_ENDPOINTS.
+ * - The USB_STREAM_TIMEOUT_MS stream timeout default period has been extended to 100ms. This can be overridden in the user
+ * makefile if desired to restore the previous 50ms timeout.
+ *
+ * <b>Host Mode</b>
+ * - The PIPE_MAX_ENDPOINTS constant has been renamed to the more appropriate name of PIPE_TOTAL_ENDPOINTS.
+ * - The USB_STREAM_TIMEOUT_MS stream timeout default period has been extended to 100ms. This can be overridden in the user
+ * makefile if desired to restore the previous 50ms timeout.
+ * - The USB_DeviceEnumerationFailed event now contains a second "SubErrorCode" parameter, giving the error code of the function
+ * which failed.
+ * - The HID_PARSE_Sucessful enum member constant has been corrected to HID_PARSE_Successful.
+ *
+ * <b>Non-USB Library Components</b>
+ * - The previous SPI_SendByte() functionality is now located in SPI_TransferByte(). SPI_SendByte() now discards the return byte
+ * for speed, to compliment the new SPI_ReceiveByte() function. If two-way SPI transfers are required, calls to SPI_SendByte()
+ * should be changed to SPI_TransferByte().
+ * - The serial driver now sets the Tx line as an output explicitly, and enables the pull-up of the Rx line.
+ * - The Serial_Init() and SerialStream_Init() functions now take a second DoubleSpeed parameter, which indicates if the USART
+ * should be initialized in double speed mode - useful in some circumstances for attaining baud rates not usually possible at
+ * the given AVR clock speed.
+ *
+ * <b>Library Demos</b>
+ * - Most library demos have been enhanced and/or had errors corrected. All users of all demos should upgrade their codebase to
+ * the latest demo versions.
+ *
+ * \section Sec_Migration171208 Migrating from V1.5.3 to 081217
+ *
+ * <b>All</b>
+ * - The MyUSB project name has been changed to LUFA (Lightweight Framework for USB AVRs). All references to MyUSB, including macro names,
+ * have been changed to LUFA.
+ *
+ * <b>Library Demos</b>
+ * - The ReconfigureUSART() routine in the USBtoSerial demo was not being called after new line encoding
+ * parameters were set by the host. Projects built on the USBtoSerial code should update to the latest version.
+ * - The HID Parser now supports multiple report (on a single endpoint) HID devices. The MouseHostWithParser and
+ * KeyboardHostWithPaser demos use the updated API functions to function correctly on such devices. Projects
+ * built on either "WithParser" demo should update to the latest code.
+ * - The RNDIS demo TCP stack has been modified so that connections can be properly closed. It is still not
+ * recommended that the MyUSB RNDIS demo TCP/IP stack be used for anything other than demonstration purposes,
+ * as it is neither a full nor a standards compliant implementation.
+ *
+ * <b>Non-USB Library Components</b>
+ * - The Serial_IsCharReceived() macro has been changed to the correct spelling of Serial_IsCharReceived() in Serial.h.
+ *
+ * <b>Device Mode</b>
+ * - The MANUAL_PLL_CONTROL compile time token has been removed, and replaced with a USB_OPT_MANUAL_PLL mask
+ * to be used in the Options parameter of the USB_Init() function.
+ * - Calling USB_Init() now forces a complete USB interface reset and enumeration, even if the USB interface is
+ * currently initialized.
+ * - Interrupts are now disabled when processing control requests, to avoid problems with interrupts causing the library
+ * or user request processing code to exceed the strict USB timing requirements on control transfers.
+ * - The USB Reset event now resets and disables all device endpoints. If user code depends on endpoints remaining configured
+ * after a Reset event, it should be altered to explicitly re-initialize all user endpoints.
+ * - The prototype for the GetDescriptor function has been changed, as the return value was redundant. The function now
+ * returns the size of the descriptor, rather than passing it back via a parameter, or returns NO_DESCRIPTOR if the specified
+ * descriptor does not exist.
+ * - The NO_DESCRIPTOR_STRING macro has been renamed NO_DESCRIPTOR, and is now also used as a possible return value for the
+ * GetDescriptor function.
+ *
+ * <b>Host Mode</b>
+ * - The MANUAL_PLL_CONTROL compile time token has been removed, and replaced with a USB_OPT_MANUAL_PLL mask
+ * to be used in the Options parameter of the USB_Init() function.
+ * - The HID report parser now supports multiple Report IDs. The HID report parser GetReportItemInfo() and
+ * SetReportItemInfo() routines now return a boolean, set if the requested report item was located in the
+ * current report. If sending a report to a multi-report device, the first byte of the report is automatically
+ * set to the report ID of the given report item.
+ * - Calling USB_Init() now forces a complete USB interface reset and enumeration, even if the USB interface is
+ * currently initialized.
+ *
+ * \section Sec_Migration152 Migrating from V1.5.2 to V1.5.3
+ *
+ * <b>Library Demos</b>
+ * - Previously, all demos contained a serial number string descriptor, filled with all zeros. A serial number
+ * string is required in Mass Storage devices, or devices which are to retain settings when moved between
+ * ports on a machine. As people were not changing the serial number value, this was causing conflicts and so
+ * the serial number descriptor has been removed from all but the Mass Storage demo, which requires it.
+ * - The AudioOut and AudioIn demos did not previously silence their endpoints when the host has deactivated
+ * them. Projects built upon either demo should upgrade to the latest code.
+ * - The FEATURE_ENDPOINT macro has been renamed FEATURE_ENDPOINT_HALT, and is now correctly documented.
+ * - The MassStoreHost demo contained errors which caused it to lock up randomly on certain devices. Projects built
+ * on the MassStoreDemo code should update to the latest version.
+ * - The Interrupt type endpoint in the CDC based demos previously had a polling interval of 0x02, which caused
+ * problems on some Linux systems. This has been changed to 0xFF, projects built on the CDC demos should upgrade
+ * to the latest code.
+ * - The HID keyboard and mouse demos were not previously boot mode compatible. To enable boot mode support, projects
+ * built on the keyboard or mouse demos (or derivatives) should upgrade to the latest code.
+ * - The Mass Storage demo was not previously standards compliant. Projects built on the Mass Storage demo should
+ * upgrade to the latest code.
+ * - The USART was not being reconfigured after the host sent new encoding settings in the USBtoSerial demo. This was
+ * previously discovered and fixed, but the change was lost. Projects built on the USBtoSerial demo should update
+ * to the latest code.
+ *
+ * <b>Device Mode</b>
+ * - The endpoint non-control stream functions now have a default timeout of 50ms between packets in the stream.
+ * If this timeout is exceeded, the function returns the new ENDPOINT_RWSTREAM_ERROR_Timeout error value. The
+ * timeout value can be overridden by defining the USB_STREAM_TIMEOUT_MS in the project makefile to the desired
+ * timeout duration in ms.
+ * - Rather than returning fixed values, the flags indicating if the device has Remote Wakeup currently enabled
+ * and/or is self-powered are now accessed and set through the new USB_RemoteWakeupEnabled and
+ * USB_CurrentlySelfPowered macros. See the DevChapter9.h documentation for more details.
+ * - All endpoint stream functions now require an extra Callback function parameter. Existing code may be updated
+ * to either supply NO_STREAM_CALLBACK as the extra parameter, or disable stream callbacks altogether by passing
+ * the token NO_STREAM_CALLBACKS to the compiler using the -D switch.
+ *
+ * <b>Host Mode</b>
+ * - The pipe non-control stream functions now have a default timeout of 50ms between packets in the stream.
+ * If this timeout is exceeded, the function returns the new PIPE_RWSTREAM_ERROR_Timeout error value. The
+ * timeout value can be overridden by defining the USB_STREAM_TIMEOUT_MS in the project makefile to the desired
+ * timeout duration in ms.
+ * - CollectionPath_t has been renamed to HID_CollectionPath_t to be more in line with the other HID parser structures.
+ * - All pipe stream functions now require an extra Callback function parameter. Existing code may be updated
+ * to either supply NO_STREAM_CALLBACK as the extra parameter, or disable stream callbacks altogether by passing
+ * the token NO_STREAM_CALLBACKS to the compiler using the -D switch.
+ *
+ * \section Sec_Migration151 Migrating from V1.5.1 to V1.5.2
+ *
+ * <b>Library Demos</b>
+ * - The RNDIS demo application has been updated so that it is functional on Linux under earlier implementations
+ * of the RNDIS specification, which had non-standard behaviour. Projects built upon the demo should upgrade
+ * to the latest code.
+ * - The DFU class bootloader has had several bugs corrected in this release. It is recommended that where
+ * possible any existing devices upgrade to the latest bootloader code.
+ *
+ * \section Sec_Migration150 Migrating from V1.5.0 to V1.5.1
+ *
+ * <b>Library Demos</b>
+ * - The USBtoSerial demo was broken in the 1.5.0 release, due to incorrect register polling in place of the
+ * global "Transmitting" flag. The change has been reverted in this release. Projects built upon the demo
+ * should upgrade to the latest code.
+ * - The HID class demos did not implement the mandatory GetReport HID class request. Projects built upon the HID
+ * demos should upgrade to the latest code.
+ * - The HID class demos incorrectly reported themselves as boot-protocol enabled HID devices in their descriptors.
+ * Projects built upon the HID demos should upgrade to the latest code.
+ * - The MIDI device demo had incorrect AudioStreaming interface descriptors. Projects built upon the MIDI demo
+ * should upgrade to the latest code.
+ * - The AudioOut demo did not correctly tristate the speaker pins when USB was disconnected, wasting power.
+ * Projects built upon the AudioOut demo should upgrade to the latest code.
+ *
+ * \section Sec_Migration141 Migrating from V1.4.1 to V1.5.0
+ *
+ * <b>Library Demos</b>
+ * - Previous versions of the library demos had incorrectly encoded BCD version numbers in the descriptors. To
+ * avoid such mistakes in the future, the VERSION_BCD macro has been added to StdDescriptors.h. Existing
+ * projects should at least manually correct the BCD version numbers, or preferably update the descriptors to
+ * encode the version number in BCD format using the new macro.
+ * - The mandatory GetReport class-specific request was accidentally omitted from previous versions of the demos
+ * based on the Human Interface Device (HID) class. This has been corrected, and any user projects based on the
+ * HID demos should also be updated accordingly.
+ * - The CDC demos now correctly send an empty packet directly after a full packet, to end the transmission.
+ * Failure to do this on projects which always or frequently send full packets will cause buffering issues on
+ * the host OS. All CDC user projects are advised to update their transmission routines in the same manner as
+ * the library CDC demos.
+ * - The previous interrupt-driven Endpoint/Pipe demos did not properly save and restore the currently selected
+ * Endpoint/Pipe when the ISR fired. This has been corrected - user projects based on the interrupt driven
+ * demos should also update to properly save and restore the selected Endpoint/Pipe.
+ *
+ * <b>Non-USB Library Components</b>
+ * - The Atomic.h and ISRMacro.h header files in MyUSB/Common have been removed, as the library is now only
+ * compatible with avr-libc library versions newer than the time before the functionality of the deleted
+ * headers was available.
+ *
+ * <b>Device Mode</b>
+ * - The GetDescriptor function (see StdDescriptors.h) now has a new prototype, with altered parameter names and
+ * functions. Existing projects will need to update the GetDescriptor implementation to reflect the new API.
+ * The previously split Type and Index parameters are now passed as the original wValue parameter to the
+ * function, to make way for the USB specification wIndex parameter which is <i>not</i> the same as the
+ * previous Index parameter.
+ * - The USB_UnhandledControlPacket event (see Events.h) now has new parameter names, to be in line with the
+ * official USB specification. Existing code will need to be altered to use the new parameter names.
+ * - The USB_CreateEndpoints event (see Events.h) has been renamed to USB_ConfigurationChanged, which is more
+ * appropriate. It fires in an identical manner to the previously named event, thus the only change to be made
+ * is the event name itself in the user project.
+ * - The USB_Descriptor_Language_t structure no longer exists in StdDescriptors.h, as this was a
+ * pseudo-descriptor modeled on the string descriptor. It is replaced by the true USB_Descriptor_String_t type
+ * descriptor as indicated in the USB specification, thus all device code must be updated accordingly.
+ * - The names of several Endpoint macros have been changed to be more consistent with the rest of the library,
+ * with no implementation changes. This means that existing code can be altered to use the new macro names
+ * with no other considerations required. See Endpoint.h for the new macro names.
+ * - The previous version of the MassStorage demo had an incorrect value in the SCSI_Request_Sense_Response_t
+ * structure named SenseData in SCSI.c which caused some problems with some hosts. User projects based on this
+ * demo should correct the structure value to maintain compatibility across multiple OS platforms.
+ * - By default, the descriptor structures use the official USB specification names for the elements. Previous
+ * versions of the library used non-standard (but more verbose) names, which are still usable in the current
+ * and future releases when the correct compile time option is enabled. See the StdDescriptors.h file
+ * documentation for more details.
+ *
+ * <b>Host Mode</b>
+ * - The USB_Host_Request_Header_t structure in HostChapter9.h (used for issuing control requests) has had its
+ * members renamed to the official USB specification names for requests. Existing code will need to be updated
+ * to use the new names.
+ * - The names of several Pipe macros have been changed to be more consistent with the rest of the library,
+ * with no implementation changes. This means that existing code can be altered to use the new macro names
+ * with no other considerations required. See Pipe.h for the new macro names.
+ * - By default, the descriptor structures use the official USB specification names for the elements. Previous
+ * versions of the library used non-standard (but more verbose) names, which are still usable in the current
+ * and future releases when the correct compile time option is enabled. See the StdDescriptors.h file
+ * documentation for more details.
+ * - The names of the macros in Host.h for controlling the SOF generation have been renamed, see the Host.h
+ * module documentation for the new macro names.
+ *
+ * <b>Dual Role Mode</b>
+ * - The OTG.h header file has been corrected so that the macros now perform their stated functions. Any existing
+ * projects using custom headers to fix the broken OTG header should now be altered to once again use the OTG
+ * header inside the library.
+ * - The USB_DeviceEnumerationComplete event (see Events.h) now also fires in Device mode, when the host has
+ * finished enumerating the device. Projects relying on the event only firing in Host mode should be updated
+ * so that the event action only occurs when the USB_Mode global is set to USB_MODE_HOST.
+ */
+
diff --git a/firmware/LUFA/ManPages/ProgrammingApps.txt b/firmware/LUFA/ManPages/ProgrammingApps.txt
new file mode 100644
index 0000000..ea5a447
--- /dev/null
+++ b/firmware/LUFA/ManPages/ProgrammingApps.txt
@@ -0,0 +1,27 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/** \page Page_ProgrammingApps Programming an Application into a USB AVR
+ *
+ * Once you have built an application, you will need a way to program in the resulting ".HEX" file (and, if your
+ * application uses EEPROM variables with initial values, also a ".EEP" file) into your USB AVR. Normally, the
+ * reprogramming of an AVR device must be performed using a special piece of programming hardware, through one of the
+ * supported AVR programming protocols - ISP, HVSP, HVPP, JTAG or dW. This can be done through a custom programmer,
+ * a third party programmer, or an official Atmel AVR tool - for more information, see the Atmel.com website.
+ *
+ * Alternatively, you can use the bootloader. From the Atmel factory, each USB AVR comes preloaded with the Atmel
+ * DFU (Device Firmware Update) class bootloader, a small piece of AVR firmware which allows the remainder of the
+ * AVR to be programmed through a non-standard interface such as the serial USART port, SPI, or (in this case) USB.
+ * Bootloaders have the advantage of not requiring any special hardware for programming, and cannot usually be erased
+ * or broken without an external programming device. They have disadvantages however; they cannot change the fuses of
+ * the AVR (special configuration settings that control the operation of the chip itself) and a small portion of the
+ * AVR's FLASH program memory must be reserved to contain the bootloader firmware, and thus cannot be used by the
+ * loaded application. Atmel's DFU bootloader is either 4KB (for the smaller USB AVRs) or 8KB (for the larger USB AVRs).
+ *
+ * If you wish to use the DFU bootloader to program in your application, refer to your DFU programmer's documentation.
+ * Atmel provides a free utility called FLIP which is USB AVR compatible, and an open source (Linux compatible)
+ * alternative exists called "dfu-programmer".
+ */
diff --git a/firmware/LUFA/ManPages/SoftwareBootloaderJump.txt b/firmware/LUFA/ManPages/SoftwareBootloaderJump.txt
new file mode 100644
index 0000000..a553ebd
--- /dev/null
+++ b/firmware/LUFA/ManPages/SoftwareBootloaderJump.txt
@@ -0,0 +1,69 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/**
+ * \page Page_SoftwareBootloaderStart Entering the Bootloader via Software
+ *
+ * A common requirement of many applications is the ability to jump to the programmed bootloader of a chip
+ * on demand, via the code's firmware (i.e. not as a result of any physical user interaction with the
+ * hardware). This might be required because the device does not have any physical user input, or simply
+ * just to streamline the device upgrade process on the host PC.
+ *
+ * The following C code snippet may be used to enter the bootloader upon request by the user application.
+ * By using the watchdog to physically reset the controller, it is ensured that all system hardware is
+ * completely reset to their defaults before the bootloader is run. This is important; since bootloaders
+ * are written to occupy a very limited space, they usually make assumptions about the register states based
+ * on the default values after a hard-reset of the chip.
+ *
+ * \code
+ * #include <avr/wdt.h>
+ * #include <avr/io.h>
+ * #include <util/delay.h>
+ *
+ * #include <LUFA/Common/Common.h>
+ * #include <LUFA/Drivers/USB/USB.h>
+ *
+ * uint32_t Boot_Key ATTR_NO_INIT;
+ *
+ * #define MAGIC_BOOT_KEY 0xDC42ACCA
+ * #define BOOTLOADER_START_ADDRESS (FLASH_SIZE_BYTES - BOOTLOADER_SEC_SIZE_BYTES)
+ *
+ * void Bootloader_Jump_Check(void) ATTR_INIT_SECTION(3);
+ * void Bootloader_Jump_Check(void)
+ * {
+ * // If the reset source was the bootloader and the key is correct, clear it and jump to the bootloader
+ * if ((MCUSR & (1 << WDRF)) && (Boot_Key == MAGIC_BOOT_KEY))
+ * {
+ * Boot_Key = 0;
+ * ((void (*)(void))BOOTLOADER_START_ADDRESS)();
+ * }
+ * }
+ *
+ * void Jump_To_Bootloader(void)
+ * {
+ * // If USB is used, detach from the bus
+ * USB_ShutDown();
+ *
+ * // Disable all interrupts
+ * cli();
+ *
+ * // Wait two seconds for the USB detachment to register on the host
+ * for (uint8_t i = 0; i < 128; i++)
+ * _delay_ms(16);
+ *
+ * // Set the bootloader key to the magic value and force a reset
+ * Boot_Key = MAGIC_BOOT_KEY;
+ * wdt_enable(WDTO_250MS);
+ * for (;;);
+ * }
+ * \endcode
+ *
+ * Note that the bootloader magic key can be any arbitrary value. The <em>FLASH_SIZE_BYTES</em> and
+ * <em>BOOTLOADER_SEC_SIZE_BYTES</em> tokens should be replaced with the total flash size of the AVR
+ * in bytes, and the allocated size of the bootloader section for the target AVR.
+ *
+ */
+
diff --git a/firmware/LUFA/ManPages/VIDAndPIDValues.txt b/firmware/LUFA/ManPages/VIDAndPIDValues.txt
new file mode 100644
index 0000000..1dd2515
--- /dev/null
+++ b/firmware/LUFA/ManPages/VIDAndPIDValues.txt
@@ -0,0 +1,424 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/** \page Page_VIDPID VID and PID values
+ *
+ * \section Sec_VIDPID_Allocations
+ * The LUFA library uses VID/PID combinations generously donated by Atmel. The following VID/PID combinations
+ * are used within the LUFA demos, and thus may be re-used by derivations of each demo. Free PID values may be
+ * used by future LUFA demo projects.
+ *
+ * <b>These VID/PID values should not be used in commercial designs under any circumstances.</b> Private projects
+ * may use the following values freely, but must accept any collisions due to other LUFA derived private projects
+ * sharing identical values. It is suggested that private projects using interfaces compatible with existing
+ * demos share the same VID/PID value.
+ *
+ * <table>
+ *
+ * <tr>
+ * <td>
+ * <b>VID</b>
+ * </td>
+ * <td>
+ * <b>PID</b>
+ * </td>
+ * <td>
+ * <b>Usage</b>
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2040
+ * </td>
+ * <td>
+ * Test VID/PID (See below)
+ * </td>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2041
+ * </td>
+ * <td>
+ * Mouse Demo Application
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2042
+ * </td>
+ * <td>
+ * Keyboard Demo Application
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2043
+ * </td>
+ * <td>
+ * Joystick Demo Application
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2044
+ * </td>
+ * <td>
+ * CDC Demo Application
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2045
+ * </td>
+ * <td>
+ * Mass Storage Demo Application
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2046
+ * </td>
+ * <td>
+ * Audio Output Demo Application
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2047
+ * </td>
+ * <td>
+ * Audio Input Demo Application
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2048
+ * </td>
+ * <td>
+ * MIDI Demo Application
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2049
+ * </td>
+ * <td>
+ * MagStripe Project
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x204A
+ * </td>
+ * <td>
+ * CDC Bootloader
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x204B
+ * </td>
+ * <td>
+ * USB to Serial Demo Application
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x204C
+ * </td>
+ * <td>
+ * RNDIS Demo Application
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x204D
+ * </td>
+ * <td>
+ * Combined Keyboard and Mouse Demo Application
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x204E
+ * </td>
+ * <td>
+ * Dual CDC Demo Application
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x204F
+ * </td>
+ * <td>
+ * Generic HID Demo Application
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2060
+ * </td>
+ * <td>
+ * Benito Programmer Project
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2061
+ * </td>
+ * <td>
+ * Combined Mass Storage and Keyboard Demo
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2062
+ * </td>
+ * <td>
+ * Combined CDC and Mouse Demo
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2063
+ * </td>
+ * <td>
+ * Mass Storage/HID Interface Datalogger Project
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2064
+ * </td>
+ * <td>
+ * Interfaceless Control-Only LUFA Devices
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2065
+ * </td>
+ * <td>
+ * Test and Measurement Demo
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2066
+ * </td>
+ * <td>
+ * <i>Currently Unallocated</i>
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2067
+ * </td>
+ * <td>
+ * <i>Currently Unallocated</i>
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2068
+ * </td>
+ * <td>
+ * <i>Currently Unallocated</i>
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x2069
+ * </td>
+ * <td>
+ * <i>Currently Unallocated</i>
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x206A
+ * </td>
+ * <td>
+ * <i>Currently Unallocated</i>
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x206B
+ * </td>
+ * <td>
+ * <i>Currently Unallocated</i>
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x206C
+ * </td>
+ * <td>
+ * <i>Currently Unallocated</i>
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x206D
+ * </td>
+ * <td>
+ * <i>Currently Unallocated</i>
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x206E
+ * </td>
+ * <td>
+ * <i>Currently Unallocated</i>
+ * </td>
+ * </tr>
+ *
+ * <tr>
+ * <td>
+ * 0x03EB
+ * </td>
+ * <td>
+ * 0x206F
+ * </td>
+ * <td>
+ * <i>Currently Unallocated</i>
+ * </td>
+ * </tr>
+ *
+ * </table>
+ *
+ * \section Sec_Test_VIDPID The Test VID/PID Combination:
+ * For use in testing of LUFA powered devices during development only, by non-commercial entities.
+ * All devices must accept collisions on this VID/PID range (from other in-development LUFA devices)
+ * to be resolved by using a unique release number in the Device Descriptor. No devices using this
+ * VID/PID combination may be released to the general public.
+ */
+
diff --git a/firmware/LUFA/ManPages/WhyUseLUFA.txt b/firmware/LUFA/ManPages/WhyUseLUFA.txt
new file mode 100644
index 0000000..43df7e5
--- /dev/null
+++ b/firmware/LUFA/ManPages/WhyUseLUFA.txt
@@ -0,0 +1,46 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/**
+ * \page Page_WhyUseLUFA Why Use LUFA?
+ *
+ * The LUFA Library has many advantages over implementing the code required to drive the USB AVRs directly.
+ * It is much more preferable to incorporate LUFA into your existing projects - or even make a new project
+ * using LUFA - than it is to start from scratch and use the USB AVR registers directly. Some of these reasons
+ * are:
+ *
+ * - <b>Portability:</b>
+ * The LUFA stack is designed to run (at some capacity) on the entire Atmel range of USB AVRs, regardless of the
+ * exact USB controller revision used. If you decide to implement your own USB stack, you will either need to
+ * code around the differences between each USB AVR controller's implementation between different chip models, or
+ * require your code to run on only one specific USB AVR model series.
+ *
+ * - <b>Speed of Development:</b>
+ * LUFA ships with a wide range of pre-made demos, bootloaders and projects for you to try, learn and extend. Each
+ * of these demos are tested (where possible) across as many USB AVRs and Operating Systems as possible, to ensure
+ * that they work under as many conditions as possible. In addition, there are inbuilt class drivers for several of
+ * the USB classes which you can make use of in your projects with minimal effort.
+ *
+ * - <b>Maintainability:</b>
+ * As LUFA takes care of much of the USB implementation, you can be left to focusing on your actual project's
+ * functionality, rather than being held back developing and debugging the USB stack code. Since LUFA uses clear APIs
+ * for USB development, your code will be more readable than if it had the low level USB stack code integrated into
+ * it directly. Updating the LUFA library is a simple folder-replacement and gives new features and bug fixes in
+ * seconds each time a new release is made.
+ *
+ * - <b>Size:</b>
+ * Not just requiring less code to make complex USB devices, LUFA (under most cases with the correct compile options)
+ * requires less FLASH space than Atmel's stack, meaning more space for the user application*.
+ *
+ * - <b>Support:</b>
+ * Since many people are now using LUFA in their own projects, you can take advantage of other's knowledge when you run
+ * into difficulties or need some advice. In addition, you can also email the library author to receive personalized
+ * support when you need it (subject to author's schedule).
+ *
+ * <small>* Atmel Stack Mouse Device Demo 4292 bytes, LUFA Mouse Low Level Device Demo 3332 bytes, under identical build
+ * environments</small>
+ */
+
diff --git a/firmware/LUFA/ManPages/WritingBoardDrivers.txt b/firmware/LUFA/ManPages/WritingBoardDrivers.txt
new file mode 100644
index 0000000..1b33269
--- /dev/null
+++ b/firmware/LUFA/ManPages/WritingBoardDrivers.txt
@@ -0,0 +1,27 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/** \page Page_WritingBoardDrivers Writing LUFA Board Drivers
+ *
+ * LUFA ships with several basic pre-made board drivers, to control hardware present on the supported board
+ * hardware - such as Dataflash ICs, LEDs, Joysticks, or other hardware peripherals. When compiling an application
+ * which makes use of one or more board drivers located in LUFA/Drivers/Board, you must also indicate what board
+ * hardware you are using in your project makefile. This is done by defining the BOARD macro using the -D switch
+ * passed to the compiler, with a constant of BOARD_{Name}. For example <b>-DBOARD=BOARD_USBKEY</b> instructs the
+ * compiler to use the USBKEY board hardware drivers.
+ *
+ * If your application does not use *any* board level drivers, you can omit the definition of the BOARD macro.
+ * However, some users may wish to write their own custom board hardware drivers which are to remain compatible
+ * with the LUFA hardware API. To do this, the BOARD macro should be defined to the value BOARD_USER. This indicates
+ * that the board level drivers should be located in a folder named "Board" located inside the application's folder.
+ *
+ * When used, the driver stub files located in the LUFA/CodeTemplates/DriverStubs folder should be copied to the user
+ * Board/ directory, and fleshed out to include the values and code needed to control the custom board hardware. Once
+ * done, the existing LUFA board level APIs (accessed in the regular LUFA/Drivers/Board/ folder) will redirect to the
+ * user board drivers, maintaining code compatibility and allowing for a different board to be selected through the
+ * project makefile with no code changes.
+ */
+
diff --git a/firmware/LUFA/Scheduler/Scheduler.c b/firmware/LUFA/Scheduler/Scheduler.c
new file mode 100644
index 0000000..3780a31
--- /dev/null
+++ b/firmware/LUFA/Scheduler/Scheduler.c
@@ -0,0 +1,99 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+#include "Scheduler.h"
+
+volatile SchedulerDelayCounter_t Scheduler_TickCounter;
+volatile uint8_t Scheduler_TotalTasks;
+
+bool Scheduler_HasDelayElapsed(const uint16_t Delay,
+ SchedulerDelayCounter_t* const DelayCounter)
+{
+ SchedulerDelayCounter_t CurrentTickValue_LCL;
+ SchedulerDelayCounter_t DelayCounter_LCL;
+
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
+ {
+ CurrentTickValue_LCL = Scheduler_TickCounter;
+ }
+
+ DelayCounter_LCL = *DelayCounter;
+
+ if (CurrentTickValue_LCL >= DelayCounter_LCL)
+ {
+ if ((CurrentTickValue_LCL - DelayCounter_LCL) >= Delay)
+ {
+ *DelayCounter = CurrentTickValue_LCL;
+ return true;
+ }
+ }
+ else
+ {
+ if (((MAX_DELAYCTR_COUNT - DelayCounter_LCL) + CurrentTickValue_LCL) >= Delay)
+ {
+ *DelayCounter = CurrentTickValue_LCL;
+ return true;
+ }
+ }
+
+ return false;
+}
+
+void Scheduler_SetTaskMode(const TaskPtr_t Task,
+ const bool TaskStatus)
+{
+ TaskEntry_t* CurrTask = &Scheduler_TaskList[0];
+
+ while (CurrTask != &Scheduler_TaskList[Scheduler_TotalTasks])
+ {
+ if (CurrTask->Task == Task)
+ {
+ CurrTask->TaskStatus = TaskStatus;
+ break;
+ }
+
+ CurrTask++;
+ }
+}
+
+void Scheduler_SetGroupTaskMode(const uint8_t GroupID,
+ const bool TaskStatus)
+{
+ TaskEntry_t* CurrTask = &Scheduler_TaskList[0];
+
+ while (CurrTask != &Scheduler_TaskList[Scheduler_TotalTasks])
+ {
+ if (CurrTask->GroupID == GroupID)
+ CurrTask->TaskStatus = TaskStatus;
+
+ CurrTask++;
+ }
+}
+
diff --git a/firmware/LUFA/Scheduler/Scheduler.h b/firmware/LUFA/Scheduler/Scheduler.h
new file mode 100644
index 0000000..a6f8ddd
--- /dev/null
+++ b/firmware/LUFA/Scheduler/Scheduler.h
@@ -0,0 +1,313 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Simple round-robbin pseudo-task scheduler.
+ *
+ * Simple round-robbin cooperative scheduler for use in basic projects where non real-time tasks need
+ * to be executed. Each task is executed in sequence, and can be enabled or disabled individually or as a group.
+ *
+ * \deprecated This module is deprecated and will be removed in a future library release.
+ */
+
+/** @defgroup Group_Scheduler Simple Task Scheduler - LUFA/Scheduler/Scheduler.h
+ *
+ * \deprecated This module is deprecated and will be removed in a future library release.
+ *
+ * \section Sec_Dependencies Module Source Dependencies
+ * The following files must be built with any user project that uses this module:
+ * - LUFA/Scheduler/Scheduler.c <i>(Makefile source module name: LUFA_SRC_SCHEDULER)</i>
+ *
+ * \section Module Description
+ * Simple round-robbin cooperative scheduler for use in basic projects where non real-time tasks need
+ * to be executed. Each task is executed in sequence, and can be enabled or disabled individually or as a group.
+ *
+ * For a task to yield it must return, thus each task should have persistent data marked with the static attribute.
+ *
+ * Each LUFA scheduler task should be written similar to an ISR; it should execute quickly (so that no one task
+ * hogs the processor, preventing another from running before some sort of timeout is exceeded). Unlike normal RTOS
+ * tasks, each LUFA scheduler task is a regular function, and thus must be designed to be called, and designed to
+ * return to the calling scheduler function repeatedly. Data which must be preserved between task calls should be
+ * declared as global or (preferably) as a static local variable inside the task.
+ *
+ * The scheduler consists of a task list, listing all the tasks which can be executed by the scheduler. Once started,
+ * each task is then called one after another, unless the task is stopped by another running task or interrupt.
+ *
+ * Usage Example:
+ * \code
+ * #include <LUFA/Scheduler/Scheduler.h>
+ *
+ * TASK(MyTask1); // Task prototype
+ * TASK(MyTask2); // Task prototype
+ *
+ * TASK_LIST
+ * {
+ * { .Task = MyTask1, .TaskStatus = TASK_RUN, .GroupID = 1 },
+ * { .Task = MyTask2, .TaskStatus = TASK_RUN, .GroupID = 1 },
+ * }
+ *
+ * int main(void)
+ * {
+ * Scheduler_Init();
+ *
+ * // Other initialisation here
+ *
+ * Scheduler_Start();
+ * }
+ *
+ * TASK(MyTask1)
+ * {
+ * // Task implementation here
+ * }
+ *
+ * TASK(MyTask2)
+ * {
+ * // Task implementation here
+ * }
+ * \endcode
+ *
+ * If desired, the LUFA scheduler <b>does not need to be used</b> in a LUFA powered application. A more conventional
+ * approach to application design can be used, or a proper scheduling RTOS inserted in the place of the LUFA scheduler.
+ * In the case of the former the USB task must be run manually repeatedly to maintain USB communications, and in the
+ * case of the latter a proper RTOS task must be set up to do the same.
+ *
+ * @{
+ */
+
+#ifndef __SCHEDULER_H__
+#define __SCHEDULER_H__
+
+ /* Includes: */
+ #include <stdint.h>
+ #include <stdbool.h>
+
+ #include <util/atomic.h>
+
+ #include "../Common/Common.h"
+
+ /* Enable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Creates a new scheduler task body or prototype. Should be used in the form:
+ * \code
+ * TASK(TaskName); // Prototype
+ *
+ * TASK(TaskName)
+ * {
+ * // Task body
+ * }
+ * \endcode
+ */
+ #define TASK(name) void name (void)
+
+ /** Defines a task list array, containing one or more task entries of the type TaskEntry_t. Each task list
+ * should be encased in curly braces and ended with a comma.
+ *
+ * Usage Example:
+ * \code
+ * TASK_LIST
+ * {
+ * { .Task = MyTask1, .TaskStatus = TASK_RUN, .GroupID = 1 },
+ * // More task entries here
+ * }
+ * \endcode
+ */
+ #define TASK_LIST TaskEntry_t Scheduler_TaskList[] =
+
+ /** Constant, giving the maximum delay in scheduler ticks which can be stored in a variable of type
+ * \ref SchedulerDelayCounter_t.
+ */
+ #define TASK_MAX_DELAY (MAX_DELAYCTR_COUNT - 1)
+
+ /** Task status mode constant, for passing to \ref Scheduler_SetTaskMode() or \ref Scheduler_SetGroupTaskMode(). */
+ #define TASK_RUN true
+
+ /** Task status mode constant, for passing to \ref Scheduler_SetTaskMode() or \ref Scheduler_SetGroupTaskMode(). */
+ #define TASK_STOP false
+
+ /* Pseudo-Function Macros: */
+ #if defined(__DOXYGEN__)
+ /** Starts the scheduler in its infinite loop, executing running tasks. This should be placed at the end
+ * of the user application's main() function, as it can never return to the calling function.
+ */
+ void Scheduler_Start(void);
+
+ /** Initialises the scheduler so that the scheduler functions can be called before the scheduler itself
+ * is started. This must be executed before any scheduler function calls other than Scheduler_Start(),
+ * and can be omitted if no such functions could be called before the scheduler is started.
+ */
+ void Scheduler_Init(void);
+ #else
+ #define Scheduler_Start() Scheduler_GoSchedule(TOTAL_TASKS);
+ #define Scheduler_Init() Scheduler_InitScheduler(TOTAL_TASKS);
+ #endif
+
+ /* Type Defines: */
+ /** Type define for a pointer to a scheduler task. */
+ typedef void (*TaskPtr_t)(void);
+
+ /** Type define for a variable which can hold a tick delay value for the scheduler up to the maximum delay
+ * possible.
+ */
+ typedef uint16_t SchedulerDelayCounter_t;
+
+ /** \brief Scheduler Task List Entry Structure.
+ *
+ * Structure for holding a single task's information in the scheduler task list.
+ */
+ typedef struct
+ {
+ TaskPtr_t Task; /**< Pointer to the task to execute. */
+ bool TaskStatus; /**< Status of the task (either TASK_RUN or TASK_STOP). */
+ uint8_t GroupID; /**< Group ID of the task so that its status can be changed as a group. */
+ } TaskEntry_t;
+
+ /* Global Variables: */
+ /** Task entry list, containing the scheduler tasks, task statuses and group IDs. Each entry is of type
+ * TaskEntry_t and can be manipulated as desired, although it is preferential that the proper Scheduler
+ * functions should be used instead of direct manipulation.
+ */
+ exter TaskEntry_t Scheduler_TaskList[];
+
+ /** Contains the total number of tasks in the task list, irrespective of if the task's status is set to
+ * \ref TASK_RUN or \ref TASK_STOP.
+ *
+ * \note This value should be treated as read-only, and never altered in user-code.
+ */
+ extern volatile uint8_t Scheduler_TotalTasks;
+
+ /** Contains the current scheduler tick count, for use with the delay functions. If the delay functions
+ * are used in the user code, this should be incremented each tick period so that the delays can be
+ * calculated.
+ */
+ extern volatile SchedulerDelayCounter_t Scheduler_TickCounter;
+
+ /* Inline Functions: */
+ /** Resets the delay counter value to the current tick count. This should be called to reset the period
+ * for a delay in a task which is dependant on the current tick value.
+ *
+ * \param[out] DelayCounter Counter which is storing the starting tick count for a given delay.
+ */
+ static inline void Scheduler_ResetDelay(SchedulerDelayCounter_t* const DelayCounter)
+ ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE;
+ static inline void Scheduler_ResetDelay(SchedulerDelayCounter_t* const DelayCounter)
+ {
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
+ {
+ *DelayCounter = Scheduler_TickCounter;
+ }
+ }
+
+ /* Function Prototypes: */
+ /** Determines if the given tick delay has elapsed, based on the given delay period and tick counter value.
+ *
+ * \param[in] Delay The delay to test for, measured in ticks.
+ * \param[in] DelayCounter The counter which is storing the starting tick value for the delay.
+ *
+ * \return Boolean true if the delay has elapsed, false otherwise.
+ *
+ * Usage Example:
+ * \code
+ * static SchedulerDelayCounter_t DelayCounter = 10000; // Force immediate run on start-up
+ *
+ * // Task runs every 10000 ticks, 10 seconds for this demo
+ * if (Scheduler_HasDelayElapsed(10000, &DelayCounter))
+ * {
+ * // Code to execute after delay interval elapsed here
+ * }
+ * \endcode
+ */
+ bool Scheduler_HasDelayElapsed(const uint16_t Delay,
+ SchedulerDelayCounter_t* const DelayCounter)
+ ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(2);
+
+ /** Sets the task mode for a given task.
+ *
+ * \param[in] Task Name of the task whose status is to be changed.
+ * \param[in] TaskStatus New task status for the task (\ref TASK_RUN or \ref TASK_STOP).
+ */
+ void Scheduler_SetTaskMode(const TaskPtr_t Task,
+ const bool TaskStatus);
+
+ /** Sets the task mode for a given task group ID, allowing for an entire group of tasks to have their
+ * statuses changed at once.
+ *
+ * \param[in] GroupID Value of the task group ID whose status is to be changed.
+ * \param[in] TaskStatus New task status for tasks in the specified group (\ref TASK_RUN or \ref TASK_STOP).
+ */
+ void Scheduler_SetGroupTaskMode(const uint8_t GroupID,
+ const bool TaskStatus);
+
+ /* Private Interface - For use in library only: */
+ #if !defined(__DOXYGEN__)
+ /* Macros: */
+ #define TOTAL_TASKS (sizeof(Scheduler_TaskList) / sizeof(TaskEntry_t))
+ #define MAX_DELAYCTR_COUNT 0xFFFF
+
+ /* Inline Functions: */
+ static inline void Scheduler_InitScheduler(const uint8_t TotalTasks) ATTR_ALWAYS_INLINE;
+ static inline void Scheduler_InitScheduler(const uint8_t TotalTasks)
+ {
+ Scheduler_TotalTasks = TotalTasks;
+ }
+
+ static inline void Scheduler_GoSchedule(const uint8_t TotalTasks) ATTR_NO_RETURN ATTR_ALWAYS_INLINE ATTR_DEPRECATED;
+ static inline void Scheduler_GoSchedule(const uint8_t TotalTasks)
+ {
+ Scheduler_InitScheduler(TotalTasks);
+
+ for (;;)
+ {
+ TaskEntry_t* CurrTask = &Scheduler_TaskList[0];
+
+ while (CurrTask != &Scheduler_TaskList[TotalTasks])
+ {
+ if (CurrTask->TaskStatus == TASK_RUN)
+ CurrTask->Task();
+
+ CurrTask++;
+ }
+ }
+ }
+ #endif
+
+ /* Disable C linkage for C++ Compilers: */
+ #if defined(__cplusplus)
+ }
+ #endif
+
+#endif
+
+/** @} */
+
diff --git a/firmware/LUFA/Version.h b/firmware/LUFA/Version.h
new file mode 100644
index 0000000..5f2434f
--- /dev/null
+++ b/firmware/LUFA/Version.h
@@ -0,0 +1,52 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ *
+ * \brief LUFA library version constants.
+ *
+ * Version constants for informational purposes and version-specific macro creation. This header file contains the
+ * current LUFA version number in several forms, for use in the user-application (for example, for printing out
+ * whilst debugging, or for testing for version compatibility).
+ */
+
+#ifndef __LUFA_VERSION_H__
+#define __LUFA_VERSION_H__
+
+ /* Public Interface - May be used in end-application: */
+ /* Macros: */
+ /** Indicates the version number of the library, as an integer. */
+ #define LUFA_VERSION_INTEGER 0x101122
+
+ /** Indicates the version number of the library, as a string. */
+ #define LUFA_VERSION_STRING "101122"
+
+#endif
+
diff --git a/firmware/LUFA/makefile b/firmware/LUFA/makefile
new file mode 100644
index 0000000..511c648
--- /dev/null
+++ b/firmware/LUFA/makefile
@@ -0,0 +1,77 @@
+#
+# LUFA Library
+# Copyright (C) Dean Camera, 2010.
+#
+# dean [at] fourwalledcubicle [dot] com
+# www.lufa-lib.org
+#
+
+# Makefile for the LUFA library itself. This can be used to generate the library documentation.
+
+
+# Check to see if the LUFA_PATH variable has not been set (the makefile is not being included from a project makefile)
+ifeq ($(origin LUFA_PATH), undefined)
+ LUFA_ROOT_PATH = .
+else
+ LUFA_ROOT_PATH = $(LUFA_PATH)/LUFA
+endif
+
+# Define module source file lists
+LUFA_SRC_USB = $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/Device.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/Endpoint.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/Host.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/Pipe.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/USBController.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/USBInterrupt.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/HighLevel/ConfigDescriptor.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/HighLevel/DeviceStandardReq.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/HighLevel/Events.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/HighLevel/EndpointStream.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/HighLevel/HostStandardReq.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/HighLevel/PipeStream.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/HighLevel/USBTask.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/HIDParser.c
+LUFA_SRC_USBCLASS = $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/Audio.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDC.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/HID.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MassStorage.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MIDI.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/RNDIS.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/CDC.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/HID.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MassStorage.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MIDI.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/Printer.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/RNDIS.c \
+ $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/StillImage.c
+LUFA_SRC_TEMPERATURE = $(LUFA_ROOT_PATH)/Drivers/Board/Temperature.c
+LUFA_SRC_SERIAL = $(LUFA_ROOT_PATH)/Drivers/Peripheral/Serial.c
+LUFA_SRC_SERIALSTREAM = $(LUFA_ROOT_PATH)/Drivers/Peripheral/SerialStream.c
+LUFA_SRC_TWI = $(LUFA_ROOT_PATH)/Drivers/Peripheral/TWI.c
+LUFA_SRC_SCHEDULER = $(LUFA_ROOT_PATH)/Scheduler/Scheduler.c
+
+
+# Check to see if the LUFA_PATH variable has not been set (the makefile is not being included from a project makefile)
+ifeq ($(origin LUFA_PATH), undefined)
+ LUFA_SRC_ALL_FILES = $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) \
+ $(LUFA_SRC_TEMPERATURE) $(LUFA_SRC_SERIAL) \
+ $(LUFA_SRC_SERIALSTREAM) $(LUFA_SRC_TWI) \
+ $(LUFA_SRC_SCHEDULER)
+
+ all:
+
+ clean:
+ rm -f $(LUFA_SRC_ALL_FILES:%.c=%.o)
+
+ clean_list:
+
+ doxygen:
+ @echo Generating Library Documentation...
+ ( cat Doxygen.conf ; echo "PROJECT_NUMBER=`grep LUFA_VERSION_STRING Version.h | cut -d'"' -f2`" ) | doxygen -
+ @echo Documentation Generation Complete.
+
+ clean_doxygen:
+ rm -rf Documentation
+
+ .PHONY: all clean clean_list doxygen clean_doxygen
+endif
diff --git a/firmware/VirtualSerial.aps b/firmware/VirtualSerial.aps
new file mode 100644
index 0000000..b0ae4c9
--- /dev/null
+++ b/firmware/VirtualSerial.aps
@@ -0,0 +1 @@
+<AVRStudio><MANAGEMENT><ProjectName>VirtualSerial</ProjectName><Created>13-Jul-2010 15:37:05</Created><LastEdit>13-Jul-2010 15:37:20</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>13-Jul-2010 15:37:05</Created><Version>4</Version><Build>4, 18, 0, 685</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile></ObjectFile><EntryFile></EntryFile><SaveFolder>C:\Users\Dean\Documents\Electronics\Projects\WORK\LUFAWORK\Demos\Device\ClassDriver\VirtualSerial\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET></CURRENT_TARGET><CURRENT_PART></CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>Descriptors.c</SOURCEFILE><SOURCEFILE>VirtualSerial.c</SOURCEFILE><HEADERFILE>Descriptors.h</HEADERFILE><HEADERFILE>VirtualSerial.h</HEADERFILE><OTHERFILE>makefile</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>YES</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE>makefile</EXTERNALMAKEFILE><PART>atmega128</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>VirtualSerial.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS/><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>C:\WinAVR-20100110\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>C:\WinAVR-20100110\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><IOView><usergroups/><sort sorted="0" column="0" ordername="0" orderaddress="0" ordergroup="0"/></IOView><Files></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>
diff --git a/firmware/VirtualSerial.c b/firmware/VirtualSerial.c
new file mode 100644
index 0000000..2fccda6
--- /dev/null
+++ b/firmware/VirtualSerial.c
@@ -0,0 +1,298 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ *
+ * Main source file for the VirtualSerial demo. This file contains the main tasks of
+ * the demo and is responsible for the initial application hardware configuration.
+ */
+
+#include "VirtualSerial.h"
+#include <util/delay.h>
+#include <avr/interrupt.h>
+
+static int running = true;
+
+/** LUFA CDC Class driver interface configuration and state information. This structure is
+ * passed to all CDC Class driver functions, so that multiple instances of the same class
+ * within a device can be differentiated from one another.
+ */
+USB_ClassInfo_CDC_Device_t VirtualSerial_CDC_Interface =
+ {
+ .Config =
+ {
+ .ControlInterfaceNumber = 0,
+
+ .DataINEndpointNumber = CDC_TX_EPNUM,
+ .DataINEndpointSize = CDC_TXRX_EPSIZE,
+ .DataINEndpointDoubleBank = false,
+
+ .DataOUTEndpointNumber = CDC_RX_EPNUM,
+ .DataOUTEndpointSize = CDC_TXRX_EPSIZE,
+ .DataOUTEndpointDoubleBank = false,
+
+ .NotificationEndpointNumber = CDC_NOTIFICATION_EPNUM,
+ .NotificationEndpointSize = CDC_NOTIFICATION_EPSIZE,
+ .NotificationEndpointDoubleBank = false,
+ },
+ };
+
+/** Standard file stream for the CDC interface when set up, so that the virtual CDC COM port can be
+ * used like any regular character stream in the C APIs
+ */
+static FILE USBSerialStream;
+
+static volatile uint8_t lock_timer_ticks;
+
+void lock_timer_setup(void)
+{
+ OCR1A = 128;
+
+ // CTC mode
+ TCCR1A = (1 << WGM12);
+
+ // Prescaler
+ TCCR1B = (1 << CS12);
+
+ // Enable interrupt
+ TIMSK1 = (1 << OCIE1A);
+}
+
+void lock_timer_reset(void)
+{
+ lock_timer_ticks = 0;
+}
+
+/** Main program entry point. This routine contains the overall program flow, including initial
+ * setup of all components and the main program loop.
+ */
+int main(void)
+{
+ DDRB = 1 << PB0 | 1 << PB4 | 0 << PB5;
+ PORTB = 0 << PB0;
+
+ SetupHardware();
+
+ lock_timer_setup();
+
+ /* Create a regular character stream for the interface so that it can be used with the stdio.h functions */
+ CDC_Device_CreateStream(&VirtualSerial_CDC_Interface, &USBSerialStream);
+
+// LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
+ sei();
+
+ while(running)
+ {
+ wdt_reset();
+
+ _delay_ms(250);
+// PORTB ^= 1 << PB0; // Toggle external LED
+
+// CheckPinStatus();
+
+ CheckACMStatus();
+
+ CDC_Device_USBTask(&VirtualSerial_CDC_Interface);
+ USB_USBTask();
+ }
+
+ USB_Detach();
+
+ /* Enable the watchdog and force a timeout to reset the AVR */
+ wdt_enable(WDTO_250MS);
+
+ for (;;);
+}
+
+void handle_command(const char *buf)
+{
+ if (strcmp("cola", buf) == 0)
+ {
+ PORTB ^= 1 << PB5;
+ fputs("mmm! LED toggeled\r\n", &USBSerialStream);
+ }
+
+ else if (strcmp("reboot", buf) == 0 || strcmp("reset", buf) == 0)
+ {
+ fputs("Rebooting!\r\n", &USBSerialStream);
+ running = false;
+ }
+
+ else if (strcmp("toggle", buf) == 0)
+ {
+ fputs("Toggling Magnet Lock\r\n", &USBSerialStream);
+ PORTB ^= 1 << PB4;
+ }
+
+ else if (strcmp("lock", buf) == 0)
+ {
+ fputs("status: locked\n", &USBSerialStream);
+ PORTB |= 1 << PB4;
+ }
+
+ else if (strcmp("unlock", buf) == 0)
+ {
+ fputs("status: unlocked\n", &USBSerialStream);
+ PORTB &= ~(1 << PB4);
+ lock_timer_reset();
+ }
+
+ else if (strcmp("doorstatus", buf) == 0)
+ {
+ if (PINB & (1 << PB5))
+ fputs("doorstatus: open\n", &USBSerialStream);
+ else
+ fputs("doorstatus: closed\n", &USBSerialStream);
+ }
+}
+
+void CheckACMStatus()
+{
+ static char buf[32];
+ static uint8_t len = 0;
+
+ int c;
+ while((c = CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface)) > 0)
+ {
+ putc(c, &USBSerialStream);
+
+ if (c == '\r')
+ {
+ putc('\n', &USBSerialStream);
+ buf[len++] = '\0';
+ handle_command(buf);
+ len = 0;
+ continue;
+ }
+
+ buf[len++] = c;
+
+ if (len == sizeof(buf))
+ {
+ len = 0;
+ continue;
+ }
+ }
+}
+
+/** Configures the board hardware and chip peripherals for the demo's functionality. */
+void SetupHardware(void)
+{
+ /* Disable watchdog if enabled by bootloader/fuses */
+ MCUSR &= ~(1 << WDRF);
+
+ /* Enable the watchdog timer. */
+ wdt_enable(WDTO_1S);
+
+ /* Disable clock division */
+ clock_prescale_set(clock_div_1);
+
+ /* Hardware Initialization */
+ USB_Init();
+}
+
+/** Checks for changes in the position of the board joystick, sending strings to the host upon each change. */
+void CheckPinStatus(void)
+{
+ char* ReportString = NULL;
+ static bool ActionSent = false;
+
+ if (!(PINB & (1 << PB6)))
+ {
+ ReportString = "Hello, World!\r\n";
+ ActionSent = false;
+ }
+
+ if (!(PINB & (1 << PB7)))
+ {
+ ReportString = "Rebooting!\r\n";
+ ActionSent = false;
+ running = false;
+ }
+
+ if ((ReportString != NULL) && (ActionSent == false))
+ {
+ ActionSent = true;
+
+ /* Write the string to the virtual COM port via the created character stream */
+ fputs(ReportString, &USBSerialStream);
+
+ _delay_ms(100);
+
+ /* Alternatively, without the stream: */
+ // CDC_Device_SendString(&VirtualSerial_CDC_Interface, ReportString, strlen(ReportString));
+ }
+}
+
+/** Event handler for the library USB Connection event. */
+void EVENT_USB_Device_Connect(void)
+{
+// LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING);
+}
+
+/** Event handler for the library USB Disconnection event. */
+void EVENT_USB_Device_Disconnect(void)
+{
+// LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
+}
+
+/** Event handler for the library USB Configuration Changed event. */
+void EVENT_USB_Device_ConfigurationChanged(void)
+{
+ bool ConfigSuccess = true;
+
+ ConfigSuccess &= CDC_Device_ConfigureEndpoints(&VirtualSerial_CDC_Interface);
+
+// LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
+}
+
+/** Event handler for the library USB Control Request reception event. */
+void EVENT_USB_Device_ControlRequest(void)
+{
+ CDC_Device_ProcessControlRequest(&VirtualSerial_CDC_Interface);
+}
+
+ISR(TIMER1_COMPA_vect)
+{
+ if(PINB & (1 << PB5))
+ PORTB |= 1 << PB4;
+
+ if(lock_timer_ticks == 0xff)
+ return;
+
+ if(lock_timer_ticks < 30)
+ {
+ ++lock_timer_ticks;
+ return;
+ }
+
+ PORTB |= 1 << PB4;
+ lock_timer_ticks = 0xff;
+}
diff --git a/firmware/VirtualSerial.eep b/firmware/VirtualSerial.eep
new file mode 100644
index 0000000..1996e8f
--- /dev/null
+++ b/firmware/VirtualSerial.eep
@@ -0,0 +1 @@
+:00000001FF
diff --git a/firmware/VirtualSerial.elf b/firmware/VirtualSerial.elf
new file mode 100755
index 0000000..f64822a
--- /dev/null
+++ b/firmware/VirtualSerial.elf
Binary files differ
diff --git a/firmware/VirtualSerial.h b/firmware/VirtualSerial.h
new file mode 100644
index 0000000..63e20ee
--- /dev/null
+++ b/firmware/VirtualSerial.h
@@ -0,0 +1,64 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ *
+ * Header file for VirtualSerial.c.
+ */
+
+#ifndef _VIRTUALSERIAL_H_
+#define _VIRTUALSERIAL_H_
+
+ /* Includes: */
+ #include <avr/io.h>
+ #include <avr/wdt.h>
+ #include <avr/power.h>
+ #include <avr/interrupt.h>
+ #include <string.h>
+ #include <stdio.h>
+
+ #include "Descriptors.h"
+
+ #include <LUFA/Version.h>
+ #include <LUFA/Drivers/USB/USB.h>
+
+ /* Macros: */
+
+ /* Function Prototypes: */
+ void SetupHardware(void);
+ void CheckJoystickMovement(void);
+
+ void EVENT_USB_Device_Connect(void);
+ void EVENT_USB_Device_Disconnect(void);
+ void EVENT_USB_Device_ConfigurationChanged(void);
+ void EVENT_USB_Device_ControlRequest(void);
+
+#endif
+
diff --git a/firmware/VirtualSerial.hex b/firmware/VirtualSerial.hex
new file mode 100644
index 0000000..e713d77
--- /dev/null
+++ b/firmware/VirtualSerial.hex
@@ -0,0 +1,252 @@
+:1000000081C000009AC0000098C0000096C00000A7
+:1000100094C0000092C0000090C000008EC000009C
+:100020008CC000008AC0000088C0000080C20000B0
+:1000300084C0000082C0000080C0000093C00000A7
+:100040007CC000007AC0000078C0000076C00000CC
+:1000500074C0000072C0000070C000006EC00000DC
+:100060006CC000006AC0000068C0000066C00000EC
+:1000700064C000001201100102000008EB036F20B1
+:1000800001000102000109023E00020100C0320924
+:1000900004000001020201000524001001042402F2
+:1000A000060524060001070582030800FF09040174
+:1000B00000020A0000000705040210000107058382
+:1000C00002100001040309041803500049004E0007
+:1000D000470020004C00610062007300000026030E
+:1000E000460072006900640067006500200043005C
+:1000F0006F006E00740072006F006C006C00650091
+:100100007200000011241FBECFEFD2E0DEBFCDBFD2
+:1001100011E0A0E0B1E0EEECFEE002C005900D922F
+:10012000A83DB107D9F712E0A8EDB1E001C01D92DA
+:10013000A631B107E1F7EBD0C8C662CFE0E8F0E046
+:10014000F0938900E093880088E0808384E08093C6
+:10015000810082E080936F00089510920802089554
+:10016000089508951F920F920FB60F9211248F9346
+:100170001D992C9A809108028F3F61F080910802AE
+:100180008E3120F4809108028F5F02C02C9A8FEF8D
+:10019000809308028F910F900FBE0F901F901895BB
+:1001A00080EC91E0ADC580EC91E061C584B7877FBC
+:1001B00084BF2EE088E190E00FB6F894A895809374
+:1001C00060000FBE2093600090E080E80FB6F894C6
+:1001D00080936100909361000FBE9AC1CF93DF932B
+:1001E000EC018DE191E0BE01F8D5009739F485B1BD
+:1001F00090E2892785B982E291E04EC086E391E0E2
+:10020000BE01EBD5009731F08DE391E0BE01E5D55D
+:10021000009751F480E191E06AEF71E013D61092FB
+:10022000D7011092D6013BC083E491E0BE01D5D541
+:10023000009751F48AE491E06AEF71E003D685B14A
+:1002400090E1892785B92BC081E691E0BE01C5D533
+:10025000009739F486E691E06AEF71E0F3D52C9AC5
+:100260001EC086E791E0BE01B8D5009741F48DE746
+:1002700091E06AEF71E0E6D52C986FDF10C08FE84F
+:1002800091E0BE01AAD5009751F41D9B03C08AE9F5
+:1002900091E002C08CEA91E06AEF71E0D3D5DF9182
+:1002A000CF910895CF93DF9328C0CE016AEF71E01C
+:1002B0009DD5CD30D10599F48AE090E06AEF71E0E8
+:1002C00095D58091D901E82FF0E0E652FE4F1082DB
+:1002D0008F5F8093D9018AED91E080DF0CC080911F
+:1002E000D901E82FF0E0E652FE4FC0838F5F809384
+:1002F000D901803211F41092D90180EC91E0FCD345
+:10030000EC01181619068CF2DF91CF910895CF9366
+:10031000DF9381E184B915B849DF10DF80EC91E00B
+:100320006AEF71E016D47894C0E9D1E00DC0A895C9
+:1003300084EC99E0FE013197F1F70197D9F7B2DF2C
+:1003400080EC91E050D4C4D38091D6019091D70134
+:10035000892B69F78091E00081608093E0002CE0B8
+:1003600088E190E00FB6F894A895809360000FBEE6
+:1003700020936000FFCFDA01923049F0933061F0B2
+:100380009130F9F4E4E7F0E022E130E01EC0E6E865
+:10039000F0E02EE330E019C0813049F0813018F0F0
+:1003A000823079F408C0E4ECF0E0849107C0E8EC16
+:1003B000F0E0849103C0EEEDF0E08491282F30E06E
+:1003C00004C0E0E0F0E020E030E0ED93FC93C901F0
+:1003D00008958093E9008091EB0081608093EB00A9
+:1003E0001092ED006093EC004093ED008091EE00E0
+:1003F000881F8827881F089580910E0288239CF407
+:1004000004C080910D028823B9F08091E80082FF3A
+:10041000F8CF8091E8008B778093E8000895809171
+:100420000D02882349F08091E80080FFF8CF809189
+:10043000E8008E778093E80008954091E4005091A1
+:10044000E50024E68091EC0080FF05C08091E80083
+:1004500080FF05C022C08091E80082FD1EC080910F
+:100460000D02882311F482E00895853011F483E0B1
+:1004700008958091EB0085FF02C081E0089580918E
+:10048000E4009091E50084179507E1F2222311F42E
+:1004900084E008952150AC01D5CF80E0089541D08B
+:1004A00043D08091D800982F9F779093D800806890
+:1004B0008093D80084E089BD89B5826089BD09B484
+:1004C00000FEFDCF8091D8008F7D8093D8001092E0
+:1004D0000D0210920B0210920A021092090280E0A3
+:1004E00060E042E076DF8091E1008E7F8093E10062
+:1004F0008091E20081608093E2008091E200886058
+:100500008093E2008091E0008E7F8093E000089568
+:10051000E3E6F0E080818E7F808381E080930C02AF
+:10052000BECF1092E20008951092E10008951F924C
+:100530000F920FB60F9211242F933F934F935F9317
+:100540006F937F938F939F93AF93BF93EF93FF939B
+:100550008091E10080FF1CC08091E20080FF18C004
+:100560008091E1008E7F8093E1008091E2008E7F98
+:100570008093E2008091E20080618093E2008091AC
+:10058000D80080628093D80019BC10920D02E9DD7A
+:100590008091E10084FF2EC08091E20084FF2AC098
+:1005A00084E089BD89B5826089BD09B400FEFDCFB4
+:1005B0008091D8008F7D8093D8008091E1008F7E5C
+:1005C0008093E1008091E2008F7E8093E200809131
+:1005D000E20081608093E20080910B02882331F475
+:1005E0008091E30087FD02C081E001C084E0809338
+:1005F0000D02B6DD8091E10083FF22C08091E20010
+:1006000083FF1EC08091E100877F8093E10082E03C
+:1006100080930D0210920B028091E1008E7F8093F7
+:10062000E1008091E2008E7F8093E2008091E20001
+:1006300080618093E20080E060E042E0CADE4BD15E
+:100640008091E10082FF0AC08091E20082FF06C033
+:100650008091E1008B7F8093E1003DD1FF91EF918C
+:10066000BF91AF919F918F917F916F915F914F91CA
+:100670003F912F910F900FBE0F901F9018950F93E1
+:100680001F93DF93CF9300D0CDB7DEB7EEE0F2E05B
+:100690008091F100819382E0E631F807C9F780DDAF
+:1006A0008091E80083FF02C180910E0230910F0219
+:1006B000353009F487C0363040F43130C9F131307B
+:1006C00070F0333009F0F2C033C0383009F4C0C0E4
+:1006D000393009F4CFC0363009F0E8C099C080380D
+:1006E00021F0823809F0E2C008C09091090280919F
+:1006F0000A02882399F0926011C0809112028770DB
+:100700008093E9008091EB0090E025E09695879535
+:100710002A95E1F7982F91701092E9008091E800F6
+:10072000877F8093E8009093F1001092F1009BC0C6
+:10073000882319F0823009F0B9C090E08F71907071
+:10074000009721F0029709F0B1C00CC0809110020F
+:10075000813009F0ABC010920A02333069F5809302
+:100760000A022AC080911002882331F520911202DA
+:10077000277009F49BC02093E9008091EB0080FF73
+:100780001BC0333021F48091EB00806213C0809154
+:10079000EB0080618093EB0081E090E002C0880F65
+:1007A000991F2A95E2F78093EA001092EA0080915F
+:1007B000EB0088608093EB001092E9008091E800E4
+:1007C000877F54C0882309F071C0109110021F77F1
+:1007D0000FB7F8948091E800877F8093E8000CDEE3
+:1007E0008091E80080FFFCCF112311F482E001C06A
+:1007F00083E080930D028091E3008078182B1093A2
+:10080000E3008091E30080688093E3000FBF4EC057
+:100810008058823008F04AC08091100290911102F5
+:1008200060911202AE014F5F5F4FA5DDBC010097E2
+:1008300009F43CC08091E800877F8093E8008981BB
+:100840009A81A8D08091E8008B778093E8002EC031
+:10085000803861F58091E800877F8093E80080917F
+:100860000B028093F1008091E8008E778093E8007E
+:10087000C3DD1CC08823D1F4909110029230B0F4F3
+:100880008091E800877F8093E80090930B02B4DDAD
+:1008900080910B02882331F48091E30087FD02C030
+:1008A00081E001C084E080930D027DDC8091E8004E
+:1008B00083FF0AC08091EB0080628093EB008091FF
+:1008C000E800877F8093E8000F900F90CF91DF9131
+:1008D0001F910F91089508959C0140911402509129
+:1008E00015024617570718F4F90190E03DC061154D
+:1008F000710511F0AB01F8CF8091E8008E778093FD
+:10090000E80040E050E0F0CF80910D028823F1F143
+:100910008530F1F18091E80083FF02C081E0089505
+:100920008091E80082FD2CC08091E80080FF1CC00F
+:100930008091F200282F30E007C081918093F10070
+:10094000415050402F5F3F4F4115510519F028305D
+:10095000310598F390E02830310509F491E0809159
+:10096000E8008E778093E8004115510569F69923D8
+:1009700059F606C080910D02882341F0853041F080
+:100980008091E80082FFF6CF80E0089582E008952C
+:1009900083E008959C01409114025091150246177E
+:1009A000570710F460E03FC06115710511F0AB010D
+:1009B000F9CF8091E8008E778093E80040E050E026
+:1009C000F1CF80910D02882309F43FC0853009F4EE
+:1009D0003EC08091E80083FF02C081E008958091CD
+:1009E000E80082FD2CC08091E80080FF1CC080914F
+:1009F000F20090E009C0F9012F5F3F4FE491E093CE
+:100A0000F1004150504001964115510519F08830D0
+:100A1000910588F360E0089709F461E08091E800AF
+:100A20008E778093E8004115510559F6662349F603
+:100A300006C080910D02882341F0853041F08091FD
+:100A4000E80082FFF6CF80E0089582E0089583E019
+:100A500008959C016115710529F48091E8008B7758
+:100A60008093E800F90120C080910D02882361F194
+:100A7000853061F18091E80083FF02C081E0089534
+:100A80008091E80082FFF0CF06C08091F100819351
+:100A90006150704021F08091F2008823B1F780917D
+:100AA000E8008B778093E80061157105E9F606C0D0
+:100AB00080910D02882341F0853041F08091E8005B
+:100AC00080FFF6CF80E0089582E0089583E00895E6
+:100AD0001F9380910D02882361F01091E90010921C
+:100AE000E9008091E80083FF01C0C9DD1770109311
+:100AF000E9001F9108950895FC0180910D02843052
+:100B000021F587859089A189B2890097A105B10552
+:100B1000E1F085818093E9008091E80082FF15C0B3
+:100B20008091F200882319F42FEF3FEF04C08091E9
+:100B3000F100282F30E08091F200882341F4809169
+:100B4000E8008B778093E80002C02FEF3FEFC901E8
+:100B50000895FB012EE0DB011D922A95E9F723E0C1
+:100B6000238328E236E0318720872CEB35E033877A
+:100B70002287958784870895FC0184859585BCDF4D
+:100B80009C0197FF02C02EEF3FEFC9010895FC01C1
+:100B900080910D02843011F587859089A189B289F1
+:100BA0000097A105B105D1F081818093E900809182
+:100BB000F2008823A9F09091E8008091E8008E77F8
+:100BC0008093E80095FD0CC038DC982F882349F409
+:100BD0008091E8008E778093E80003C092E001C026
+:100BE00090E0892F0895FC0180910D02843051F42A
+:100BF00087859089A189B2890097A105B10511F077
+:100C0000CF01C5CF08951F93FC01162F80910D02CF
+:100C10008430D9F487859089A189B2890097A1058C
+:100C2000B10599F081818093E9008091E80085FD0C
+:100C300008C08091E8008E778093E800FEDB88236F
+:100C400029F41093F10080E001C082E01F91089523
+:100C5000282FFB0184859585622FD5DF882319F421
+:100C600020E030E002C02FEF3FEFC90108951F934D
+:100C7000CF93DF93EC010D96FC0189E0DF011D921B
+:100C80008A95E9F711E08981181729F4EA81FB8137
+:100C90008C8162E010C08D81181731F4EE81FF81E4
+:100CA000888562E030E008C08985181709F5EA8573
+:100CB000FB858C8563E031E0882311F440E001C0BE
+:100CC00044E020E088E090E003C02F5F880F991F88
+:100CD0008E179F07D0F36295660F660F607C632BBB
+:100CE00042602295207F422B812F73DB882321F0E5
+:100CF0001F5F153041F681E0DF91CF911F9108957C
+:100D0000CF93DF93EC018091E80083FF63C088817B
+:100D100090E020911202309113022817390709F050
+:100D200059C080910F02813261F0823220F480320A
+:100D300009F050C01BC0823279F1833209F04AC0F9
+:100D40003BC080910E02813A09F044C08091E800D6
+:100D5000877F8093E800CE010F9667E070E0BCDDEE
+:100D60008091E8008B778093E80034C080910E0278
+:100D7000813281F58091E800877F8093E800CE0181
+:100D80000F9667E070E065DE8091E8008E778093D3
+:100D9000E800CE01B0DE1EC080910E028132D1F497
+:100DA0008091E800877F8093E80026DB8091100225
+:100DB0008D87CE01A0DE0EC080910E02813251F4EB
+:100DC0008091E800877F8093E80016DBCE01609178
+:100DD000100291DEDF91CF910895FB01DC018D912E
+:100DE000019080190110D9F3990B08950F931F9367
+:100DF000CF93DF938C01EB018B8181FF1BC082FFBE
+:100E00000DC02E813F818C819D812817390764F4A4
+:100E1000E881F9810193F983E88306C0E885F985C3
+:100E2000802F0995892B31F48E819F8101969F83B4
+:100E30008E8302C00FEF1FEFC801DF91CF911F918A
+:100E40000F910895EF92FF920F931F93CF93DF932B
+:100E50007C018B01DB0113968C9181FD03C0CFEFE8
+:100E6000DFEF13C0C0E0D0E00BC0D8011896ED91C1
+:100E7000FC911997B8010995892B11F0CFEFDFEF9D
+:100E8000F70181917F01882381F7CE01CDB7DEB7CD
+:100E9000E6E00CC02A88398848885F846E847D84A7
+:100EA0008C849B84AA84B984C884DF80EE80FD8012
+:100EB0000C811B81AA81B981CE0FD11D0FB6F89488
+:0E0EC000DEBF0FBECDBFED010895F894FFCF49
+:100ECE0048656C6C6F2C20576F726C64210D0A0094
+:100EDE005265626F6F74696E67210D0A00636F6CE5
+:100EEE0061006D6D6D21204C454420746F67676500
+:100EFE006C65640D0A007265626F6F7400726573C3
+:100F0E00657400746F67676C6500546F67676C6912
+:100F1E006E67204D61676E6574204C6F636B0D0AB2
+:100F2E00006C6F636B007374617475733A206C6F31
+:100F3E00636B65640A00756E6C6F636B007374612E
+:100F4E007475733A20756E6C6F636B65640A00641A
+:100F5E006F6F7273746174757300646F6F727374F4
+:100F6E00617475733A206F70656E0A00646F6F72EC
+:100F7E007374617475733A20636C6F7365640A00E1
+:100F8E000003100000041000000208000000000022
+:080F9E0000000000000001004A
+:00000001FF
diff --git a/firmware/VirtualSerial.lss b/firmware/VirtualSerial.lss
new file mode 100644
index 0000000..c2bb1c1
--- /dev/null
+++ b/firmware/VirtualSerial.lss
@@ -0,0 +1,3526 @@
+
+VirtualSerial.elf: file format elf32-avr
+
+Sections:
+Idx Name Size VMA LMA File off Algn
+ 0 .data 000000d8 00800100 00000ece 00000f62 2**0
+ CONTENTS, ALLOC, LOAD, DATA
+ 1 .text 00000ece 00000000 00000000 00000094 2**1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 2 .bss 0000003e 008001d8 008001d8 0000103a 2**0
+ ALLOC
+ 3 .stab 00001080 00000000 00000000 0000103c 2**2
+ CONTENTS, READONLY, DEBUGGING
+ 4 .stabstr 000009a6 00000000 00000000 000020bc 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 5 .debug_aranges 00000438 00000000 00000000 00002a62 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 6 .debug_pubnames 00000b8d 00000000 00000000 00002e9a 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 7 .debug_info 00006c93 00000000 00000000 00003a27 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 8 .debug_abbrev 00001dd1 00000000 00000000 0000a6ba 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 9 .debug_line 00005218 00000000 00000000 0000c48b 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 10 .debug_frame 00000650 00000000 00000000 000116a4 2**2
+ CONTENTS, READONLY, DEBUGGING
+ 11 .debug_str 00002b5d 00000000 00000000 00011cf4 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 12 .debug_loc 00002be2 00000000 00000000 00014851 2**0
+ CONTENTS, READONLY, DEBUGGING
+ 13 .debug_ranges 00000458 00000000 00000000 00017433 2**0
+ CONTENTS, READONLY, DEBUGGING
+
+Disassembly of section .text:
+
+00000000 <__vectors>:
+ USB_Init();
+}
+
+/** Checks for changes in the position of the board joystick, sending strings to the host upon each change. */
+void CheckPinStatus(void)
+{
+ 0: 81 c0 rjmp .+258 ; 0x104 <__ctors_end>
+
+ return Endpoint_IsConfigured();
+}
+
+void Endpoint_ClearEndpoints(void)
+{
+ 2: 00 00 nop
+ #if defined(USB_CAN_BE_BOTH)
+ USB_CurrentMode = USB_MODE_None;
+ #endif
+
+ USB_IsInitialized = false;
+}
+ 4: 9a c0 rjmp .+308 ; 0x13a <__bad_interrupt>
+uint8_t TEMPLATE_FUNC_NAME (const void* Buffer,
+ uint16_t Length)
+{
+ 6: 00 00 nop
+
+ return ENDPOINT_READYWAIT_NoError;
+}
+
+uint16_t CDC_Device_BytesReceived(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+{
+ 8: 98 c0 rjmp .+304 ; 0x13a <__bad_interrupt>
+ a: 00 00 nop
+ c: 96 c0 rjmp .+300 ; 0x13a <__bad_interrupt>
+ e: 00 00 nop
+ 10: 94 c0 rjmp .+296 ; 0x13a <__bad_interrupt>
+ 12: 00 00 nop
+ 14: 92 c0 rjmp .+292 ; 0x13a <__bad_interrupt>
+ 16: 00 00 nop
+ 18: 90 c0 rjmp .+288 ; 0x13a <__bad_interrupt>
+ 1a: 00 00 nop
+ 1c: 8e c0 rjmp .+284 ; 0x13a <__bad_interrupt>
+ 1e: 00 00 nop
+ 20: 8c c0 rjmp .+280 ; 0x13a <__bad_interrupt>
+ 22: 00 00 nop
+ 24: 8a c0 rjmp .+276 ; 0x13a <__bad_interrupt>
+ 26: 00 00 nop
+ 28: 88 c0 rjmp .+272 ; 0x13a <__bad_interrupt>
+ 2a: 00 00 nop
+ 2c: 80 c2 rjmp .+1280 ; 0x52e <__vector_11>
+ 2e: 00 00 nop
+ 30: 84 c0 rjmp .+264 ; 0x13a <__bad_interrupt>
+ 32: 00 00 nop
+ 34: 82 c0 rjmp .+260 ; 0x13a <__bad_interrupt>
+ 36: 00 00 nop
+ 38: 80 c0 rjmp .+256 ; 0x13a <__bad_interrupt>
+ 3a: 00 00 nop
+ 3c: 93 c0 rjmp .+294 ; 0x164 <__vector_15>
+ 3e: 00 00 nop
+ 40: 7c c0 rjmp .+248 ; 0x13a <__bad_interrupt>
+ 42: 00 00 nop
+ 44: 7a c0 rjmp .+244 ; 0x13a <__bad_interrupt>
+ 46: 00 00 nop
+ 48: 78 c0 rjmp .+240 ; 0x13a <__bad_interrupt>
+ 4a: 00 00 nop
+ 4c: 76 c0 rjmp .+236 ; 0x13a <__bad_interrupt>
+ 4e: 00 00 nop
+ 50: 74 c0 rjmp .+232 ; 0x13a <__bad_interrupt>
+ 52: 00 00 nop
+ 54: 72 c0 rjmp .+228 ; 0x13a <__bad_interrupt>
+ 56: 00 00 nop
+ 58: 70 c0 rjmp .+224 ; 0x13a <__bad_interrupt>
+ 5a: 00 00 nop
+ 5c: 6e c0 rjmp .+220 ; 0x13a <__bad_interrupt>
+ 5e: 00 00 nop
+ 60: 6c c0 rjmp .+216 ; 0x13a <__bad_interrupt>
+ 62: 00 00 nop
+ 64: 6a c0 rjmp .+212 ; 0x13a <__bad_interrupt>
+ 66: 00 00 nop
+ 68: 68 c0 rjmp .+208 ; 0x13a <__bad_interrupt>
+ 6a: 00 00 nop
+ 6c: 66 c0 rjmp .+204 ; 0x13a <__bad_interrupt>
+ 6e: 00 00 nop
+ 70: 64 c0 rjmp .+200 ; 0x13a <__bad_interrupt>
+ 72: 00 00 nop
+
+00000074 <DeviceDescriptor>:
+ 74: 12 01 10 01 02 00 00 08 eb 03 6f 20 01 00 01 02 ..........o ....
+ 84: 00 01 ..
+
+00000086 <ConfigurationDescriptor>:
+ 86: 09 02 3e 00 02 01 00 c0 32 09 04 00 00 01 02 02 ..>.....2.......
+ 96: 01 00 05 24 00 10 01 04 24 02 06 05 24 06 00 01 ...$....$...$...
+ a6: 07 05 82 03 08 00 ff 09 04 01 00 02 0a 00 00 00 ................
+ b6: 07 05 04 02 10 00 01 07 05 83 02 10 00 01 ..............
+
+000000c4 <LanguageString>:
+ c4: 04 03 09 04 ....
+
+000000c8 <ManufacturerString>:
+ c8: 18 03 50 00 49 00 4e 00 47 00 20 00 4c 00 61 00 ..P.I.N.G. .L.a.
+ d8: 62 00 73 00 00 00 b.s...
+
+000000de <ProductString>:
+ de: 26 03 46 00 72 00 69 00 64 00 67 00 65 00 20 00 &.F.r.i.d.g.e. .
+ ee: 43 00 6f 00 6e 00 74 00 72 00 6f 00 6c 00 6c 00 C.o.n.t.r.o.l.l.
+ fe: 65 00 72 00 00 00 e.r...
+
+00000104 <__ctors_end>:
+ 104: 11 24 eor r1, r1
+ 106: 1f be out 0x3f, r1 ; 63
+ 108: cf ef ldi r28, 0xFF ; 255
+ 10a: d2 e0 ldi r29, 0x02 ; 2
+ 10c: de bf out 0x3e, r29 ; 62
+ 10e: cd bf out 0x3d, r28 ; 61
+
+00000110 <__do_copy_data>:
+ 110: 11 e0 ldi r17, 0x01 ; 1
+ 112: a0 e0 ldi r26, 0x00 ; 0
+ 114: b1 e0 ldi r27, 0x01 ; 1
+ 116: ee ec ldi r30, 0xCE ; 206
+ 118: fe e0 ldi r31, 0x0E ; 14
+ 11a: 02 c0 rjmp .+4 ; 0x120 <.do_copy_data_start>
+
+0000011c <.do_copy_data_loop>:
+ 11c: 05 90 lpm r0, Z+
+ 11e: 0d 92 st X+, r0
+
+00000120 <.do_copy_data_start>:
+ 120: a8 3d cpi r26, 0xD8 ; 216
+ 122: b1 07 cpc r27, r17
+ 124: d9 f7 brne .-10 ; 0x11c <.do_copy_data_loop>
+
+00000126 <__do_clear_bss>:
+ 126: 12 e0 ldi r17, 0x02 ; 2
+ 128: a8 ed ldi r26, 0xD8 ; 216
+ 12a: b1 e0 ldi r27, 0x01 ; 1
+ 12c: 01 c0 rjmp .+2 ; 0x130 <.do_clear_bss_start>
+
+0000012e <.do_clear_bss_loop>:
+ 12e: 1d 92 st X+, r1
+
+00000130 <.do_clear_bss_start>:
+ 130: a6 31 cpi r26, 0x16 ; 22
+ 132: b1 07 cpc r27, r17
+ 134: e1 f7 brne .-8 ; 0x12e <.do_clear_bss_loop>
+ 136: eb d0 rcall .+470 ; 0x30e <main>
+ 138: c8 c6 rjmp .+3472 ; 0xeca <_exit>
+
+0000013a <__bad_interrupt>:
+ 13a: 62 cf rjmp .-316 ; 0x0 <__vectors>
+
+0000013c <lock_timer_setup>:
+
+static volatile uint8_t lock_timer_ticks;
+
+void lock_timer_setup(void)
+{
+ OCR1A = 128;
+ 13c: e0 e8 ldi r30, 0x80 ; 128
+ 13e: f0 e0 ldi r31, 0x00 ; 0
+ 140: f0 93 89 00 sts 0x0089, r31
+ 144: e0 93 88 00 sts 0x0088, r30
+
+ // CTC mode
+ TCCR1A = (1 << WGM12);
+ 148: 88 e0 ldi r24, 0x08 ; 8
+ 14a: 80 83 st Z, r24
+
+ // Prescaler
+ TCCR1B = (1 << CS12);
+ 14c: 84 e0 ldi r24, 0x04 ; 4
+ 14e: 80 93 81 00 sts 0x0081, r24
+
+ // Enable interrupt
+ TIMSK1 = (1 << OCIE1A);
+ 152: 82 e0 ldi r24, 0x02 ; 2
+ 154: 80 93 6f 00 sts 0x006F, r24
+}
+ 158: 08 95 ret
+
+0000015a <lock_timer_reset>:
+
+void lock_timer_reset(void)
+{
+ lock_timer_ticks = 0;
+ 15a: 10 92 08 02 sts 0x0208, r1
+}
+ 15e: 08 95 ret
+
+00000160 <EVENT_USB_Device_Connect>:
+
+/** Event handler for the library USB Connection event. */
+void EVENT_USB_Device_Connect(void)
+{
+// LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING);
+}
+ 160: 08 95 ret
+
+00000162 <EVENT_USB_Device_Disconnect>:
+
+/** Event handler for the library USB Disconnection event. */
+void EVENT_USB_Device_Disconnect(void)
+{
+// LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
+}
+ 162: 08 95 ret
+
+00000164 <__vector_15>:
+{
+ CDC_Device_ProcessControlRequest(&VirtualSerial_CDC_Interface);
+}
+
+ISR(TIMER1_COMPA_vect)
+{
+ 164: 1f 92 push r1
+ 166: 0f 92 push r0
+ 168: 0f b6 in r0, 0x3f ; 63
+ 16a: 0f 92 push r0
+ 16c: 11 24 eor r1, r1
+ 16e: 8f 93 push r24
+ if(PINB & (1 << PB5))
+ 170: 1d 99 sbic 0x03, 5 ; 3
+ PORTB |= 1 << PB4;
+ 172: 2c 9a sbi 0x05, 4 ; 5
+
+ if(lock_timer_ticks == 0xff)
+ 174: 80 91 08 02 lds r24, 0x0208
+ 178: 8f 3f cpi r24, 0xFF ; 255
+ 17a: 61 f0 breq .+24 ; 0x194 <__vector_15+0x30>
+ return;
+
+ if(lock_timer_ticks < 30)
+ 17c: 80 91 08 02 lds r24, 0x0208
+ 180: 8e 31 cpi r24, 0x1E ; 30
+ 182: 20 f4 brcc .+8 ; 0x18c <__vector_15+0x28>
+ {
+ ++lock_timer_ticks;
+ 184: 80 91 08 02 lds r24, 0x0208
+ 188: 8f 5f subi r24, 0xFF ; 255
+ 18a: 02 c0 rjmp .+4 ; 0x190 <__vector_15+0x2c>
+ return;
+ }
+
+ PORTB |= 1 << PB4;
+ 18c: 2c 9a sbi 0x05, 4 ; 5
+ lock_timer_ticks = 0xff;
+ 18e: 8f ef ldi r24, 0xFF ; 255
+ 190: 80 93 08 02 sts 0x0208, r24
+}
+ 194: 8f 91 pop r24
+ 196: 0f 90 pop r0
+ 198: 0f be out 0x3f, r0 ; 63
+ 19a: 0f 90 pop r0
+ 19c: 1f 90 pop r1
+ 19e: 18 95 reti
+
+000001a0 <EVENT_USB_Device_ControlRequest>:
+}
+
+/** Event handler for the library USB Control Request reception event. */
+void EVENT_USB_Device_ControlRequest(void)
+{
+ CDC_Device_ProcessControlRequest(&VirtualSerial_CDC_Interface);
+ 1a0: 80 ec ldi r24, 0xC0 ; 192
+ 1a2: 91 e0 ldi r25, 0x01 ; 1
+}
+ 1a4: ad c5 rjmp .+2906 ; 0xd00 <CDC_Device_ProcessControlRequest>
+
+000001a6 <EVENT_USB_Device_ConfigurationChanged>:
+/** Event handler for the library USB Configuration Changed event. */
+void EVENT_USB_Device_ConfigurationChanged(void)
+{
+ bool ConfigSuccess = true;
+
+ ConfigSuccess &= CDC_Device_ConfigureEndpoints(&VirtualSerial_CDC_Interface);
+ 1a6: 80 ec ldi r24, 0xC0 ; 192
+ 1a8: 91 e0 ldi r25, 0x01 ; 1
+
+// LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
+}
+ 1aa: 61 c5 rjmp .+2754 ; 0xc6e <CDC_Device_ConfigureEndpoints>
+
+000001ac <SetupHardware>:
+
+/** Configures the board hardware and chip peripherals for the demo's functionality. */
+void SetupHardware(void)
+{
+ /* Disable watchdog if enabled by bootloader/fuses */
+ MCUSR &= ~(1 << WDRF);
+ 1ac: 84 b7 in r24, 0x34 ; 52
+ 1ae: 87 7f andi r24, 0xF7 ; 247
+ 1b0: 84 bf out 0x34, r24 ; 52
+
+ /* Enable the watchdog timer. */
+ wdt_enable(WDTO_1S);
+ 1b2: 2e e0 ldi r18, 0x0E ; 14
+ 1b4: 88 e1 ldi r24, 0x18 ; 24
+ 1b6: 90 e0 ldi r25, 0x00 ; 0
+ 1b8: 0f b6 in r0, 0x3f ; 63
+ 1ba: f8 94 cli
+ 1bc: a8 95 wdr
+ 1be: 80 93 60 00 sts 0x0060, r24
+ 1c2: 0f be out 0x3f, r0 ; 63
+ 1c4: 20 93 60 00 sts 0x0060, r18
+The type of x is clock_div_t.
+*/
+void clock_prescale_set(clock_div_t __x)
+{
+ uint8_t __tmp = _BV(CLKPCE);
+ __asm__ __volatile__ (
+ 1c8: 90 e0 ldi r25, 0x00 ; 0
+ 1ca: 80 e8 ldi r24, 0x80 ; 128
+ 1cc: 0f b6 in r0, 0x3f ; 63
+ 1ce: f8 94 cli
+ 1d0: 80 93 61 00 sts 0x0061, r24
+ 1d4: 90 93 61 00 sts 0x0061, r25
+ 1d8: 0f be out 0x3f, r0 ; 63
+ /* Disable clock division */
+ clock_prescale_set(clock_div_1);
+
+ /* Hardware Initialization */
+ USB_Init();
+}
+ 1da: 9a c1 rjmp .+820 ; 0x510 <USB_Init>
+
+000001dc <handle_command>:
+
+ for (;;);
+}
+
+void handle_command(const char *buf)
+{
+ 1dc: cf 93 push r28
+ 1de: df 93 push r29
+ 1e0: ec 01 movw r28, r24
+ if (strcmp("cola", buf) == 0)
+ 1e2: 8d e1 ldi r24, 0x1D ; 29
+ 1e4: 91 e0 ldi r25, 0x01 ; 1
+ 1e6: be 01 movw r22, r28
+ 1e8: f8 d5 rcall .+3056 ; 0xdda <strcmp>
+ 1ea: 00 97 sbiw r24, 0x00 ; 0
+ 1ec: 39 f4 brne .+14 ; 0x1fc <handle_command+0x20>
+ {
+ PORTB ^= 1 << PB5;
+ 1ee: 85 b1 in r24, 0x05 ; 5
+ 1f0: 90 e2 ldi r25, 0x20 ; 32
+ 1f2: 89 27 eor r24, r25
+ 1f4: 85 b9 out 0x05, r24 ; 5
+ fputs("mmm! LED toggeled\r\n", &USBSerialStream);
+ 1f6: 82 e2 ldi r24, 0x22 ; 34
+ 1f8: 91 e0 ldi r25, 0x01 ; 1
+ 1fa: 4e c0 rjmp .+156 ; 0x298 <handle_command+0xbc>
+ }
+
+ else if (strcmp("reboot", buf) == 0 || strcmp("reset", buf) == 0)
+ 1fc: 86 e3 ldi r24, 0x36 ; 54
+ 1fe: 91 e0 ldi r25, 0x01 ; 1
+ 200: be 01 movw r22, r28
+ 202: eb d5 rcall .+3030 ; 0xdda <strcmp>
+ 204: 00 97 sbiw r24, 0x00 ; 0
+ 206: 31 f0 breq .+12 ; 0x214 <handle_command+0x38>
+ 208: 8d e3 ldi r24, 0x3D ; 61
+ 20a: 91 e0 ldi r25, 0x01 ; 1
+ 20c: be 01 movw r22, r28
+ 20e: e5 d5 rcall .+3018 ; 0xdda <strcmp>
+ 210: 00 97 sbiw r24, 0x00 ; 0
+ 212: 51 f4 brne .+20 ; 0x228 <handle_command+0x4c>
+ {
+ fputs("Rebooting!\r\n", &USBSerialStream);
+ 214: 80 e1 ldi r24, 0x10 ; 16
+ 216: 91 e0 ldi r25, 0x01 ; 1
+ 218: 6a ef ldi r22, 0xFA ; 250
+ 21a: 71 e0 ldi r23, 0x01 ; 1
+ 21c: 13 d6 rcall .+3110 ; 0xe44 <fputs>
+ running = false;
+ 21e: 10 92 d7 01 sts 0x01D7, r1
+ 222: 10 92 d6 01 sts 0x01D6, r1
+ 226: 3b c0 rjmp .+118 ; 0x29e <handle_command+0xc2>
+ }
+
+ else if (strcmp("toggle", buf) == 0)
+ 228: 83 e4 ldi r24, 0x43 ; 67
+ 22a: 91 e0 ldi r25, 0x01 ; 1
+ 22c: be 01 movw r22, r28
+ 22e: d5 d5 rcall .+2986 ; 0xdda <strcmp>
+ 230: 00 97 sbiw r24, 0x00 ; 0
+ 232: 51 f4 brne .+20 ; 0x248 <handle_command+0x6c>
+ {
+ fputs("Toggling Magnet Lock\r\n", &USBSerialStream);
+ 234: 8a e4 ldi r24, 0x4A ; 74
+ 236: 91 e0 ldi r25, 0x01 ; 1
+ 238: 6a ef ldi r22, 0xFA ; 250
+ 23a: 71 e0 ldi r23, 0x01 ; 1
+ 23c: 03 d6 rcall .+3078 ; 0xe44 <fputs>
+ PORTB ^= 1 << PB4;
+ 23e: 85 b1 in r24, 0x05 ; 5
+ 240: 90 e1 ldi r25, 0x10 ; 16
+ 242: 89 27 eor r24, r25
+ 244: 85 b9 out 0x05, r24 ; 5
+ 246: 2b c0 rjmp .+86 ; 0x29e <handle_command+0xc2>
+ }
+
+ else if (strcmp("lock", buf) == 0)
+ 248: 81 e6 ldi r24, 0x61 ; 97
+ 24a: 91 e0 ldi r25, 0x01 ; 1
+ 24c: be 01 movw r22, r28
+ 24e: c5 d5 rcall .+2954 ; 0xdda <strcmp>
+ 250: 00 97 sbiw r24, 0x00 ; 0
+ 252: 39 f4 brne .+14 ; 0x262 <handle_command+0x86>
+ {
+ fputs("status: locked\n", &USBSerialStream);
+ 254: 86 e6 ldi r24, 0x66 ; 102
+ 256: 91 e0 ldi r25, 0x01 ; 1
+ 258: 6a ef ldi r22, 0xFA ; 250
+ 25a: 71 e0 ldi r23, 0x01 ; 1
+ 25c: f3 d5 rcall .+3046 ; 0xe44 <fputs>
+ PORTB |= 1 << PB4;
+ 25e: 2c 9a sbi 0x05, 4 ; 5
+ 260: 1e c0 rjmp .+60 ; 0x29e <handle_command+0xc2>
+ }
+
+ else if (strcmp("unlock", buf) == 0)
+ 262: 86 e7 ldi r24, 0x76 ; 118
+ 264: 91 e0 ldi r25, 0x01 ; 1
+ 266: be 01 movw r22, r28
+ 268: b8 d5 rcall .+2928 ; 0xdda <strcmp>
+ 26a: 00 97 sbiw r24, 0x00 ; 0
+ 26c: 41 f4 brne .+16 ; 0x27e <handle_command+0xa2>
+ {
+ fputs("status: unlocked\n", &USBSerialStream);
+ 26e: 8d e7 ldi r24, 0x7D ; 125
+ 270: 91 e0 ldi r25, 0x01 ; 1
+ 272: 6a ef ldi r22, 0xFA ; 250
+ 274: 71 e0 ldi r23, 0x01 ; 1
+ 276: e6 d5 rcall .+3020 ; 0xe44 <fputs>
+ PORTB &= ~(1 << PB4);
+ 278: 2c 98 cbi 0x05, 4 ; 5
+ lock_timer_reset();
+ 27a: 6f df rcall .-290 ; 0x15a <lock_timer_reset>
+ 27c: 10 c0 rjmp .+32 ; 0x29e <handle_command+0xc2>
+ }
+
+ else if (strcmp("doorstatus", buf) == 0)
+ 27e: 8f e8 ldi r24, 0x8F ; 143
+ 280: 91 e0 ldi r25, 0x01 ; 1
+ 282: be 01 movw r22, r28
+ 284: aa d5 rcall .+2900 ; 0xdda <strcmp>
+ 286: 00 97 sbiw r24, 0x00 ; 0
+ 288: 51 f4 brne .+20 ; 0x29e <handle_command+0xc2>
+ {
+ if (PINB & (1 << PB5))
+ 28a: 1d 9b sbis 0x03, 5 ; 3
+ 28c: 03 c0 rjmp .+6 ; 0x294 <handle_command+0xb8>
+ fputs("doorstatus: open\n", &USBSerialStream);
+ 28e: 8a e9 ldi r24, 0x9A ; 154
+ 290: 91 e0 ldi r25, 0x01 ; 1
+ 292: 02 c0 rjmp .+4 ; 0x298 <handle_command+0xbc>
+ else
+ fputs("doorstatus: closed\n", &USBSerialStream);
+ 294: 8c ea ldi r24, 0xAC ; 172
+ 296: 91 e0 ldi r25, 0x01 ; 1
+ 298: 6a ef ldi r22, 0xFA ; 250
+ 29a: 71 e0 ldi r23, 0x01 ; 1
+ 29c: d3 d5 rcall .+2982 ; 0xe44 <fputs>
+ }
+}
+ 29e: df 91 pop r29
+ 2a0: cf 91 pop r28
+ 2a2: 08 95 ret
+
+000002a4 <CheckACMStatus>:
+
+void CheckACMStatus()
+{
+ 2a4: cf 93 push r28
+ 2a6: df 93 push r29
+ 2a8: 28 c0 rjmp .+80 ; 0x2fa <CheckACMStatus+0x56>
+ static uint8_t len = 0;
+
+ int c;
+ while((c = CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface)) > 0)
+ {
+ putc(c, &USBSerialStream);
+ 2aa: ce 01 movw r24, r28
+ 2ac: 6a ef ldi r22, 0xFA ; 250
+ 2ae: 71 e0 ldi r23, 0x01 ; 1
+ 2b0: 9d d5 rcall .+2874 ; 0xdec <fputc>
+
+ if (c == '\r')
+ 2b2: cd 30 cpi r28, 0x0D ; 13
+ 2b4: d1 05 cpc r29, r1
+ 2b6: 99 f4 brne .+38 ; 0x2de <CheckACMStatus+0x3a>
+ {
+ putc('\n', &USBSerialStream);
+ 2b8: 8a e0 ldi r24, 0x0A ; 10
+ 2ba: 90 e0 ldi r25, 0x00 ; 0
+ 2bc: 6a ef ldi r22, 0xFA ; 250
+ 2be: 71 e0 ldi r23, 0x01 ; 1
+ 2c0: 95 d5 rcall .+2858 ; 0xdec <fputc>
+ buf[len++] = '\0';
+ 2c2: 80 91 d9 01 lds r24, 0x01D9
+ 2c6: e8 2f mov r30, r24
+ 2c8: f0 e0 ldi r31, 0x00 ; 0
+ 2ca: e6 52 subi r30, 0x26 ; 38
+ 2cc: fe 4f sbci r31, 0xFE ; 254
+ 2ce: 10 82 st Z, r1
+ 2d0: 8f 5f subi r24, 0xFF ; 255
+ 2d2: 80 93 d9 01 sts 0x01D9, r24
+ handle_command(buf);
+ 2d6: 8a ed ldi r24, 0xDA ; 218
+ 2d8: 91 e0 ldi r25, 0x01 ; 1
+ 2da: 80 df rcall .-256 ; 0x1dc <handle_command>
+ 2dc: 0c c0 rjmp .+24 ; 0x2f6 <CheckACMStatus+0x52>
+ len = 0;
+ continue;
+ }
+
+ buf[len++] = c;
+ 2de: 80 91 d9 01 lds r24, 0x01D9
+ 2e2: e8 2f mov r30, r24
+ 2e4: f0 e0 ldi r31, 0x00 ; 0
+ 2e6: e6 52 subi r30, 0x26 ; 38
+ 2e8: fe 4f sbci r31, 0xFE ; 254
+ 2ea: c0 83 st Z, r28
+ 2ec: 8f 5f subi r24, 0xFF ; 255
+ 2ee: 80 93 d9 01 sts 0x01D9, r24
+
+ if (len == sizeof(buf))
+ 2f2: 80 32 cpi r24, 0x20 ; 32
+ 2f4: 11 f4 brne .+4 ; 0x2fa <CheckACMStatus+0x56>
+ {
+ len = 0;
+ 2f6: 10 92 d9 01 sts 0x01D9, r1
+{
+ static char buf[32];
+ static uint8_t len = 0;
+
+ int c;
+ while((c = CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface)) > 0)
+ 2fa: 80 ec ldi r24, 0xC0 ; 192
+ 2fc: 91 e0 ldi r25, 0x01 ; 1
+ 2fe: fc d3 rcall .+2040 ; 0xaf8 <CDC_Device_ReceiveByte>
+ 300: ec 01 movw r28, r24
+ 302: 18 16 cp r1, r24
+ 304: 19 06 cpc r1, r25
+ 306: 8c f2 brlt .-94 ; 0x2aa <CheckACMStatus+0x6>
+ {
+ len = 0;
+ continue;
+ }
+ }
+}
+ 308: df 91 pop r29
+ 30a: cf 91 pop r28
+ 30c: 08 95 ret
+
+0000030e <main>:
+
+/** Main program entry point. This routine contains the overall program flow, including initial
+ * setup of all components and the main program loop.
+ */
+int main(void)
+{
+ 30e: cf 93 push r28
+ 310: df 93 push r29
+ DDRB = 1 << PB0 | 1 << PB4 | 0 << PB5;
+ 312: 81 e1 ldi r24, 0x11 ; 17
+ 314: 84 b9 out 0x04, r24 ; 4
+ PORTB = 0 << PB0;
+ 316: 15 b8 out 0x05, r1 ; 5
+
+ SetupHardware();
+ 318: 49 df rcall .-366 ; 0x1ac <SetupHardware>
+
+ lock_timer_setup();
+ 31a: 10 df rcall .-480 ; 0x13c <lock_timer_setup>
+
+ /* Create a regular character stream for the interface so that it can be used with the stdio.h functions */
+ CDC_Device_CreateStream(&VirtualSerial_CDC_Interface, &USBSerialStream);
+ 31c: 80 ec ldi r24, 0xC0 ; 192
+ 31e: 91 e0 ldi r25, 0x01 ; 1
+ 320: 6a ef ldi r22, 0xFA ; 250
+ 322: 71 e0 ldi r23, 0x01 ; 1
+ 324: 16 d4 rcall .+2092 ; 0xb52 <CDC_Device_CreateStream>
+
+// LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
+ sei();
+ 326: 78 94 sei
+ milliseconds can be achieved.
+ */
+void
+_delay_loop_2(uint16_t __count)
+{
+ __asm__ volatile (
+ 328: c0 e9 ldi r28, 0x90 ; 144
+ 32a: d1 e0 ldi r29, 0x01 ; 1
+ 32c: 0d c0 rjmp .+26 ; 0x348 <main+0x3a>
+
+ while(running)
+ {
+ wdt_reset();
+ 32e: a8 95 wdr
+ 330: 84 ec ldi r24, 0xC4 ; 196
+ 332: 99 e0 ldi r25, 0x09 ; 9
+ 334: fe 01 movw r30, r28
+ 336: 31 97 sbiw r30, 0x01 ; 1
+ 338: f1 f7 brne .-4 ; 0x336 <main+0x28>
+ __ticks = (uint16_t) (__ms * 10.0);
+ while(__ticks)
+ {
+ // wait 1/10 ms
+ _delay_loop_2(((F_CPU) / 4e3) / 10);
+ __ticks --;
+ 33a: 01 97 sbiw r24, 0x01 ; 1
+ __ticks = 1;
+ else if (__tmp > 65535)
+ {
+ // __ticks = requested delay in 1/10 ms
+ __ticks = (uint16_t) (__ms * 10.0);
+ while(__ticks)
+ 33c: d9 f7 brne .-10 ; 0x334 <main+0x26>
+ _delay_ms(250);
+// PORTB ^= 1 << PB0; // Toggle external LED
+
+// CheckPinStatus();
+
+ CheckACMStatus();
+ 33e: b2 df rcall .-156 ; 0x2a4 <CheckACMStatus>
+
+ CDC_Device_USBTask(&VirtualSerial_CDC_Interface);
+ 340: 80 ec ldi r24, 0xC0 ; 192
+ 342: 91 e0 ldi r25, 0x01 ; 1
+ 344: 50 d4 rcall .+2208 ; 0xbe6 <CDC_Device_USBTask>
+ USB_USBTask();
+ 346: c4 d3 rcall .+1928 ; 0xad0 <USB_USBTask>
+ CDC_Device_CreateStream(&VirtualSerial_CDC_Interface, &USBSerialStream);
+
+// LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
+ sei();
+
+ while(running)
+ 348: 80 91 d6 01 lds r24, 0x01D6
+ 34c: 90 91 d7 01 lds r25, 0x01D7
+ 350: 89 2b or r24, r25
+ 352: 69 f7 brne .-38 ; 0x32e <main+0x20>
+ * enumerating the device once attached until \ref USB_Attach() is called.
+ */
+ static inline void USB_Detach(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Detach(void)
+ {
+ UDCON |= (1 << DETACH);
+ 354: 80 91 e0 00 lds r24, 0x00E0
+ 358: 81 60 ori r24, 0x01 ; 1
+ 35a: 80 93 e0 00 sts 0x00E0, r24
+ }
+
+ USB_Detach();
+
+ /* Enable the watchdog and force a timeout to reset the AVR */
+ wdt_enable(WDTO_250MS);
+ 35e: 2c e0 ldi r18, 0x0C ; 12
+ 360: 88 e1 ldi r24, 0x18 ; 24
+ 362: 90 e0 ldi r25, 0x00 ; 0
+ 364: 0f b6 in r0, 0x3f ; 63
+ 366: f8 94 cli
+ 368: a8 95 wdr
+ 36a: 80 93 60 00 sts 0x0060, r24
+ 36e: 0f be out 0x3f, r0 ; 63
+ 370: 20 93 60 00 sts 0x0060, r18
+ 374: ff cf rjmp .-2 ; 0x374 <main+0x66>
+
+00000376 <CALLBACK_USB_GetDescriptor>:
+ * USB host.
+ */
+uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
+ const uint8_t wIndex,
+ const void** const DescriptorAddress)
+{
+ 376: da 01 movw r26, r20
+ const uint8_t DescriptorNumber = (wValue & 0xFF);
+
+ const void* Address = NULL;
+ uint16_t Size = NO_DESCRIPTOR;
+
+ switch (DescriptorType)
+ 378: 92 30 cpi r25, 0x02 ; 2
+ 37a: 49 f0 breq .+18 ; 0x38e <CALLBACK_USB_GetDescriptor+0x18>
+ 37c: 93 30 cpi r25, 0x03 ; 3
+ 37e: 61 f0 breq .+24 ; 0x398 <CALLBACK_USB_GetDescriptor+0x22>
+ 380: 91 30 cpi r25, 0x01 ; 1
+ 382: f9 f4 brne .+62 ; 0x3c2 <CALLBACK_USB_GetDescriptor+0x4c>
+ 384: e4 e7 ldi r30, 0x74 ; 116
+ 386: f0 e0 ldi r31, 0x00 ; 0
+ 388: 22 e1 ldi r18, 0x12 ; 18
+ 38a: 30 e0 ldi r19, 0x00 ; 0
+ 38c: 1e c0 rjmp .+60 ; 0x3ca <CALLBACK_USB_GetDescriptor+0x54>
+ 38e: e6 e8 ldi r30, 0x86 ; 134
+ 390: f0 e0 ldi r31, 0x00 ; 0
+ 392: 2e e3 ldi r18, 0x3E ; 62
+ 394: 30 e0 ldi r19, 0x00 ; 0
+ 396: 19 c0 rjmp .+50 ; 0x3ca <CALLBACK_USB_GetDescriptor+0x54>
+ case DTYPE_Configuration:
+ Address = &ConfigurationDescriptor;
+ Size = sizeof(USB_Descriptor_Configuration_t);
+ break;
+ case DTYPE_String:
+ switch (DescriptorNumber)
+ 398: 81 30 cpi r24, 0x01 ; 1
+ 39a: 49 f0 breq .+18 ; 0x3ae <CALLBACK_USB_GetDescriptor+0x38>
+ 39c: 81 30 cpi r24, 0x01 ; 1
+ 39e: 18 f0 brcs .+6 ; 0x3a6 <CALLBACK_USB_GetDescriptor+0x30>
+ 3a0: 82 30 cpi r24, 0x02 ; 2
+ 3a2: 79 f4 brne .+30 ; 0x3c2 <CALLBACK_USB_GetDescriptor+0x4c>
+ 3a4: 08 c0 rjmp .+16 ; 0x3b6 <CALLBACK_USB_GetDescriptor+0x40>
+ {
+ case 0x00:
+ Address = &LanguageString;
+ Size = pgm_read_byte(&LanguageString.Header.Size);
+ 3a6: e4 ec ldi r30, 0xC4 ; 196
+ 3a8: f0 e0 ldi r31, 0x00 ; 0
+ 3aa: 84 91 lpm r24, Z+
+ 3ac: 07 c0 rjmp .+14 ; 0x3bc <CALLBACK_USB_GetDescriptor+0x46>
+ break;
+ case 0x01:
+ Address = &ManufacturerString;
+ Size = pgm_read_byte(&ManufacturerString.Header.Size);
+ 3ae: e8 ec ldi r30, 0xC8 ; 200
+ 3b0: f0 e0 ldi r31, 0x00 ; 0
+ 3b2: 84 91 lpm r24, Z+
+ 3b4: 03 c0 rjmp .+6 ; 0x3bc <CALLBACK_USB_GetDescriptor+0x46>
+ break;
+ case 0x02:
+ Address = &ProductString;
+ Size = pgm_read_byte(&ProductString.Header.Size);
+ 3b6: ee ed ldi r30, 0xDE ; 222
+ 3b8: f0 e0 ldi r31, 0x00 ; 0
+ 3ba: 84 91 lpm r24, Z+
+ 3bc: 28 2f mov r18, r24
+ 3be: 30 e0 ldi r19, 0x00 ; 0
+ 3c0: 04 c0 rjmp .+8 ; 0x3ca <CALLBACK_USB_GetDescriptor+0x54>
+ 3c2: e0 e0 ldi r30, 0x00 ; 0
+ 3c4: f0 e0 ldi r31, 0x00 ; 0
+ 3c6: 20 e0 ldi r18, 0x00 ; 0
+ 3c8: 30 e0 ldi r19, 0x00 ; 0
+ }
+
+ break;
+ }
+
+ *DescriptorAddress = Address;
+ 3ca: ed 93 st X+, r30
+ 3cc: fc 93 st X, r31
+ return Size;
+}
+ 3ce: c9 01 movw r24, r18
+ 3d0: 08 95 ret
+
+000003d2 <Endpoint_ConfigureEndpoint_Prv>:
+ */
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UENUM = EndpointNumber;
+ 3d2: 80 93 e9 00 sts 0x00E9, r24
+ * \note Endpoints must first be configured properly via \ref Endpoint_ConfigureEndpoint().
+ */
+ static inline void Endpoint_EnableEndpoint(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_EnableEndpoint(void)
+ {
+ UECONX |= (1 << EPEN);
+ 3d6: 80 91 eb 00 lds r24, 0x00EB
+ 3da: 81 60 ori r24, 0x01 ; 1
+ 3dc: 80 93 eb 00 sts 0x00EB, r24
+ const uint8_t UECFG1XData)
+{
+ Endpoint_SelectEndpoint(Number);
+ Endpoint_EnableEndpoint();
+
+ UECFG1X = 0;
+ 3e0: 10 92 ed 00 sts 0x00ED, r1
+ UECFG0X = UECFG0XData;
+ 3e4: 60 93 ec 00 sts 0x00EC, r22
+ UECFG1X = UECFG1XData;
+ 3e8: 40 93 ed 00 sts 0x00ED, r20
+ * \return Boolean true if the currently selected endpoint has been configured, false otherwise.
+ */
+ static inline bool Endpoint_IsConfigured(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsConfigured(void)
+ {
+ return ((UESTA0X & (1 << CFGOK)) ? true : false);
+ 3ec: 80 91 ee 00 lds r24, 0x00EE
+
+ return Endpoint_IsConfigured();
+}
+ 3f0: 88 1f adc r24, r24
+ 3f2: 88 27 eor r24, r24
+ 3f4: 88 1f adc r24, r24
+ 3f6: 08 95 ret
+
+000003f8 <Endpoint_ClearStatusStage>:
+ }
+}
+
+void Endpoint_ClearStatusStage(void)
+{
+ if (USB_ControlRequest.bmRequestType & REQDIR_DEVICETOHOST)
+ 3f8: 80 91 0e 02 lds r24, 0x020E
+ 3fc: 88 23 and r24, r24
+ 3fe: 9c f4 brge .+38 ; 0x426 <Endpoint_ClearStatusStage+0x2e>
+ 400: 04 c0 rjmp .+8 ; 0x40a <Endpoint_ClearStatusStage+0x12>
+ {
+ while (!(Endpoint_IsOUTReceived()))
+ {
+ if (USB_DeviceState == DEVICE_STATE_Unattached)
+ 402: 80 91 0d 02 lds r24, 0x020D
+ 406: 88 23 and r24, r24
+ 408: b9 f0 breq .+46 ; 0x438 <Endpoint_ClearStatusStage+0x40>
+ * \return Boolean true if current endpoint is has received an OUT packet, false otherwise.
+ */
+ static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsOUTReceived(void)
+ {
+ return ((UEINTX & (1 << RXOUTI)) ? true : false);
+ 40a: 80 91 e8 00 lds r24, 0x00E8
+
+void Endpoint_ClearStatusStage(void)
+{
+ if (USB_ControlRequest.bmRequestType & REQDIR_DEVICETOHOST)
+ {
+ while (!(Endpoint_IsOUTReceived()))
+ 40e: 82 ff sbrs r24, 2
+ 410: f8 cf rjmp .-16 ; 0x402 <Endpoint_ClearStatusStage+0xa>
+ */
+ static inline void Endpoint_ClearOUT(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearOUT(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << RXOUTI) | (1 << FIFOCON));
+ 412: 80 91 e8 00 lds r24, 0x00E8
+ 416: 8b 77 andi r24, 0x7B ; 123
+ 418: 80 93 e8 00 sts 0x00E8, r24
+ 41c: 08 95 ret
+ }
+ else
+ {
+ while (!(Endpoint_IsINReady()))
+ {
+ if (USB_DeviceState == DEVICE_STATE_Unattached)
+ 41e: 80 91 0d 02 lds r24, 0x020D
+ 422: 88 23 and r24, r24
+ 424: 49 f0 breq .+18 ; 0x438 <Endpoint_ClearStatusStage+0x40>
+ * \return Boolean true if the current endpoint is ready for an IN packet, false otherwise.
+ */
+ static inline bool Endpoint_IsINReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsINReady(void)
+ {
+ return ((UEINTX & (1 << TXINI)) ? true : false);
+ 426: 80 91 e8 00 lds r24, 0x00E8
+
+ Endpoint_ClearOUT();
+ }
+ else
+ {
+ while (!(Endpoint_IsINReady()))
+ 42a: 80 ff sbrs r24, 0
+ 42c: f8 cf rjmp .-16 ; 0x41e <Endpoint_ClearStatusStage+0x26>
+ */
+ static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearIN(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
+ 42e: 80 91 e8 00 lds r24, 0x00E8
+ 432: 8e 77 andi r24, 0x7E ; 126
+ 434: 80 93 e8 00 sts 0x00E8, r24
+ 438: 08 95 ret
+
+0000043a <Endpoint_WaitUntilReady>:
+ /** Returns the current USB frame number, when in device mode. Every millisecond the USB bus is active (i.e. enumerated to a host)
+ * the frame number is incremented by one.
+ */
+ static inline uint16_t USB_Device_GetFrameNumber(void)
+ {
+ return UDFNUM;
+ 43a: 40 91 e4 00 lds r20, 0x00E4
+ 43e: 50 91 e5 00 lds r21, 0x00E5
+ 442: 24 e6 ldi r18, 0x64 ; 100
+ * \return The currently selected endpoint's direction, as a ENDPOINT_DIR_* mask.
+ */
+ static inline uint8_t Endpoint_GetEndpointDirection(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t Endpoint_GetEndpointDirection(void)
+ {
+ return (UECFG0X & ENDPOINT_DIR_IN);
+ 444: 80 91 ec 00 lds r24, 0x00EC
+
+ uint16_t PreviousFrameNumber = USB_Device_GetFrameNumber();
+
+ for (;;)
+ {
+ if (Endpoint_GetEndpointDirection() == ENDPOINT_DIR_IN)
+ 448: 80 ff sbrs r24, 0
+ 44a: 05 c0 rjmp .+10 ; 0x456 <Endpoint_WaitUntilReady+0x1c>
+ * \return Boolean true if the current endpoint is ready for an IN packet, false otherwise.
+ */
+ static inline bool Endpoint_IsINReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsINReady(void)
+ {
+ return ((UEINTX & (1 << TXINI)) ? true : false);
+ 44c: 80 91 e8 00 lds r24, 0x00E8
+ {
+ if (Endpoint_IsINReady())
+ 450: 80 ff sbrs r24, 0
+ 452: 05 c0 rjmp .+10 ; 0x45e <Endpoint_WaitUntilReady+0x24>
+ 454: 22 c0 rjmp .+68 ; 0x49a <Endpoint_WaitUntilReady+0x60>
+ * \return Boolean true if current endpoint is has received an OUT packet, false otherwise.
+ */
+ static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsOUTReceived(void)
+ {
+ return ((UEINTX & (1 << RXOUTI)) ? true : false);
+ 456: 80 91 e8 00 lds r24, 0x00E8
+ return ENDPOINT_READYWAIT_NoError;
+ }
+ else
+ {
+ if (Endpoint_IsOUTReceived())
+ 45a: 82 fd sbrc r24, 2
+ 45c: 1e c0 rjmp .+60 ; 0x49a <Endpoint_WaitUntilReady+0x60>
+ return ENDPOINT_READYWAIT_NoError;
+ }
+
+ uint8_t USB_DeviceState_LCL = USB_DeviceState;
+ 45e: 80 91 0d 02 lds r24, 0x020D
+
+ if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
+ 462: 88 23 and r24, r24
+ 464: 11 f4 brne .+4 ; 0x46a <Endpoint_WaitUntilReady+0x30>
+ 466: 82 e0 ldi r24, 0x02 ; 2
+ 468: 08 95 ret
+ return ENDPOINT_READYWAIT_DeviceDisconnected;
+ else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
+ 46a: 85 30 cpi r24, 0x05 ; 5
+ 46c: 11 f4 brne .+4 ; 0x472 <Endpoint_WaitUntilReady+0x38>
+ 46e: 83 e0 ldi r24, 0x03 ; 3
+ 470: 08 95 ret
+ * \return Boolean true if the currently selected endpoint is stalled, false otherwise.
+ */
+ static inline bool Endpoint_IsStalled(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsStalled(void)
+ {
+ return ((UECONX & (1 << STALLRQ)) ? true : false);
+ 472: 80 91 eb 00 lds r24, 0x00EB
+ return ENDPOINT_READYWAIT_BusSuspended;
+ else if (Endpoint_IsStalled())
+ 476: 85 ff sbrs r24, 5
+ 478: 02 c0 rjmp .+4 ; 0x47e <Endpoint_WaitUntilReady+0x44>
+ 47a: 81 e0 ldi r24, 0x01 ; 1
+ 47c: 08 95 ret
+ 47e: 80 91 e4 00 lds r24, 0x00E4
+ 482: 90 91 e5 00 lds r25, 0x00E5
+ return ENDPOINT_READYWAIT_EndpointStalled;
+
+ uint16_t CurrentFrameNumber = USB_Device_GetFrameNumber();
+
+ if (CurrentFrameNumber != PreviousFrameNumber)
+ 486: 84 17 cp r24, r20
+ 488: 95 07 cpc r25, r21
+ 48a: e1 f2 breq .-72 ; 0x444 <Endpoint_WaitUntilReady+0xa>
+ {
+ PreviousFrameNumber = CurrentFrameNumber;
+
+ if (!(TimeoutMSRem--))
+ 48c: 22 23 and r18, r18
+ 48e: 11 f4 brne .+4 ; 0x494 <Endpoint_WaitUntilReady+0x5a>
+ 490: 84 e0 ldi r24, 0x04 ; 4
+ 492: 08 95 ret
+ 494: 21 50 subi r18, 0x01 ; 1
+ 496: ac 01 movw r20, r24
+ 498: d5 cf rjmp .-86 ; 0x444 <Endpoint_WaitUntilReady+0xa>
+ 49a: 80 e0 ldi r24, 0x00 ; 0
+ return ENDPOINT_READYWAIT_Timeout;
+ }
+ }
+}
+ 49c: 08 95 ret
+
+0000049e <USB_ResetInterface>:
+{
+ #if defined(USB_CAN_BE_BOTH)
+ bool UIDModeSelectEnabled = ((UHWCON & (1 << UIDE)) != 0);
+ #endif
+
+ USB_INT_DisableAllInterrupts();
+ 49e: 41 d0 rcall .+130 ; 0x522 <USB_INT_DisableAllInterrupts>
+ USB_INT_ClearAllInterrupts();
+ 4a0: 43 d0 rcall .+134 ; 0x528 <USB_INT_ClearAllInterrupts>
+ }
+
+ static inline void USB_Controller_Reset(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Controller_Reset(void)
+ {
+ const uint8_t Temp = USBCON;
+ 4a2: 80 91 d8 00 lds r24, 0x00D8
+
+ USBCON = (Temp & ~(1 << USBE));
+ 4a6: 98 2f mov r25, r24
+ 4a8: 9f 77 andi r25, 0x7F ; 127
+ 4aa: 90 93 d8 00 sts 0x00D8, r25
+ USBCON = (Temp | (1 << USBE));
+ 4ae: 80 68 ori r24, 0x80 ; 128
+ 4b0: 80 93 d8 00 sts 0x00D8, r24
+
+ /* Inline Functions: */
+ static inline void USB_PLL_On(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_PLL_On(void)
+ {
+ PLLCSR = USB_PLL_PSC;
+ 4b4: 84 e0 ldi r24, 0x04 ; 4
+ 4b6: 89 bd out 0x29, r24 ; 41
+ PLLCSR |= (1 << PLLE);
+ 4b8: 89 b5 in r24, 0x29 ; 41
+ 4ba: 82 60 ori r24, 0x02 ; 2
+ 4bc: 89 bd out 0x29, r24 ; 41
+ #if defined(USB_SERIES_4_AVR)
+ PLLFRQ = ((1 << PLLUSB) | (1 << PDIV3) | (1 << PDIV1));
+ #endif
+
+ USB_PLL_On();
+ while (!(USB_PLL_IsReady()));
+ 4be: 09 b4 in r0, 0x29 ; 41
+ 4c0: 00 fe sbrs r0, 0
+ 4c2: fd cf rjmp .-6 ; 0x4be <USB_ResetInterface+0x20>
+ }
+
+ static inline void USB_CLK_Unfreeze(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_CLK_Unfreeze(void)
+ {
+ USBCON &= ~(1 << FRZCLK);
+ 4c4: 80 91 d8 00 lds r24, 0x00D8
+ 4c8: 8f 7d andi r24, 0xDF ; 223
+ 4ca: 80 93 d8 00 sts 0x00D8, r24
+}
+
+#if defined(USB_CAN_BE_DEVICE)
+static void USB_Init_Device(void)
+{
+ USB_DeviceState = DEVICE_STATE_Unattached;
+ 4ce: 10 92 0d 02 sts 0x020D, r1
+ USB_ConfigurationNumber = 0;
+ 4d2: 10 92 0b 02 sts 0x020B, r1
+
+ #if !defined(NO_DEVICE_REMOTE_WAKEUP)
+ USB_RemoteWakeupEnabled = false;
+ 4d6: 10 92 0a 02 sts 0x020A, r1
+ #endif
+
+ #if !defined(NO_DEVICE_SELF_POWER)
+ USB_CurrentlySelfPowered = false;
+ 4da: 10 92 09 02 sts 0x0209, r1
+ const uint8_t Type,
+ const uint8_t Direction,
+ const uint16_t Size,
+ const uint8_t Banks)
+ {
+ return Endpoint_ConfigureEndpoint_Prv(Number, (((Type) << EPTYPE0) | (Direction)),
+ 4de: 80 e0 ldi r24, 0x00 ; 0
+ 4e0: 60 e0 ldi r22, 0x00 ; 0
+ 4e2: 42 e0 ldi r20, 0x02 ; 2
+ 4e4: 76 df rcall .-276 ; 0x3d2 <Endpoint_ConfigureEndpoint_Prv>
+
+ Endpoint_ConfigureEndpoint(ENDPOINT_CONTROLEP, EP_TYPE_CONTROL,
+ ENDPOINT_DIR_OUT, USB_ControlEndpointSize,
+ ENDPOINT_BANK_SINGLE);
+
+ USB_INT_Clear(USB_INT_SUSPI);
+ 4e6: 80 91 e1 00 lds r24, 0x00E1
+ 4ea: 8e 7f andi r24, 0xFE ; 254
+ 4ec: 80 93 e1 00 sts 0x00E1, r24
+ USB_INT_Enable(USB_INT_SUSPI);
+ 4f0: 80 91 e2 00 lds r24, 0x00E2
+ 4f4: 81 60 ori r24, 0x01 ; 1
+ 4f6: 80 93 e2 00 sts 0x00E2, r24
+ USB_INT_Enable(USB_INT_EORSTI);
+ 4fa: 80 91 e2 00 lds r24, 0x00E2
+ 4fe: 88 60 ori r24, 0x08 ; 8
+ 500: 80 93 e2 00 sts 0x00E2, r24
+ * register and despite the datasheet making no mention of its requirement in host mode.
+ */
+ static inline void USB_Attach(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_Attach(void)
+ {
+ UDCON &= ~(1 << DETACH);
+ 504: 80 91 e0 00 lds r24, 0x00E0
+ 508: 8e 7f andi r24, 0xFE ; 254
+ 50a: 80 93 e0 00 sts 0x00E0, r24
+ }
+
+ #if (defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
+ USB_OTGPAD_On();
+ #endif
+}
+ 50e: 08 95 ret
+
+00000510 <USB_Init>:
+ static inline void USB_REG_On(void)
+ {
+ #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ UHWCON |= (1 << UVREGE);
+ #else
+ REGCR &= ~(1 << REGDIS);
+ 510: e3 e6 ldi r30, 0x63 ; 99
+ 512: f0 e0 ldi r31, 0x00 ; 0
+ 514: 80 81 ld r24, Z
+ 516: 8e 7f andi r24, 0xFE ; 254
+ 518: 80 83 st Z, r24
+ {
+ USB_CurrentMode = Mode;
+ }
+ #endif
+
+ USB_IsInitialized = true;
+ 51a: 81 e0 ldi r24, 0x01 ; 1
+ 51c: 80 93 0c 02 sts 0x020C, r24
+
+ USB_ResetInterface();
+}
+ 520: be cf rjmp .-132 ; 0x49e <USB_ResetInterface>
+
+00000522 <USB_INT_DisableAllInterrupts>:
+ #if defined(USB_CAN_BE_HOST)
+ UHIEN = 0;
+ #endif
+
+ #if defined(USB_CAN_BE_DEVICE)
+ UDIEN = 0;
+ 522: 10 92 e2 00 sts 0x00E2, r1
+ #endif
+}
+ 526: 08 95 ret
+
+00000528 <USB_INT_ClearAllInterrupts>:
+ #if defined(USB_CAN_BE_HOST)
+ UHINT = 0;
+ #endif
+
+ #if defined(USB_CAN_BE_DEVICE)
+ UDINT = 0;
+ 528: 10 92 e1 00 sts 0x00E1, r1
+ #endif
+}
+ 52c: 08 95 ret
+
+0000052e <__vector_11>:
+
+ISR(USB_GEN_vect, ISR_BLOCK)
+{
+ 52e: 1f 92 push r1
+ 530: 0f 92 push r0
+ 532: 0f b6 in r0, 0x3f ; 63
+ 534: 0f 92 push r0
+ 536: 11 24 eor r1, r1
+ 538: 2f 93 push r18
+ 53a: 3f 93 push r19
+ 53c: 4f 93 push r20
+ 53e: 5f 93 push r21
+ 540: 6f 93 push r22
+ 542: 7f 93 push r23
+ 544: 8f 93 push r24
+ 546: 9f 93 push r25
+ 548: af 93 push r26
+ 54a: bf 93 push r27
+ 54c: ef 93 push r30
+ 54e: ff 93 push r31
+ EVENT_USB_Device_Disconnect();
+ }
+ }
+ #endif
+
+ if (USB_INT_HasOccurred(USB_INT_SUSPI) && USB_INT_IsEnabled(USB_INT_SUSPI))
+ 550: 80 91 e1 00 lds r24, 0x00E1
+ 554: 80 ff sbrs r24, 0
+ 556: 1c c0 rjmp .+56 ; 0x590 <__vector_11+0x62>
+ 558: 80 91 e2 00 lds r24, 0x00E2
+ 55c: 80 ff sbrs r24, 0
+ 55e: 18 c0 rjmp .+48 ; 0x590 <__vector_11+0x62>
+ {
+ USB_INT_Clear(USB_INT_SUSPI);
+ 560: 80 91 e1 00 lds r24, 0x00E1
+ 564: 8e 7f andi r24, 0xFE ; 254
+ 566: 80 93 e1 00 sts 0x00E1, r24
+
+ USB_INT_Disable(USB_INT_SUSPI);
+ 56a: 80 91 e2 00 lds r24, 0x00E2
+ 56e: 8e 7f andi r24, 0xFE ; 254
+ 570: 80 93 e2 00 sts 0x00E2, r24
+ USB_INT_Enable(USB_INT_WAKEUPI);
+ 574: 80 91 e2 00 lds r24, 0x00E2
+ 578: 80 61 ori r24, 0x10 ; 16
+ 57a: 80 93 e2 00 sts 0x00E2, r24
+ #endif
+
+ static inline void USB_CLK_Freeze(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_CLK_Freeze(void)
+ {
+ USBCON |= (1 << FRZCLK);
+ 57e: 80 91 d8 00 lds r24, 0x00D8
+ 582: 80 62 ori r24, 0x20 ; 32
+ 584: 80 93 d8 00 sts 0x00D8, r24
+ }
+
+ static inline void USB_PLL_Off(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_PLL_Off(void)
+ {
+ PLLCSR = 0;
+ 588: 19 bc out 0x29, r1 ; 41
+
+ if (!(USB_Options & USB_OPT_MANUAL_PLL))
+ USB_PLL_Off();
+
+ #if defined(USB_SERIES_2_AVR) && !defined(NO_LIMITED_CONTROLLER_CONNECT)
+ USB_DeviceState = DEVICE_STATE_Unattached;
+ 58a: 10 92 0d 02 sts 0x020D, r1
+ EVENT_USB_Device_Disconnect();
+ 58e: e9 dd rcall .-1070 ; 0x162 <EVENT_USB_Device_Disconnect>
+ USB_DeviceState = DEVICE_STATE_Suspended;
+ EVENT_USB_Device_Suspend();
+ #endif
+ }
+
+ if (USB_INT_HasOccurred(USB_INT_WAKEUPI) && USB_INT_IsEnabled(USB_INT_WAKEUPI))
+ 590: 80 91 e1 00 lds r24, 0x00E1
+ 594: 84 ff sbrs r24, 4
+ 596: 2e c0 rjmp .+92 ; 0x5f4 <__vector_11+0xc6>
+ 598: 80 91 e2 00 lds r24, 0x00E2
+ 59c: 84 ff sbrs r24, 4
+ 59e: 2a c0 rjmp .+84 ; 0x5f4 <__vector_11+0xc6>
+
+ /* Inline Functions: */
+ static inline void USB_PLL_On(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_PLL_On(void)
+ {
+ PLLCSR = USB_PLL_PSC;
+ 5a0: 84 e0 ldi r24, 0x04 ; 4
+ 5a2: 89 bd out 0x29, r24 ; 41
+ PLLCSR |= (1 << PLLE);
+ 5a4: 89 b5 in r24, 0x29 ; 41
+ 5a6: 82 60 ori r24, 0x02 ; 2
+ 5a8: 89 bd out 0x29, r24 ; 41
+ {
+ if (!(USB_Options & USB_OPT_MANUAL_PLL))
+ {
+ USB_PLL_On();
+ while (!(USB_PLL_IsReady()));
+ 5aa: 09 b4 in r0, 0x29 ; 41
+ 5ac: 00 fe sbrs r0, 0
+ 5ae: fd cf rjmp .-6 ; 0x5aa <__vector_11+0x7c>
+ }
+
+ static inline void USB_CLK_Unfreeze(void) ATTR_ALWAYS_INLINE;
+ static inline void USB_CLK_Unfreeze(void)
+ {
+ USBCON &= ~(1 << FRZCLK);
+ 5b0: 80 91 d8 00 lds r24, 0x00D8
+ 5b4: 8f 7d andi r24, 0xDF ; 223
+ 5b6: 80 93 d8 00 sts 0x00D8, r24
+ }
+
+ USB_CLK_Unfreeze();
+
+ USB_INT_Clear(USB_INT_WAKEUPI);
+ 5ba: 80 91 e1 00 lds r24, 0x00E1
+ 5be: 8f 7e andi r24, 0xEF ; 239
+ 5c0: 80 93 e1 00 sts 0x00E1, r24
+
+ USB_INT_Disable(USB_INT_WAKEUPI);
+ 5c4: 80 91 e2 00 lds r24, 0x00E2
+ 5c8: 8f 7e andi r24, 0xEF ; 239
+ 5ca: 80 93 e2 00 sts 0x00E2, r24
+ USB_INT_Enable(USB_INT_SUSPI);
+ 5ce: 80 91 e2 00 lds r24, 0x00E2
+ 5d2: 81 60 ori r24, 0x01 ; 1
+ 5d4: 80 93 e2 00 sts 0x00E2, r24
+
+ if (USB_ConfigurationNumber)
+ 5d8: 80 91 0b 02 lds r24, 0x020B
+ 5dc: 88 23 and r24, r24
+ 5de: 31 f4 brne .+12 ; 0x5ec <__vector_11+0xbe>
+ }
+
+ static inline bool USB_Device_IsAddressSet(void) ATTR_ALWAYS_INLINE;
+ static inline bool USB_Device_IsAddressSet(void)
+ {
+ return (UDADDR & (1 << ADDEN));
+ 5e0: 80 91 e3 00 lds r24, 0x00E3
+ USB_DeviceState = DEVICE_STATE_Configured;
+ else
+ USB_DeviceState = (USB_Device_IsAddressSet()) ? DEVICE_STATE_Configured : DEVICE_STATE_Powered;
+ 5e4: 87 fd sbrc r24, 7
+ 5e6: 02 c0 rjmp .+4 ; 0x5ec <__vector_11+0xbe>
+ 5e8: 81 e0 ldi r24, 0x01 ; 1
+ 5ea: 01 c0 rjmp .+2 ; 0x5ee <__vector_11+0xc0>
+ 5ec: 84 e0 ldi r24, 0x04 ; 4
+ 5ee: 80 93 0d 02 sts 0x020D, r24
+
+ #if defined(USB_SERIES_2_AVR) && !defined(NO_LIMITED_CONTROLLER_CONNECT)
+ EVENT_USB_Device_Connect();
+ 5f2: b6 dd rcall .-1172 ; 0x160 <EVENT_USB_Device_Connect>
+ #else
+ EVENT_USB_Device_WakeUp();
+ #endif
+ }
+
+ if (USB_INT_HasOccurred(USB_INT_EORSTI) && USB_INT_IsEnabled(USB_INT_EORSTI))
+ 5f4: 80 91 e1 00 lds r24, 0x00E1
+ 5f8: 83 ff sbrs r24, 3
+ 5fa: 22 c0 rjmp .+68 ; 0x640 <__vector_11+0x112>
+ 5fc: 80 91 e2 00 lds r24, 0x00E2
+ 600: 83 ff sbrs r24, 3
+ 602: 1e c0 rjmp .+60 ; 0x640 <__vector_11+0x112>
+ {
+ USB_INT_Clear(USB_INT_EORSTI);
+ 604: 80 91 e1 00 lds r24, 0x00E1
+ 608: 87 7f andi r24, 0xF7 ; 247
+ 60a: 80 93 e1 00 sts 0x00E1, r24
+
+ USB_DeviceState = DEVICE_STATE_Default;
+ 60e: 82 e0 ldi r24, 0x02 ; 2
+ 610: 80 93 0d 02 sts 0x020D, r24
+ USB_ConfigurationNumber = 0;
+ 614: 10 92 0b 02 sts 0x020B, r1
+
+ USB_INT_Clear(USB_INT_SUSPI);
+ 618: 80 91 e1 00 lds r24, 0x00E1
+ 61c: 8e 7f andi r24, 0xFE ; 254
+ 61e: 80 93 e1 00 sts 0x00E1, r24
+ USB_INT_Disable(USB_INT_SUSPI);
+ 622: 80 91 e2 00 lds r24, 0x00E2
+ 626: 8e 7f andi r24, 0xFE ; 254
+ 628: 80 93 e2 00 sts 0x00E2, r24
+ USB_INT_Enable(USB_INT_WAKEUPI);
+ 62c: 80 91 e2 00 lds r24, 0x00E2
+ 630: 80 61 ori r24, 0x10 ; 16
+ 632: 80 93 e2 00 sts 0x00E2, r24
+ 636: 80 e0 ldi r24, 0x00 ; 0
+ 638: 60 e0 ldi r22, 0x00 ; 0
+ 63a: 42 e0 ldi r20, 0x02 ; 2
+ 63c: ca de rcall .-620 ; 0x3d2 <Endpoint_ConfigureEndpoint_Prv>
+
+ #if defined(INTERRUPT_CONTROL_ENDPOINT)
+ USB_INT_Enable(USB_INT_RXSTPI);
+ #endif
+
+ EVENT_USB_Device_Reset();
+ 63e: 4b d1 rcall .+662 ; 0x8d6 <USB_Event_Stub>
+ }
+
+ #if !defined(NO_SOF_EVENTS)
+ if (USB_INT_HasOccurred(USB_INT_SOFI) && USB_INT_IsEnabled(USB_INT_SOFI))
+ 640: 80 91 e1 00 lds r24, 0x00E1
+ 644: 82 ff sbrs r24, 2
+ 646: 0a c0 rjmp .+20 ; 0x65c <__vector_11+0x12e>
+ 648: 80 91 e2 00 lds r24, 0x00E2
+ 64c: 82 ff sbrs r24, 2
+ 64e: 06 c0 rjmp .+12 ; 0x65c <__vector_11+0x12e>
+ {
+ USB_INT_Clear(USB_INT_SOFI);
+ 650: 80 91 e1 00 lds r24, 0x00E1
+ 654: 8b 7f andi r24, 0xFB ; 251
+ 656: 80 93 e1 00 sts 0x00E1, r24
+
+ EVENT_USB_Device_StartOfFrame();
+ 65a: 3d d1 rcall .+634 ; 0x8d6 <USB_Event_Stub>
+ USB_ResetInterface();
+
+ EVENT_USB_UIDChange();
+ }
+ #endif
+}
+ 65c: ff 91 pop r31
+ 65e: ef 91 pop r30
+ 660: bf 91 pop r27
+ 662: af 91 pop r26
+ 664: 9f 91 pop r25
+ 666: 8f 91 pop r24
+ 668: 7f 91 pop r23
+ 66a: 6f 91 pop r22
+ 66c: 5f 91 pop r21
+ 66e: 4f 91 pop r20
+ 670: 3f 91 pop r19
+ 672: 2f 91 pop r18
+ 674: 0f 90 pop r0
+ 676: 0f be out 0x3f, r0 ; 63
+ 678: 0f 90 pop r0
+ 67a: 1f 90 pop r1
+ 67c: 18 95 reti
+
+0000067e <USB_Device_ProcessControlRequest>:
+#if !defined(NO_DEVICE_REMOTE_WAKEUP)
+bool USB_RemoteWakeupEnabled;
+#endif
+
+void USB_Device_ProcessControlRequest(void)
+{
+ 67e: 0f 93 push r16
+ 680: 1f 93 push r17
+ 682: df 93 push r29
+ 684: cf 93 push r28
+ 686: 00 d0 rcall .+0 ; 0x688 <USB_Device_ProcessControlRequest+0xa>
+ 688: cd b7 in r28, 0x3d ; 61
+ 68a: de b7 in r29, 0x3e ; 62
+ 68c: ee e0 ldi r30, 0x0E ; 14
+ 68e: f2 e0 ldi r31, 0x02 ; 2
+ * \return Next byte in the currently selected endpoint's FIFO buffer.
+ */
+ static inline uint8_t Endpoint_Read_Byte(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t Endpoint_Read_Byte(void)
+ {
+ return UEDATX;
+ 690: 80 91 f1 00 lds r24, 0x00F1
+ uint8_t* RequestHeader = (uint8_t*)&USB_ControlRequest;
+
+ for (uint8_t RequestHeaderByte = 0; RequestHeaderByte < sizeof(USB_Request_Header_t); RequestHeaderByte++)
+ *(RequestHeader++) = Endpoint_Read_Byte();
+ 694: 81 93 st Z+, r24
+
+void USB_Device_ProcessControlRequest(void)
+{
+ uint8_t* RequestHeader = (uint8_t*)&USB_ControlRequest;
+
+ for (uint8_t RequestHeaderByte = 0; RequestHeaderByte < sizeof(USB_Request_Header_t); RequestHeaderByte++)
+ 696: 82 e0 ldi r24, 0x02 ; 2
+ 698: e6 31 cpi r30, 0x16 ; 22
+ 69a: f8 07 cpc r31, r24
+ 69c: c9 f7 brne .-14 ; 0x690 <USB_Device_ProcessControlRequest+0x12>
+ *(RequestHeader++) = Endpoint_Read_Byte();
+
+ EVENT_USB_Device_ControlRequest();
+ 69e: 80 dd rcall .-1280 ; 0x1a0 <EVENT_USB_Device_ControlRequest>
+ * \return Boolean true if the selected endpoint has received a SETUP packet, false otherwise.
+ */
+ static inline bool Endpoint_IsSETUPReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsSETUPReceived(void)
+ {
+ return ((UEINTX & (1 << RXSTPI)) ? true : false);
+ 6a0: 80 91 e8 00 lds r24, 0x00E8
+
+ if (Endpoint_IsSETUPReceived())
+ 6a4: 83 ff sbrs r24, 3
+ 6a6: 02 c1 rjmp .+516 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ {
+ uint8_t bmRequestType = USB_ControlRequest.bmRequestType;
+ 6a8: 80 91 0e 02 lds r24, 0x020E
+
+ switch (USB_ControlRequest.bRequest)
+ 6ac: 30 91 0f 02 lds r19, 0x020F
+ 6b0: 35 30 cpi r19, 0x05 ; 5
+ 6b2: 09 f4 brne .+2 ; 0x6b6 <USB_Device_ProcessControlRequest+0x38>
+ 6b4: 87 c0 rjmp .+270 ; 0x7c4 <USB_Device_ProcessControlRequest+0x146>
+ 6b6: 36 30 cpi r19, 0x06 ; 6
+ 6b8: 40 f4 brcc .+16 ; 0x6ca <USB_Device_ProcessControlRequest+0x4c>
+ 6ba: 31 30 cpi r19, 0x01 ; 1
+ 6bc: c9 f1 breq .+114 ; 0x730 <USB_Device_ProcessControlRequest+0xb2>
+ 6be: 31 30 cpi r19, 0x01 ; 1
+ 6c0: 70 f0 brcs .+28 ; 0x6de <USB_Device_ProcessControlRequest+0x60>
+ 6c2: 33 30 cpi r19, 0x03 ; 3
+ 6c4: 09 f0 breq .+2 ; 0x6c8 <USB_Device_ProcessControlRequest+0x4a>
+ 6c6: f2 c0 rjmp .+484 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ 6c8: 33 c0 rjmp .+102 ; 0x730 <USB_Device_ProcessControlRequest+0xb2>
+ 6ca: 38 30 cpi r19, 0x08 ; 8
+ 6cc: 09 f4 brne .+2 ; 0x6d0 <USB_Device_ProcessControlRequest+0x52>
+ 6ce: c0 c0 rjmp .+384 ; 0x850 <USB_Device_ProcessControlRequest+0x1d2>
+ 6d0: 39 30 cpi r19, 0x09 ; 9
+ 6d2: 09 f4 brne .+2 ; 0x6d6 <USB_Device_ProcessControlRequest+0x58>
+ 6d4: cf c0 rjmp .+414 ; 0x874 <USB_Device_ProcessControlRequest+0x1f6>
+ 6d6: 36 30 cpi r19, 0x06 ; 6
+ 6d8: 09 f0 breq .+2 ; 0x6dc <USB_Device_ProcessControlRequest+0x5e>
+ 6da: e8 c0 rjmp .+464 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ 6dc: 99 c0 rjmp .+306 ; 0x810 <USB_Device_ProcessControlRequest+0x192>
+ {
+ case REQ_GetStatus:
+ if ((bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE)) ||
+ 6de: 80 38 cpi r24, 0x80 ; 128
+ 6e0: 21 f0 breq .+8 ; 0x6ea <USB_Device_ProcessControlRequest+0x6c>
+ 6e2: 82 38 cpi r24, 0x82 ; 130
+ 6e4: 09 f0 breq .+2 ; 0x6e8 <USB_Device_ProcessControlRequest+0x6a>
+ 6e6: e2 c0 rjmp .+452 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ 6e8: 08 c0 rjmp .+16 ; 0x6fa <USB_Device_ProcessControlRequest+0x7c>
+ 6ea: 90 91 09 02 lds r25, 0x0209
+ if (USB_CurrentlySelfPowered)
+ CurrentStatus |= FEATURE_SELFPOWERED_ENABLED;
+ #endif
+
+ #if !defined(NO_DEVICE_REMOTE_WAKEUP)
+ if (USB_RemoteWakeupEnabled)
+ 6ee: 80 91 0a 02 lds r24, 0x020A
+ 6f2: 88 23 and r24, r24
+ 6f4: 99 f0 breq .+38 ; 0x71c <USB_Device_ProcessControlRequest+0x9e>
+ CurrentStatus |= FEATURE_REMOTE_WAKEUP_ENABLED;
+ 6f6: 92 60 ori r25, 0x02 ; 2
+ 6f8: 11 c0 rjmp .+34 ; 0x71c <USB_Device_ProcessControlRequest+0x9e>
+ #endif
+ break;
+ #endif
+ #if !defined(CONTROL_ONLY_DEVICE)
+ case (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_ENDPOINT):
+ Endpoint_SelectEndpoint((uint8_t)USB_ControlRequest.wIndex & ENDPOINT_EPNUM_MASK);
+ 6fa: 80 91 12 02 lds r24, 0x0212
+ 6fe: 87 70 andi r24, 0x07 ; 7
+ */
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UENUM = EndpointNumber;
+ 700: 80 93 e9 00 sts 0x00E9, r24
+ * \return Boolean true if the currently selected endpoint is stalled, false otherwise.
+ */
+ static inline bool Endpoint_IsStalled(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsStalled(void)
+ {
+ return ((UECONX & (1 << STALLRQ)) ? true : false);
+ 704: 80 91 eb 00 lds r24, 0x00EB
+
+ CurrentStatus = Endpoint_IsStalled();
+ 708: 90 e0 ldi r25, 0x00 ; 0
+ 70a: 25 e0 ldi r18, 0x05 ; 5
+ 70c: 96 95 lsr r25
+ 70e: 87 95 ror r24
+ 710: 2a 95 dec r18
+ 712: e1 f7 brne .-8 ; 0x70c <USB_Device_ProcessControlRequest+0x8e>
+ 714: 98 2f mov r25, r24
+ 716: 91 70 andi r25, 0x01 ; 1
+ */
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UENUM = EndpointNumber;
+ 718: 10 92 e9 00 sts 0x00E9, r1
+ * \note This is not applicable for non CONTROL type endpoints.
+ */
+ static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearSETUP(void)
+ {
+ UEINTX &= ~(1 << RXSTPI);
+ 71c: 80 91 e8 00 lds r24, 0x00E8
+ 720: 87 7f andi r24, 0xF7 ; 247
+ 722: 80 93 e8 00 sts 0x00E8, r24
+ * \param[in] Word Next word to write to the currently selected endpoint's FIFO buffer.
+ */
+ static inline void Endpoint_Write_Word_LE(const uint16_t Word) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_Write_Word_LE(const uint16_t Word)
+ {
+ UEDATX = (Word & 0xFF);
+ 726: 90 93 f1 00 sts 0x00F1, r25
+ UEDATX = (Word >> 8);
+ 72a: 10 92 f1 00 sts 0x00F1, r1
+ 72e: 9b c0 rjmp .+310 ; 0x866 <USB_Device_ProcessControlRequest+0x1e8>
+ }
+
+ break;
+ case REQ_ClearFeature:
+ case REQ_SetFeature:
+ if ((bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE)) ||
+ 730: 88 23 and r24, r24
+ 732: 19 f0 breq .+6 ; 0x73a <USB_Device_ProcessControlRequest+0xbc>
+ 734: 82 30 cpi r24, 0x02 ; 2
+ 736: 09 f0 breq .+2 ; 0x73a <USB_Device_ProcessControlRequest+0xbc>
+ 738: b9 c0 rjmp .+370 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ Endpoint_ClearStatusStage();
+}
+
+static void USB_Device_ClearSetFeature(void)
+{
+ switch (USB_ControlRequest.bmRequestType & CONTROL_REQTYPE_RECIPIENT)
+ 73a: 90 e0 ldi r25, 0x00 ; 0
+ 73c: 8f 71 andi r24, 0x1F ; 31
+ 73e: 90 70 andi r25, 0x00 ; 0
+ 740: 00 97 sbiw r24, 0x00 ; 0
+ 742: 21 f0 breq .+8 ; 0x74c <USB_Device_ProcessControlRequest+0xce>
+ 744: 02 97 sbiw r24, 0x02 ; 2
+ 746: 09 f0 breq .+2 ; 0x74a <USB_Device_ProcessControlRequest+0xcc>
+ 748: b1 c0 rjmp .+354 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ 74a: 0c c0 rjmp .+24 ; 0x764 <USB_Device_ProcessControlRequest+0xe6>
+ {
+ #if !defined(NO_DEVICE_REMOTE_WAKEUP)
+ case REQREC_DEVICE:
+ if ((uint8_t)USB_ControlRequest.wValue == FEATURE_SEL_DeviceRemoteWakeup)
+ 74c: 80 91 10 02 lds r24, 0x0210
+ 750: 81 30 cpi r24, 0x01 ; 1
+ 752: 09 f0 breq .+2 ; 0x756 <USB_Device_ProcessControlRequest+0xd8>
+ 754: ab c0 rjmp .+342 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ USB_RemoteWakeupEnabled = (USB_ControlRequest.bRequest == REQ_SetFeature);
+ 756: 10 92 0a 02 sts 0x020A, r1
+ 75a: 33 30 cpi r19, 0x03 ; 3
+ 75c: 69 f5 brne .+90 ; 0x7b8 <USB_Device_ProcessControlRequest+0x13a>
+ 75e: 80 93 0a 02 sts 0x020A, r24
+ 762: 2a c0 rjmp .+84 ; 0x7b8 <USB_Device_ProcessControlRequest+0x13a>
+
+ break;
+ #endif
+ #if !defined(CONTROL_ONLY_DEVICE)
+ case REQREC_ENDPOINT:
+ if ((uint8_t)USB_ControlRequest.wValue == FEATURE_SEL_EndpointHalt)
+ 764: 80 91 10 02 lds r24, 0x0210
+ 768: 88 23 and r24, r24
+ 76a: 31 f5 brne .+76 ; 0x7b8 <USB_Device_ProcessControlRequest+0x13a>
+ {
+ uint8_t EndpointIndex = ((uint8_t)USB_ControlRequest.wIndex & ENDPOINT_EPNUM_MASK);
+ 76c: 20 91 12 02 lds r18, 0x0212
+ 770: 27 70 andi r18, 0x07 ; 7
+
+ if (EndpointIndex == ENDPOINT_CONTROLEP)
+ 772: 09 f4 brne .+2 ; 0x776 <USB_Device_ProcessControlRequest+0xf8>
+ 774: 9b c0 rjmp .+310 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ */
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UENUM = EndpointNumber;
+ 776: 20 93 e9 00 sts 0x00E9, r18
+ * \return Boolean True if the currently selected endpoint is enabled, false otherwise.
+ */
+ static inline bool Endpoint_IsEnabled(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsEnabled(void)
+ {
+ return ((UECONX & (1 << EPEN)) ? true : false);
+ 77a: 80 91 eb 00 lds r24, 0x00EB
+ return;
+
+ Endpoint_SelectEndpoint(EndpointIndex);
+
+ if (Endpoint_IsEnabled())
+ 77e: 80 ff sbrs r24, 0
+ 780: 1b c0 rjmp .+54 ; 0x7b8 <USB_Device_ProcessControlRequest+0x13a>
+ {
+ if (USB_ControlRequest.bRequest == REQ_SetFeature)
+ 782: 33 30 cpi r19, 0x03 ; 3
+ 784: 21 f4 brne .+8 ; 0x78e <USB_Device_ProcessControlRequest+0x110>
+ * \ingroup Group_EndpointPacketManagement
+ */
+ static inline void Endpoint_StallTransaction(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_StallTransaction(void)
+ {
+ UECONX |= (1 << STALLRQ);
+ 786: 80 91 eb 00 lds r24, 0x00EB
+ 78a: 80 62 ori r24, 0x20 ; 32
+ 78c: 13 c0 rjmp .+38 ; 0x7b4 <USB_Device_ProcessControlRequest+0x136>
+ * \ingroup Group_EndpointPacketManagement
+ */
+ static inline void Endpoint_ClearStall(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearStall(void)
+ {
+ UECONX |= (1 << STALLRQC);
+ 78e: 80 91 eb 00 lds r24, 0x00EB
+ 792: 80 61 ori r24, 0x10 ; 16
+ 794: 80 93 eb 00 sts 0x00EB, r24
+ * \param[in] EndpointNumber Endpoint number whose FIFO buffers are to be reset.
+ */
+ static inline void Endpoint_ResetFIFO(const uint8_t EndpointNumber) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ResetFIFO(const uint8_t EndpointNumber)
+ {
+ UERST = (1 << EndpointNumber);
+ 798: 81 e0 ldi r24, 0x01 ; 1
+ 79a: 90 e0 ldi r25, 0x00 ; 0
+ 79c: 02 c0 rjmp .+4 ; 0x7a2 <USB_Device_ProcessControlRequest+0x124>
+ 79e: 88 0f add r24, r24
+ 7a0: 99 1f adc r25, r25
+ 7a2: 2a 95 dec r18
+ 7a4: e2 f7 brpl .-8 ; 0x79e <USB_Device_ProcessControlRequest+0x120>
+ 7a6: 80 93 ea 00 sts 0x00EA, r24
+ UERST = 0;
+ 7aa: 10 92 ea 00 sts 0x00EA, r1
+
+ /** Resets the data toggle of the currently selected endpoint. */
+ static inline void Endpoint_ResetDataToggle(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ResetDataToggle(void)
+ {
+ UECONX |= (1 << RSTDT);
+ 7ae: 80 91 eb 00 lds r24, 0x00EB
+ 7b2: 88 60 ori r24, 0x08 ; 8
+ 7b4: 80 93 eb 00 sts 0x00EB, r24
+ */
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UENUM = EndpointNumber;
+ 7b8: 10 92 e9 00 sts 0x00E9, r1
+ * \note This is not applicable for non CONTROL type endpoints.
+ */
+ static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearSETUP(void)
+ {
+ UEINTX &= ~(1 << RXSTPI);
+ 7bc: 80 91 e8 00 lds r24, 0x00E8
+ 7c0: 87 7f andi r24, 0xF7 ; 247
+ 7c2: 54 c0 rjmp .+168 ; 0x86c <USB_Device_ProcessControlRequest+0x1ee>
+ USB_Device_ClearSetFeature();
+ }
+
+ break;
+ case REQ_SetAddress:
+ if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE))
+ 7c4: 88 23 and r24, r24
+ 7c6: 09 f0 breq .+2 ; 0x7ca <USB_Device_ProcessControlRequest+0x14c>
+ 7c8: 71 c0 rjmp .+226 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ }
+}
+
+static void USB_Device_SetAddress(void)
+{
+ uint8_t DeviceAddress = (USB_ControlRequest.wValue & 0x7F);
+ 7ca: 10 91 10 02 lds r17, 0x0210
+ 7ce: 1f 77 andi r17, 0x7F ; 127
+
+ ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
+ 7d0: 0f b7 in r16, 0x3f ; 63
+ return 1;
+}
+
+static __inline__ uint8_t __iCliRetVal(void)
+{
+ cli();
+ 7d2: f8 94 cli
+ 7d4: 80 91 e8 00 lds r24, 0x00E8
+ 7d8: 87 7f andi r24, 0xF7 ; 247
+ 7da: 80 93 e8 00 sts 0x00E8, r24
+ {
+ Endpoint_ClearSETUP();
+
+ Endpoint_ClearStatusStage();
+ 7de: 0c de rcall .-1000 ; 0x3f8 <Endpoint_ClearStatusStage>
+ * \return Boolean true if the current endpoint is ready for an IN packet, false otherwise.
+ */
+ static inline bool Endpoint_IsINReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsINReady(void)
+ {
+ return ((UEINTX & (1 << TXINI)) ? true : false);
+ 7e0: 80 91 e8 00 lds r24, 0x00E8
+
+ while (!(Endpoint_IsINReady()));
+ 7e4: 80 ff sbrs r24, 0
+ 7e6: fc cf rjmp .-8 ; 0x7e0 <USB_Device_ProcessControlRequest+0x162>
+
+ USB_DeviceState = (DeviceAddress) ? DEVICE_STATE_Addressed : DEVICE_STATE_Default;
+ 7e8: 11 23 and r17, r17
+ 7ea: 11 f4 brne .+4 ; 0x7f0 <USB_Device_ProcessControlRequest+0x172>
+ 7ec: 82 e0 ldi r24, 0x02 ; 2
+ 7ee: 01 c0 rjmp .+2 ; 0x7f2 <USB_Device_ProcessControlRequest+0x174>
+ 7f0: 83 e0 ldi r24, 0x03 ; 3
+ 7f2: 80 93 0d 02 sts 0x020D, r24
+ #endif
+
+ static inline void USB_Device_SetDeviceAddress(const uint8_t Address) ATTR_ALWAYS_INLINE;
+ static inline void USB_Device_SetDeviceAddress(const uint8_t Address)
+ {
+ UDADDR = ((UDADDR & (1 << ADDEN)) | (Address & 0x7F));
+ 7f6: 80 91 e3 00 lds r24, 0x00E3
+ 7fa: 80 78 andi r24, 0x80 ; 128
+ 7fc: 18 2b or r17, r24
+ 7fe: 10 93 e3 00 sts 0x00E3, r17
+ UDADDR |= (1 << ADDEN);
+ 802: 80 91 e3 00 lds r24, 0x00E3
+ 806: 80 68 ori r24, 0x80 ; 128
+ 808: 80 93 e3 00 sts 0x00E3, r24
+ (void)__s;
+}
+
+static __inline__ void __iRestore(const uint8_t *__s)
+{
+ SREG = *__s;
+ 80c: 0f bf out 0x3f, r16 ; 63
+ __asm__ volatile ("" ::: "memory");
+ 80e: 4e c0 rjmp .+156 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE))
+ USB_Device_SetAddress();
+
+ break;
+ case REQ_GetDescriptor:
+ if ((bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE)) ||
+ 810: 80 58 subi r24, 0x80 ; 128
+ 812: 82 30 cpi r24, 0x02 ; 2
+ 814: 08 f0 brcs .+2 ; 0x818 <USB_Device_ProcessControlRequest+0x19a>
+ 816: 4a c0 rjmp .+148 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ USB_Device_GetInternalSerialDescriptor();
+ return;
+ }
+ #endif
+
+ if ((DescriptorSize = CALLBACK_USB_GetDescriptor(USB_ControlRequest.wValue, USB_ControlRequest.wIndex,
+ 818: 80 91 10 02 lds r24, 0x0210
+ 81c: 90 91 11 02 lds r25, 0x0211
+ 820: 60 91 12 02 lds r22, 0x0212
+ 824: ae 01 movw r20, r28
+ 826: 4f 5f subi r20, 0xFF ; 255
+ 828: 5f 4f sbci r21, 0xFF ; 255
+ 82a: a5 dd rcall .-1206 ; 0x376 <CALLBACK_USB_GetDescriptor>
+ 82c: bc 01 movw r22, r24
+ 82e: 00 97 sbiw r24, 0x00 ; 0
+ 830: 09 f4 brne .+2 ; 0x834 <USB_Device_ProcessControlRequest+0x1b6>
+ 832: 3c c0 rjmp .+120 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ * \note This is not applicable for non CONTROL type endpoints.
+ */
+ static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearSETUP(void)
+ {
+ UEINTX &= ~(1 << RXSTPI);
+ 834: 80 91 e8 00 lds r24, 0x00E8
+ 838: 87 7f andi r24, 0xF7 ; 247
+ 83a: 80 93 e8 00 sts 0x00E8, r24
+ #if defined(USE_RAM_DESCRIPTORS)
+ Endpoint_Write_Control_Stream_LE(DescriptorPointer, DescriptorSize);
+ #elif defined(USE_EEPROM_DESCRIPTORS)
+ Endpoint_Write_Control_EStream_LE(DescriptorPointer, DescriptorSize);
+ #elif defined(USE_FLASH_DESCRIPTORS)
+ Endpoint_Write_Control_PStream_LE(DescriptorPointer, DescriptorSize);
+ 83e: 89 81 ldd r24, Y+1 ; 0x01
+ 840: 9a 81 ldd r25, Y+2 ; 0x02
+ 842: a8 d0 rcall .+336 ; 0x994 <Endpoint_Write_Control_PStream_LE>
+ */
+ static inline void Endpoint_ClearOUT(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearOUT(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << RXOUTI) | (1 << FIFOCON));
+ 844: 80 91 e8 00 lds r24, 0x00E8
+ 848: 8b 77 andi r24, 0x7B ; 123
+ 84a: 80 93 e8 00 sts 0x00E8, r24
+ 84e: 2e c0 rjmp .+92 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ USB_Device_GetDescriptor();
+ }
+
+ break;
+ case REQ_GetConfiguration:
+ if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE))
+ 850: 80 38 cpi r24, 0x80 ; 128
+ 852: 61 f5 brne .+88 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ * \note This is not applicable for non CONTROL type endpoints.
+ */
+ static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearSETUP(void)
+ {
+ UEINTX &= ~(1 << RXSTPI);
+ 854: 80 91 e8 00 lds r24, 0x00E8
+ 858: 87 7f andi r24, 0xF7 ; 247
+ 85a: 80 93 e8 00 sts 0x00E8, r24
+
+static void USB_Device_GetConfiguration(void)
+{
+ Endpoint_ClearSETUP();
+
+ Endpoint_Write_Byte(USB_ConfigurationNumber);
+ 85e: 80 91 0b 02 lds r24, 0x020B
+ * \param[in] Byte Next byte to write into the the currently selected endpoint's FIFO buffer.
+ */
+ static inline void Endpoint_Write_Byte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_Write_Byte(const uint8_t Byte)
+ {
+ UEDATX = Byte;
+ 862: 80 93 f1 00 sts 0x00F1, r24
+ */
+ static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearIN(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
+ 866: 80 91 e8 00 lds r24, 0x00E8
+ 86a: 8e 77 andi r24, 0x7E ; 126
+ 86c: 80 93 e8 00 sts 0x00E8, r24
+ Endpoint_ClearIN();
+
+ Endpoint_ClearStatusStage();
+ 870: c3 dd rcall .-1146 ; 0x3f8 <Endpoint_ClearStatusStage>
+ 872: 1c c0 rjmp .+56 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE))
+ USB_Device_GetConfiguration();
+
+ break;
+ case REQ_SetConfiguration:
+ if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE))
+ 874: 88 23 and r24, r24
+ 876: d1 f4 brne .+52 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+}
+
+static void USB_Device_SetConfiguration(void)
+{
+ #if defined(FIXED_NUM_CONFIGURATIONS)
+ if ((uint8_t)USB_ControlRequest.wValue > FIXED_NUM_CONFIGURATIONS)
+ 878: 90 91 10 02 lds r25, 0x0210
+ 87c: 92 30 cpi r25, 0x02 ; 2
+ 87e: b0 f4 brcc .+44 ; 0x8ac <USB_Device_ProcessControlRequest+0x22e>
+ * \note This is not applicable for non CONTROL type endpoints.
+ */
+ static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearSETUP(void)
+ {
+ UEINTX &= ~(1 << RXSTPI);
+ 880: 80 91 e8 00 lds r24, 0x00E8
+ 884: 87 7f andi r24, 0xF7 ; 247
+ 886: 80 93 e8 00 sts 0x00E8, r24
+ }
+ #endif
+
+ Endpoint_ClearSETUP();
+
+ USB_ConfigurationNumber = (uint8_t)USB_ControlRequest.wValue;
+ 88a: 90 93 0b 02 sts 0x020B, r25
+
+ Endpoint_ClearStatusStage();
+ 88e: b4 dd rcall .-1176 ; 0x3f8 <Endpoint_ClearStatusStage>
+
+ if (USB_ConfigurationNumber)
+ 890: 80 91 0b 02 lds r24, 0x020B
+ 894: 88 23 and r24, r24
+ 896: 31 f4 brne .+12 ; 0x8a4 <USB_Device_ProcessControlRequest+0x226>
+ }
+
+ static inline bool USB_Device_IsAddressSet(void) ATTR_ALWAYS_INLINE;
+ static inline bool USB_Device_IsAddressSet(void)
+ {
+ return (UDADDR & (1 << ADDEN));
+ 898: 80 91 e3 00 lds r24, 0x00E3
+ USB_DeviceState = DEVICE_STATE_Configured;
+ else
+ USB_DeviceState = (USB_Device_IsAddressSet()) ? DEVICE_STATE_Configured : DEVICE_STATE_Powered;
+ 89c: 87 fd sbrc r24, 7
+ 89e: 02 c0 rjmp .+4 ; 0x8a4 <USB_Device_ProcessControlRequest+0x226>
+ 8a0: 81 e0 ldi r24, 0x01 ; 1
+ 8a2: 01 c0 rjmp .+2 ; 0x8a6 <USB_Device_ProcessControlRequest+0x228>
+ 8a4: 84 e0 ldi r24, 0x04 ; 4
+ 8a6: 80 93 0d 02 sts 0x020D, r24
+
+ EVENT_USB_Device_ConfigurationChanged();
+ 8aa: 7d dc rcall .-1798 ; 0x1a6 <EVENT_USB_Device_ConfigurationChanged>
+ * \return Boolean true if the selected endpoint has received a SETUP packet, false otherwise.
+ */
+ static inline bool Endpoint_IsSETUPReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsSETUPReceived(void)
+ {
+ return ((UEINTX & (1 << RXSTPI)) ? true : false);
+ 8ac: 80 91 e8 00 lds r24, 0x00E8
+
+ break;
+ }
+ }
+
+ if (Endpoint_IsSETUPReceived())
+ 8b0: 83 ff sbrs r24, 3
+ 8b2: 0a c0 rjmp .+20 ; 0x8c8 <USB_Device_ProcessControlRequest+0x24a>
+ * \ingroup Group_EndpointPacketManagement
+ */
+ static inline void Endpoint_StallTransaction(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_StallTransaction(void)
+ {
+ UECONX |= (1 << STALLRQ);
+ 8b4: 80 91 eb 00 lds r24, 0x00EB
+ 8b8: 80 62 ori r24, 0x20 ; 32
+ 8ba: 80 93 eb 00 sts 0x00EB, r24
+ * \note This is not applicable for non CONTROL type endpoints.
+ */
+ static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearSETUP(void)
+ {
+ UEINTX &= ~(1 << RXSTPI);
+ 8be: 80 91 e8 00 lds r24, 0x00E8
+ 8c2: 87 7f andi r24, 0xF7 ; 247
+ 8c4: 80 93 e8 00 sts 0x00E8, r24
+ {
+ Endpoint_StallTransaction();
+ Endpoint_ClearSETUP();
+ }
+}
+ 8c8: 0f 90 pop r0
+ 8ca: 0f 90 pop r0
+ 8cc: cf 91 pop r28
+ 8ce: df 91 pop r29
+ 8d0: 1f 91 pop r17
+ 8d2: 0f 91 pop r16
+ 8d4: 08 95 ret
+
+000008d6 <USB_Event_Stub>:
+#include "Events.h"
+
+void USB_Event_Stub(void)
+{
+
+}
+ 8d6: 08 95 ret
+
+000008d8 <Endpoint_Write_Control_Stream_LE>:
+ 8d8: 9c 01 movw r18, r24
+ uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
+ bool LastPacketFull = false;
+
+ if (Length > USB_ControlRequest.wLength)
+ 8da: 40 91 14 02 lds r20, 0x0214
+ 8de: 50 91 15 02 lds r21, 0x0215
+ 8e2: 46 17 cp r20, r22
+ 8e4: 57 07 cpc r21, r23
+ 8e6: 18 f4 brcc .+6 ; 0x8ee <Endpoint_Write_Control_Stream_LE+0x16>
+uint8_t TEMPLATE_FUNC_NAME (const void* Buffer,
+ uint16_t Length)
+{
+ uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
+ 8e8: f9 01 movw r30, r18
+ 8ea: 90 e0 ldi r25, 0x00 ; 0
+ 8ec: 3d c0 rjmp .+122 ; 0x968 <Endpoint_Write_Control_Stream_LE+0x90>
+ bool LastPacketFull = false;
+
+ if (Length > USB_ControlRequest.wLength)
+ Length = USB_ControlRequest.wLength;
+ else if (!(Length))
+ 8ee: 61 15 cp r22, r1
+ 8f0: 71 05 cpc r23, r1
+ 8f2: 11 f0 breq .+4 ; 0x8f8 <Endpoint_Write_Control_Stream_LE+0x20>
+ 8f4: ab 01 movw r20, r22
+ 8f6: f8 cf rjmp .-16 ; 0x8e8 <Endpoint_Write_Control_Stream_LE+0x10>
+ */
+ static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearIN(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
+ 8f8: 80 91 e8 00 lds r24, 0x00E8
+ 8fc: 8e 77 andi r24, 0x7E ; 126
+ 8fe: 80 93 e8 00 sts 0x00E8, r24
+ 902: 40 e0 ldi r20, 0x00 ; 0
+ 904: 50 e0 ldi r21, 0x00 ; 0
+ 906: f0 cf rjmp .-32 ; 0x8e8 <Endpoint_Write_Control_Stream_LE+0x10>
+ Endpoint_ClearIN();
+
+ while (Length || LastPacketFull)
+ {
+ uint8_t USB_DeviceState_LCL = USB_DeviceState;
+ 908: 80 91 0d 02 lds r24, 0x020D
+
+ if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
+ 90c: 88 23 and r24, r24
+ 90e: f1 f1 breq .+124 ; 0x98c <Endpoint_Write_Control_Stream_LE+0xb4>
+ return ENDPOINT_RWCSTREAM_DeviceDisconnected;
+ else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
+ 910: 85 30 cpi r24, 0x05 ; 5
+ 912: f1 f1 breq .+124 ; 0x990 <Endpoint_Write_Control_Stream_LE+0xb8>
+ * \return Boolean true if the selected endpoint has received a SETUP packet, false otherwise.
+ */
+ static inline bool Endpoint_IsSETUPReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsSETUPReceived(void)
+ {
+ return ((UEINTX & (1 << RXSTPI)) ? true : false);
+ 914: 80 91 e8 00 lds r24, 0x00E8
+ return ENDPOINT_RWCSTREAM_BusSuspended;
+ else if (Endpoint_IsSETUPReceived())
+ 918: 83 ff sbrs r24, 3
+ 91a: 02 c0 rjmp .+4 ; 0x920 <Endpoint_Write_Control_Stream_LE+0x48>
+ 91c: 81 e0 ldi r24, 0x01 ; 1
+ 91e: 08 95 ret
+ * \return Boolean true if current endpoint is has received an OUT packet, false otherwise.
+ */
+ static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsOUTReceived(void)
+ {
+ return ((UEINTX & (1 << RXOUTI)) ? true : false);
+ 920: 80 91 e8 00 lds r24, 0x00E8
+ return ENDPOINT_RWCSTREAM_HostAborted;
+ else if (Endpoint_IsOUTReceived())
+ 924: 82 fd sbrc r24, 2
+ 926: 2c c0 rjmp .+88 ; 0x980 <Endpoint_Write_Control_Stream_LE+0xa8>
+ * \return Boolean true if the current endpoint is ready for an IN packet, false otherwise.
+ */
+ static inline bool Endpoint_IsINReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsINReady(void)
+ {
+ return ((UEINTX & (1 << TXINI)) ? true : false);
+ 928: 80 91 e8 00 lds r24, 0x00E8
+ break;
+
+ if (Endpoint_IsINReady())
+ 92c: 80 ff sbrs r24, 0
+ 92e: 1c c0 rjmp .+56 ; 0x968 <Endpoint_Write_Control_Stream_LE+0x90>
+ #if defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ return UEBCX;
+ #elif defined(USB_SERIES_4_AVR)
+ return (((uint16_t)UEBCHX << 8) | UEBCLX);
+ #elif defined(USB_SERIES_2_AVR)
+ return UEBCLX;
+ 930: 80 91 f2 00 lds r24, 0x00F2
+ 934: 28 2f mov r18, r24
+ 936: 30 e0 ldi r19, 0x00 ; 0
+ 938: 07 c0 rjmp .+14 ; 0x948 <Endpoint_Write_Control_Stream_LE+0x70>
+ {
+ uint16_t BytesInEndpoint = Endpoint_BytesInEndpoint();
+
+ while (Length && (BytesInEndpoint < USB_ControlEndpointSize))
+ {
+ TEMPLATE_TRANSFER_BYTE(DataStream);
+ 93a: 81 91 ld r24, Z+
+ * \param[in] Byte Next byte to write into the the currently selected endpoint's FIFO buffer.
+ */
+ static inline void Endpoint_Write_Byte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_Write_Byte(const uint8_t Byte)
+ {
+ UEDATX = Byte;
+ 93c: 80 93 f1 00 sts 0x00F1, r24
+ Length--;
+ 940: 41 50 subi r20, 0x01 ; 1
+ 942: 50 40 sbci r21, 0x00 ; 0
+ BytesInEndpoint++;
+ 944: 2f 5f subi r18, 0xFF ; 255
+ 946: 3f 4f sbci r19, 0xFF ; 255
+
+ if (Endpoint_IsINReady())
+ {
+ uint16_t BytesInEndpoint = Endpoint_BytesInEndpoint();
+
+ while (Length && (BytesInEndpoint < USB_ControlEndpointSize))
+ 948: 41 15 cp r20, r1
+ 94a: 51 05 cpc r21, r1
+ 94c: 19 f0 breq .+6 ; 0x954 <Endpoint_Write_Control_Stream_LE+0x7c>
+ 94e: 28 30 cpi r18, 0x08 ; 8
+ 950: 31 05 cpc r19, r1
+ 952: 98 f3 brcs .-26 ; 0x93a <Endpoint_Write_Control_Stream_LE+0x62>
+ TEMPLATE_TRANSFER_BYTE(DataStream);
+ Length--;
+ BytesInEndpoint++;
+ }
+
+ LastPacketFull = (BytesInEndpoint == USB_ControlEndpointSize);
+ 954: 90 e0 ldi r25, 0x00 ; 0
+ 956: 28 30 cpi r18, 0x08 ; 8
+ 958: 31 05 cpc r19, r1
+ 95a: 09 f4 brne .+2 ; 0x95e <Endpoint_Write_Control_Stream_LE+0x86>
+ 95c: 91 e0 ldi r25, 0x01 ; 1
+ */
+ static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearIN(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
+ 95e: 80 91 e8 00 lds r24, 0x00E8
+ 962: 8e 77 andi r24, 0x7E ; 126
+ 964: 80 93 e8 00 sts 0x00E8, r24
+ if (Length > USB_ControlRequest.wLength)
+ Length = USB_ControlRequest.wLength;
+ else if (!(Length))
+ Endpoint_ClearIN();
+
+ while (Length || LastPacketFull)
+ 968: 41 15 cp r20, r1
+ 96a: 51 05 cpc r21, r1
+ 96c: 69 f6 brne .-102 ; 0x908 <Endpoint_Write_Control_Stream_LE+0x30>
+ 96e: 99 23 and r25, r25
+ 970: 59 f6 brne .-106 ; 0x908 <Endpoint_Write_Control_Stream_LE+0x30>
+ 972: 06 c0 rjmp .+12 ; 0x980 <Endpoint_Write_Control_Stream_LE+0xa8>
+ }
+ }
+
+ while (!(Endpoint_IsOUTReceived()))
+ {
+ uint8_t USB_DeviceState_LCL = USB_DeviceState;
+ 974: 80 91 0d 02 lds r24, 0x020D
+
+ if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
+ 978: 88 23 and r24, r24
+ 97a: 41 f0 breq .+16 ; 0x98c <Endpoint_Write_Control_Stream_LE+0xb4>
+ return ENDPOINT_RWCSTREAM_DeviceDisconnected;
+ else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
+ 97c: 85 30 cpi r24, 0x05 ; 5
+ 97e: 41 f0 breq .+16 ; 0x990 <Endpoint_Write_Control_Stream_LE+0xb8>
+ * \return Boolean true if current endpoint is has received an OUT packet, false otherwise.
+ */
+ static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsOUTReceived(void)
+ {
+ return ((UEINTX & (1 << RXOUTI)) ? true : false);
+ 980: 80 91 e8 00 lds r24, 0x00E8
+ LastPacketFull = (BytesInEndpoint == USB_ControlEndpointSize);
+ Endpoint_ClearIN();
+ }
+ }
+
+ while (!(Endpoint_IsOUTReceived()))
+ 984: 82 ff sbrs r24, 2
+ 986: f6 cf rjmp .-20 ; 0x974 <Endpoint_Write_Control_Stream_LE+0x9c>
+ 988: 80 e0 ldi r24, 0x00 ; 0
+ 98a: 08 95 ret
+ 98c: 82 e0 ldi r24, 0x02 ; 2
+ 98e: 08 95 ret
+ 990: 83 e0 ldi r24, 0x03 ; 3
+ else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
+ return ENDPOINT_RWCSTREAM_BusSuspended;
+ }
+
+ return ENDPOINT_RWCSTREAM_NoError;
+}
+ 992: 08 95 ret
+
+00000994 <Endpoint_Write_Control_PStream_LE>:
+uint8_t TEMPLATE_FUNC_NAME (const void* Buffer,
+ uint16_t Length)
+{
+ 994: 9c 01 movw r18, r24
+ uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
+ bool LastPacketFull = false;
+
+ if (Length > USB_ControlRequest.wLength)
+ 996: 40 91 14 02 lds r20, 0x0214
+ 99a: 50 91 15 02 lds r21, 0x0215
+ 99e: 46 17 cp r20, r22
+ 9a0: 57 07 cpc r21, r23
+ 9a2: 10 f4 brcc .+4 ; 0x9a8 <Endpoint_Write_Control_PStream_LE+0x14>
+uint8_t TEMPLATE_FUNC_NAME (const void* Buffer,
+ uint16_t Length)
+{
+ uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
+ 9a4: 60 e0 ldi r22, 0x00 ; 0
+ 9a6: 3f c0 rjmp .+126 ; 0xa26 <Endpoint_Write_Control_PStream_LE+0x92>
+ bool LastPacketFull = false;
+
+ if (Length > USB_ControlRequest.wLength)
+ Length = USB_ControlRequest.wLength;
+ else if (!(Length))
+ 9a8: 61 15 cp r22, r1
+ 9aa: 71 05 cpc r23, r1
+ 9ac: 11 f0 breq .+4 ; 0x9b2 <Endpoint_Write_Control_PStream_LE+0x1e>
+ 9ae: ab 01 movw r20, r22
+ 9b0: f9 cf rjmp .-14 ; 0x9a4 <Endpoint_Write_Control_PStream_LE+0x10>
+ */
+ static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearIN(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
+ 9b2: 80 91 e8 00 lds r24, 0x00E8
+ 9b6: 8e 77 andi r24, 0x7E ; 126
+ 9b8: 80 93 e8 00 sts 0x00E8, r24
+ 9bc: 40 e0 ldi r20, 0x00 ; 0
+ 9be: 50 e0 ldi r21, 0x00 ; 0
+ 9c0: f1 cf rjmp .-30 ; 0x9a4 <Endpoint_Write_Control_PStream_LE+0x10>
+ Endpoint_ClearIN();
+
+ while (Length || LastPacketFull)
+ {
+ uint8_t USB_DeviceState_LCL = USB_DeviceState;
+ 9c2: 80 91 0d 02 lds r24, 0x020D
+
+ if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
+ 9c6: 88 23 and r24, r24
+ 9c8: 09 f4 brne .+2 ; 0x9cc <Endpoint_Write_Control_PStream_LE+0x38>
+ 9ca: 3f c0 rjmp .+126 ; 0xa4a <Endpoint_Write_Control_PStream_LE+0xb6>
+ return ENDPOINT_RWCSTREAM_DeviceDisconnected;
+ else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
+ 9cc: 85 30 cpi r24, 0x05 ; 5
+ 9ce: 09 f4 brne .+2 ; 0x9d2 <Endpoint_Write_Control_PStream_LE+0x3e>
+ 9d0: 3e c0 rjmp .+124 ; 0xa4e <Endpoint_Write_Control_PStream_LE+0xba>
+ * \return Boolean true if the selected endpoint has received a SETUP packet, false otherwise.
+ */
+ static inline bool Endpoint_IsSETUPReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsSETUPReceived(void)
+ {
+ return ((UEINTX & (1 << RXSTPI)) ? true : false);
+ 9d2: 80 91 e8 00 lds r24, 0x00E8
+ return ENDPOINT_RWCSTREAM_BusSuspended;
+ else if (Endpoint_IsSETUPReceived())
+ 9d6: 83 ff sbrs r24, 3
+ 9d8: 02 c0 rjmp .+4 ; 0x9de <Endpoint_Write_Control_PStream_LE+0x4a>
+ 9da: 81 e0 ldi r24, 0x01 ; 1
+ 9dc: 08 95 ret
+ * \return Boolean true if current endpoint is has received an OUT packet, false otherwise.
+ */
+ static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsOUTReceived(void)
+ {
+ return ((UEINTX & (1 << RXOUTI)) ? true : false);
+ 9de: 80 91 e8 00 lds r24, 0x00E8
+ return ENDPOINT_RWCSTREAM_HostAborted;
+ else if (Endpoint_IsOUTReceived())
+ 9e2: 82 fd sbrc r24, 2
+ 9e4: 2c c0 rjmp .+88 ; 0xa3e <Endpoint_Write_Control_PStream_LE+0xaa>
+ * \return Boolean true if the current endpoint is ready for an IN packet, false otherwise.
+ */
+ static inline bool Endpoint_IsINReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsINReady(void)
+ {
+ return ((UEINTX & (1 << TXINI)) ? true : false);
+ 9e6: 80 91 e8 00 lds r24, 0x00E8
+ break;
+
+ if (Endpoint_IsINReady())
+ 9ea: 80 ff sbrs r24, 0
+ 9ec: 1c c0 rjmp .+56 ; 0xa26 <Endpoint_Write_Control_PStream_LE+0x92>
+ #if defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ return UEBCX;
+ #elif defined(USB_SERIES_4_AVR)
+ return (((uint16_t)UEBCHX << 8) | UEBCLX);
+ #elif defined(USB_SERIES_2_AVR)
+ return UEBCLX;
+ 9ee: 80 91 f2 00 lds r24, 0x00F2
+ 9f2: 90 e0 ldi r25, 0x00 ; 0
+ 9f4: 09 c0 rjmp .+18 ; 0xa08 <Endpoint_Write_Control_PStream_LE+0x74>
+ {
+ uint16_t BytesInEndpoint = Endpoint_BytesInEndpoint();
+
+ while (Length && (BytesInEndpoint < USB_ControlEndpointSize))
+ 9f6: f9 01 movw r30, r18
+ {
+ TEMPLATE_TRANSFER_BYTE(DataStream);
+ 9f8: 2f 5f subi r18, 0xFF ; 255
+ 9fa: 3f 4f sbci r19, 0xFF ; 255
+ 9fc: e4 91 lpm r30, Z+
+ * \param[in] Byte Next byte to write into the the currently selected endpoint's FIFO buffer.
+ */
+ static inline void Endpoint_Write_Byte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_Write_Byte(const uint8_t Byte)
+ {
+ UEDATX = Byte;
+ 9fe: e0 93 f1 00 sts 0x00F1, r30
+ Length--;
+ a02: 41 50 subi r20, 0x01 ; 1
+ a04: 50 40 sbci r21, 0x00 ; 0
+ BytesInEndpoint++;
+ a06: 01 96 adiw r24, 0x01 ; 1
+
+ if (Endpoint_IsINReady())
+ {
+ uint16_t BytesInEndpoint = Endpoint_BytesInEndpoint();
+
+ while (Length && (BytesInEndpoint < USB_ControlEndpointSize))
+ a08: 41 15 cp r20, r1
+ a0a: 51 05 cpc r21, r1
+ a0c: 19 f0 breq .+6 ; 0xa14 <Endpoint_Write_Control_PStream_LE+0x80>
+ a0e: 88 30 cpi r24, 0x08 ; 8
+ a10: 91 05 cpc r25, r1
+ a12: 88 f3 brcs .-30 ; 0x9f6 <Endpoint_Write_Control_PStream_LE+0x62>
+ TEMPLATE_TRANSFER_BYTE(DataStream);
+ Length--;
+ BytesInEndpoint++;
+ }
+
+ LastPacketFull = (BytesInEndpoint == USB_ControlEndpointSize);
+ a14: 60 e0 ldi r22, 0x00 ; 0
+ a16: 08 97 sbiw r24, 0x08 ; 8
+ a18: 09 f4 brne .+2 ; 0xa1c <Endpoint_Write_Control_PStream_LE+0x88>
+ a1a: 61 e0 ldi r22, 0x01 ; 1
+ */
+ static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearIN(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
+ a1c: 80 91 e8 00 lds r24, 0x00E8
+ a20: 8e 77 andi r24, 0x7E ; 126
+ a22: 80 93 e8 00 sts 0x00E8, r24
+ if (Length > USB_ControlRequest.wLength)
+ Length = USB_ControlRequest.wLength;
+ else if (!(Length))
+ Endpoint_ClearIN();
+
+ while (Length || LastPacketFull)
+ a26: 41 15 cp r20, r1
+ a28: 51 05 cpc r21, r1
+ a2a: 59 f6 brne .-106 ; 0x9c2 <Endpoint_Write_Control_PStream_LE+0x2e>
+ a2c: 66 23 and r22, r22
+ a2e: 49 f6 brne .-110 ; 0x9c2 <Endpoint_Write_Control_PStream_LE+0x2e>
+ a30: 06 c0 rjmp .+12 ; 0xa3e <Endpoint_Write_Control_PStream_LE+0xaa>
+ }
+ }
+
+ while (!(Endpoint_IsOUTReceived()))
+ {
+ uint8_t USB_DeviceState_LCL = USB_DeviceState;
+ a32: 80 91 0d 02 lds r24, 0x020D
+
+ if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
+ a36: 88 23 and r24, r24
+ a38: 41 f0 breq .+16 ; 0xa4a <Endpoint_Write_Control_PStream_LE+0xb6>
+ return ENDPOINT_RWCSTREAM_DeviceDisconnected;
+ else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
+ a3a: 85 30 cpi r24, 0x05 ; 5
+ a3c: 41 f0 breq .+16 ; 0xa4e <Endpoint_Write_Control_PStream_LE+0xba>
+ * \return Boolean true if current endpoint is has received an OUT packet, false otherwise.
+ */
+ static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsOUTReceived(void)
+ {
+ return ((UEINTX & (1 << RXOUTI)) ? true : false);
+ a3e: 80 91 e8 00 lds r24, 0x00E8
+ LastPacketFull = (BytesInEndpoint == USB_ControlEndpointSize);
+ Endpoint_ClearIN();
+ }
+ }
+
+ while (!(Endpoint_IsOUTReceived()))
+ a42: 82 ff sbrs r24, 2
+ a44: f6 cf rjmp .-20 ; 0xa32 <Endpoint_Write_Control_PStream_LE+0x9e>
+ a46: 80 e0 ldi r24, 0x00 ; 0
+ a48: 08 95 ret
+ a4a: 82 e0 ldi r24, 0x02 ; 2
+ a4c: 08 95 ret
+ a4e: 83 e0 ldi r24, 0x03 ; 3
+ else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
+ return ENDPOINT_RWCSTREAM_BusSuspended;
+ }
+
+ return ENDPOINT_RWCSTREAM_NoError;
+}
+ a50: 08 95 ret
+
+00000a52 <Endpoint_Read_Control_Stream_LE>:
+uint8_t TEMPLATE_FUNC_NAME (void* Buffer,
+ uint16_t Length)
+{
+ a52: 9c 01 movw r18, r24
+ uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
+
+ if (!(Length))
+ a54: 61 15 cp r22, r1
+ a56: 71 05 cpc r23, r1
+ a58: 29 f4 brne .+10 ; 0xa64 <Endpoint_Read_Control_Stream_LE+0x12>
+ */
+ static inline void Endpoint_ClearOUT(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearOUT(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << RXOUTI) | (1 << FIFOCON));
+ a5a: 80 91 e8 00 lds r24, 0x00E8
+ a5e: 8b 77 andi r24, 0x7B ; 123
+ a60: 80 93 e8 00 sts 0x00E8, r24
+uint8_t TEMPLATE_FUNC_NAME (void* Buffer,
+ uint16_t Length)
+{
+ uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
+ a64: f9 01 movw r30, r18
+ a66: 20 c0 rjmp .+64 ; 0xaa8 <Endpoint_Read_Control_Stream_LE+0x56>
+ if (!(Length))
+ Endpoint_ClearOUT();
+
+ while (Length)
+ {
+ uint8_t USB_DeviceState_LCL = USB_DeviceState;
+ a68: 80 91 0d 02 lds r24, 0x020D
+
+ if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
+ a6c: 88 23 and r24, r24
+ a6e: 61 f1 breq .+88 ; 0xac8 <Endpoint_Read_Control_Stream_LE+0x76>
+ return ENDPOINT_RWCSTREAM_DeviceDisconnected;
+ else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
+ a70: 85 30 cpi r24, 0x05 ; 5
+ a72: 61 f1 breq .+88 ; 0xacc <Endpoint_Read_Control_Stream_LE+0x7a>
+ * \return Boolean true if the selected endpoint has received a SETUP packet, false otherwise.
+ */
+ static inline bool Endpoint_IsSETUPReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsSETUPReceived(void)
+ {
+ return ((UEINTX & (1 << RXSTPI)) ? true : false);
+ a74: 80 91 e8 00 lds r24, 0x00E8
+ return ENDPOINT_RWCSTREAM_BusSuspended;
+ else if (Endpoint_IsSETUPReceived())
+ a78: 83 ff sbrs r24, 3
+ a7a: 02 c0 rjmp .+4 ; 0xa80 <Endpoint_Read_Control_Stream_LE+0x2e>
+ a7c: 81 e0 ldi r24, 0x01 ; 1
+ a7e: 08 95 ret
+ * \return Boolean true if current endpoint is has received an OUT packet, false otherwise.
+ */
+ static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsOUTReceived(void)
+ {
+ return ((UEINTX & (1 << RXOUTI)) ? true : false);
+ a80: 80 91 e8 00 lds r24, 0x00E8
+ return ENDPOINT_RWCSTREAM_HostAborted;
+
+ if (Endpoint_IsOUTReceived())
+ a84: 82 ff sbrs r24, 2
+ a86: f0 cf rjmp .-32 ; 0xa68 <Endpoint_Read_Control_Stream_LE+0x16>
+ a88: 06 c0 rjmp .+12 ; 0xa96 <Endpoint_Read_Control_Stream_LE+0x44>
+ * \return Next byte in the currently selected endpoint's FIFO buffer.
+ */
+ static inline uint8_t Endpoint_Read_Byte(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t Endpoint_Read_Byte(void)
+ {
+ return UEDATX;
+ a8a: 80 91 f1 00 lds r24, 0x00F1
+ {
+ while (Length && Endpoint_BytesInEndpoint())
+ {
+ TEMPLATE_TRANSFER_BYTE(DataStream);
+ a8e: 81 93 st Z+, r24
+ Length--;
+ a90: 61 50 subi r22, 0x01 ; 1
+ a92: 70 40 sbci r23, 0x00 ; 0
+ else if (Endpoint_IsSETUPReceived())
+ return ENDPOINT_RWCSTREAM_HostAborted;
+
+ if (Endpoint_IsOUTReceived())
+ {
+ while (Length && Endpoint_BytesInEndpoint())
+ a94: 21 f0 breq .+8 ; 0xa9e <Endpoint_Read_Control_Stream_LE+0x4c>
+ #if defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ return UEBCX;
+ #elif defined(USB_SERIES_4_AVR)
+ return (((uint16_t)UEBCHX << 8) | UEBCLX);
+ #elif defined(USB_SERIES_2_AVR)
+ return UEBCLX;
+ a96: 80 91 f2 00 lds r24, 0x00F2
+ a9a: 88 23 and r24, r24
+ a9c: b1 f7 brne .-20 ; 0xa8a <Endpoint_Read_Control_Stream_LE+0x38>
+ */
+ static inline void Endpoint_ClearOUT(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearOUT(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << RXOUTI) | (1 << FIFOCON));
+ a9e: 80 91 e8 00 lds r24, 0x00E8
+ aa2: 8b 77 andi r24, 0x7B ; 123
+ aa4: 80 93 e8 00 sts 0x00E8, r24
+ uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
+
+ if (!(Length))
+ Endpoint_ClearOUT();
+
+ while (Length)
+ aa8: 61 15 cp r22, r1
+ aaa: 71 05 cpc r23, r1
+ aac: e9 f6 brne .-70 ; 0xa68 <Endpoint_Read_Control_Stream_LE+0x16>
+ aae: 06 c0 rjmp .+12 ; 0xabc <Endpoint_Read_Control_Stream_LE+0x6a>
+ }
+ }
+
+ while (!(Endpoint_IsINReady()))
+ {
+ uint8_t USB_DeviceState_LCL = USB_DeviceState;
+ ab0: 80 91 0d 02 lds r24, 0x020D
+
+ if (USB_DeviceState_LCL == DEVICE_STATE_Unattached)
+ ab4: 88 23 and r24, r24
+ ab6: 41 f0 breq .+16 ; 0xac8 <Endpoint_Read_Control_Stream_LE+0x76>
+ return ENDPOINT_RWCSTREAM_DeviceDisconnected;
+ else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
+ ab8: 85 30 cpi r24, 0x05 ; 5
+ aba: 41 f0 breq .+16 ; 0xacc <Endpoint_Read_Control_Stream_LE+0x7a>
+ * \return Boolean true if the current endpoint is ready for an IN packet, false otherwise.
+ */
+ static inline bool Endpoint_IsINReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsINReady(void)
+ {
+ return ((UEINTX & (1 << TXINI)) ? true : false);
+ abc: 80 91 e8 00 lds r24, 0x00E8
+
+ Endpoint_ClearOUT();
+ }
+ }
+
+ while (!(Endpoint_IsINReady()))
+ ac0: 80 ff sbrs r24, 0
+ ac2: f6 cf rjmp .-20 ; 0xab0 <Endpoint_Read_Control_Stream_LE+0x5e>
+ ac4: 80 e0 ldi r24, 0x00 ; 0
+ ac6: 08 95 ret
+ ac8: 82 e0 ldi r24, 0x02 ; 2
+ aca: 08 95 ret
+ acc: 83 e0 ldi r24, 0x03 ; 3
+ else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended)
+ return ENDPOINT_RWCSTREAM_BusSuspended;
+ }
+
+ return ENDPOINT_RWCSTREAM_NoError;
+}
+ ace: 08 95 ret
+
+00000ad0 <USB_USBTask>:
+#if defined(USB_CAN_BE_DEVICE) && !defined(DEVICE_STATE_AS_GPIOR)
+volatile uint8_t USB_DeviceState;
+#endif
+
+void USB_USBTask(void)
+{
+ ad0: 1f 93 push r17
+}
+
+#if defined(USB_CAN_BE_DEVICE)
+static void USB_DeviceTask(void)
+{
+ if (USB_DeviceState != DEVICE_STATE_Unattached)
+ ad2: 80 91 0d 02 lds r24, 0x020D
+ ad6: 88 23 and r24, r24
+ ad8: 61 f0 breq .+24 ; 0xaf2 <USB_USBTask+0x22>
+ */
+ static inline uint8_t Endpoint_GetCurrentEndpoint(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t Endpoint_GetCurrentEndpoint(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ return (UENUM & ENDPOINT_EPNUM_MASK);
+ ada: 10 91 e9 00 lds r17, 0x00E9
+ */
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UENUM = EndpointNumber;
+ ade: 10 92 e9 00 sts 0x00E9, r1
+ * \return Boolean true if the selected endpoint has received a SETUP packet, false otherwise.
+ */
+ static inline bool Endpoint_IsSETUPReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsSETUPReceived(void)
+ {
+ return ((UEINTX & (1 << RXSTPI)) ? true : false);
+ ae2: 80 91 e8 00 lds r24, 0x00E8
+ {
+ uint8_t PrevEndpoint = Endpoint_GetCurrentEndpoint();
+
+ Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP);
+
+ if (Endpoint_IsSETUPReceived())
+ ae6: 83 ff sbrs r24, 3
+ ae8: 01 c0 rjmp .+2 ; 0xaec <USB_USBTask+0x1c>
+ USB_Device_ProcessControlRequest();
+ aea: c9 dd rcall .-1134 ; 0x67e <USB_Device_ProcessControlRequest>
+ */
+ static inline uint8_t Endpoint_GetCurrentEndpoint(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t Endpoint_GetCurrentEndpoint(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ return (UENUM & ENDPOINT_EPNUM_MASK);
+ aec: 17 70 andi r17, 0x07 ; 7
+ */
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UENUM = EndpointNumber;
+ aee: 10 93 e9 00 sts 0x00E9, r17
+ if (USB_CurrentMode == USB_MODE_Device)
+ USB_DeviceTask();
+ else if (USB_CurrentMode == USB_MODE_Host)
+ USB_HostTask();
+ #endif
+}
+ af2: 1f 91 pop r17
+ af4: 08 95 ret
+
+00000af6 <CDC_Device_Event_Stub>:
+#include "CDC.h"
+
+void CDC_Device_Event_Stub(void)
+{
+
+}
+ af6: 08 95 ret
+
+00000af8 <CDC_Device_ReceiveByte>:
+ return 0;
+ }
+}
+
+int16_t CDC_Device_ReceiveByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+{
+ af8: fc 01 movw r30, r24
+ if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
+ afa: 80 91 0d 02 lds r24, 0x020D
+ afe: 84 30 cpi r24, 0x04 ; 4
+ b00: 21 f5 brne .+72 ; 0xb4a <CDC_Device_ReceiveByte+0x52>
+ b02: 87 85 ldd r24, Z+15 ; 0x0f
+ b04: 90 89 ldd r25, Z+16 ; 0x10
+ b06: a1 89 ldd r26, Z+17 ; 0x11
+ b08: b2 89 ldd r27, Z+18 ; 0x12
+ b0a: 00 97 sbiw r24, 0x00 ; 0
+ b0c: a1 05 cpc r26, r1
+ b0e: b1 05 cpc r27, r1
+ b10: e1 f0 breq .+56 ; 0xb4a <CDC_Device_ReceiveByte+0x52>
+ return -1;
+
+ int16_t ReceivedByte = -1;
+
+ Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataOUTEndpointNumber);
+ b12: 85 81 ldd r24, Z+5 ; 0x05
+ */
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UENUM = EndpointNumber;
+ b14: 80 93 e9 00 sts 0x00E9, r24
+ * \return Boolean true if current endpoint is has received an OUT packet, false otherwise.
+ */
+ static inline bool Endpoint_IsOUTReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsOUTReceived(void)
+ {
+ return ((UEINTX & (1 << RXOUTI)) ? true : false);
+ b18: 80 91 e8 00 lds r24, 0x00E8
+
+ if (Endpoint_IsOUTReceived())
+ b1c: 82 ff sbrs r24, 2
+ b1e: 15 c0 rjmp .+42 ; 0xb4a <CDC_Device_ReceiveByte+0x52>
+ #if defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ return UEBCX;
+ #elif defined(USB_SERIES_4_AVR)
+ return (((uint16_t)UEBCHX << 8) | UEBCLX);
+ #elif defined(USB_SERIES_2_AVR)
+ return UEBCLX;
+ b20: 80 91 f2 00 lds r24, 0x00F2
+ {
+ if (Endpoint_BytesInEndpoint())
+ b24: 88 23 and r24, r24
+ b26: 19 f4 brne .+6 ; 0xb2e <CDC_Device_ReceiveByte+0x36>
+ b28: 2f ef ldi r18, 0xFF ; 255
+ b2a: 3f ef ldi r19, 0xFF ; 255
+ b2c: 04 c0 rjmp .+8 ; 0xb36 <CDC_Device_ReceiveByte+0x3e>
+ * \return Next byte in the currently selected endpoint's FIFO buffer.
+ */
+ static inline uint8_t Endpoint_Read_Byte(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline uint8_t Endpoint_Read_Byte(void)
+ {
+ return UEDATX;
+ b2e: 80 91 f1 00 lds r24, 0x00F1
+ ReceivedByte = Endpoint_Read_Byte();
+ b32: 28 2f mov r18, r24
+ b34: 30 e0 ldi r19, 0x00 ; 0
+ #if defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ return UEBCX;
+ #elif defined(USB_SERIES_4_AVR)
+ return (((uint16_t)UEBCHX << 8) | UEBCLX);
+ #elif defined(USB_SERIES_2_AVR)
+ return UEBCLX;
+ b36: 80 91 f2 00 lds r24, 0x00F2
+
+ if (!(Endpoint_BytesInEndpoint()))
+ b3a: 88 23 and r24, r24
+ b3c: 41 f4 brne .+16 ; 0xb4e <CDC_Device_ReceiveByte+0x56>
+ */
+ static inline void Endpoint_ClearOUT(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearOUT(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << RXOUTI) | (1 << FIFOCON));
+ b3e: 80 91 e8 00 lds r24, 0x00E8
+ b42: 8b 77 andi r24, 0x7B ; 123
+ b44: 80 93 e8 00 sts 0x00E8, r24
+ b48: 02 c0 rjmp .+4 ; 0xb4e <CDC_Device_ReceiveByte+0x56>
+ b4a: 2f ef ldi r18, 0xFF ; 255
+ b4c: 3f ef ldi r19, 0xFF ; 255
+ Endpoint_ClearOUT();
+ }
+
+ return ReceivedByte;
+}
+ b4e: c9 01 movw r24, r18
+ b50: 08 95 ret
+
+00000b52 <CDC_Device_CreateStream>:
+ Endpoint_ClearIN();
+}
+
+void CDC_Device_CreateStream(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
+ FILE* const Stream)
+{
+ b52: fb 01 movw r30, r22
+ *Stream = (FILE)FDEV_SETUP_STREAM(CDC_Device_putchar, CDC_Device_getchar, _FDEV_SETUP_RW);
+ b54: 2e e0 ldi r18, 0x0E ; 14
+ b56: db 01 movw r26, r22
+ b58: 1d 92 st X+, r1
+ b5a: 2a 95 dec r18
+ b5c: e9 f7 brne .-6 ; 0xb58 <CDC_Device_CreateStream+0x6>
+ b5e: 23 e0 ldi r18, 0x03 ; 3
+ b60: 23 83 std Z+3, r18 ; 0x03
+ b62: 28 e2 ldi r18, 0x28 ; 40
+ b64: 36 e0 ldi r19, 0x06 ; 6
+ b66: 31 87 std Z+9, r19 ; 0x09
+ b68: 20 87 std Z+8, r18 ; 0x08
+ b6a: 2c eb ldi r18, 0xBC ; 188
+ b6c: 35 e0 ldi r19, 0x05 ; 5
+ b6e: 33 87 std Z+11, r19 ; 0x0b
+ b70: 22 87 std Z+10, r18 ; 0x0a
+ fdev_set_udata(Stream, CDCInterfaceInfo);
+ b72: 95 87 std Z+13, r25 ; 0x0d
+ b74: 84 87 std Z+12, r24 ; 0x0c
+}
+ b76: 08 95 ret
+
+00000b78 <CDC_Device_getchar>:
+ return CDC_Device_SendByte((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream), c) ? _FDEV_ERR : 0;
+}
+
+static int CDC_Device_getchar(FILE* Stream)
+{
+ int16_t ReceivedByte = CDC_Device_ReceiveByte((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream));
+ b78: fc 01 movw r30, r24
+ b7a: 84 85 ldd r24, Z+12 ; 0x0c
+ b7c: 95 85 ldd r25, Z+13 ; 0x0d
+ b7e: bc df rcall .-136 ; 0xaf8 <CDC_Device_ReceiveByte>
+ b80: 9c 01 movw r18, r24
+
+ if (ReceivedByte < 0)
+ b82: 97 ff sbrs r25, 7
+ b84: 02 c0 rjmp .+4 ; 0xb8a <CDC_Device_getchar+0x12>
+ b86: 2e ef ldi r18, 0xFE ; 254
+ b88: 3f ef ldi r19, 0xFF ; 255
+ return _FDEV_EOF;
+
+ return ReceivedByte;
+}
+ b8a: c9 01 movw r24, r18
+ b8c: 08 95 ret
+
+00000b8e <CDC_Device_Flush>:
+ Endpoint_Write_Byte(Data);
+ return ENDPOINT_READYWAIT_NoError;
+}
+
+uint8_t CDC_Device_Flush(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+{
+ b8e: fc 01 movw r30, r24
+ if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
+ b90: 80 91 0d 02 lds r24, 0x020D
+ b94: 84 30 cpi r24, 0x04 ; 4
+ b96: 11 f5 brne .+68 ; 0xbdc <CDC_Device_Flush+0x4e>
+ b98: 87 85 ldd r24, Z+15 ; 0x0f
+ b9a: 90 89 ldd r25, Z+16 ; 0x10
+ b9c: a1 89 ldd r26, Z+17 ; 0x11
+ b9e: b2 89 ldd r27, Z+18 ; 0x12
+ ba0: 00 97 sbiw r24, 0x00 ; 0
+ ba2: a1 05 cpc r26, r1
+ ba4: b1 05 cpc r27, r1
+ ba6: d1 f0 breq .+52 ; 0xbdc <CDC_Device_Flush+0x4e>
+ return ENDPOINT_RWSTREAM_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataINEndpointNumber);
+ ba8: 81 81 ldd r24, Z+1 ; 0x01
+ */
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UENUM = EndpointNumber;
+ baa: 80 93 e9 00 sts 0x00E9, r24
+ #if defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
+ return UEBCX;
+ #elif defined(USB_SERIES_4_AVR)
+ return (((uint16_t)UEBCHX << 8) | UEBCLX);
+ #elif defined(USB_SERIES_2_AVR)
+ return UEBCLX;
+ bae: 80 91 f2 00 lds r24, 0x00F2
+
+ if (!(Endpoint_BytesInEndpoint()))
+ bb2: 88 23 and r24, r24
+ bb4: a9 f0 breq .+42 ; 0xbe0 <CDC_Device_Flush+0x52>
+ * \return Boolean true if the currently selected endpoint may be read from or written to, depending on its direction.
+ */
+ static inline bool Endpoint_IsReadWriteAllowed(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsReadWriteAllowed(void)
+ {
+ return ((UEINTX & (1 << RWAL)) ? true : false);
+ bb6: 90 91 e8 00 lds r25, 0x00E8
+ */
+ static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearIN(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
+ bba: 80 91 e8 00 lds r24, 0x00E8
+ bbe: 8e 77 andi r24, 0x7E ; 126
+ bc0: 80 93 e8 00 sts 0x00E8, r24
+
+ bool BankFull = !(Endpoint_IsReadWriteAllowed());
+
+ Endpoint_ClearIN();
+
+ if (BankFull)
+ bc4: 95 fd sbrc r25, 5
+ bc6: 0c c0 rjmp .+24 ; 0xbe0 <CDC_Device_Flush+0x52>
+ {
+ if ((ErrorCode = Endpoint_WaitUntilReady()) != ENDPOINT_READYWAIT_NoError)
+ bc8: 38 dc rcall .-1936 ; 0x43a <Endpoint_WaitUntilReady>
+ bca: 98 2f mov r25, r24
+ bcc: 88 23 and r24, r24
+ bce: 49 f4 brne .+18 ; 0xbe2 <CDC_Device_Flush+0x54>
+ bd0: 80 91 e8 00 lds r24, 0x00E8
+ bd4: 8e 77 andi r24, 0x7E ; 126
+ bd6: 80 93 e8 00 sts 0x00E8, r24
+ bda: 03 c0 rjmp .+6 ; 0xbe2 <CDC_Device_Flush+0x54>
+ bdc: 92 e0 ldi r25, 0x02 ; 2
+ bde: 01 c0 rjmp .+2 ; 0xbe2 <CDC_Device_Flush+0x54>
+ be0: 90 e0 ldi r25, 0x00 ; 0
+
+ Endpoint_ClearIN();
+ }
+
+ return ENDPOINT_READYWAIT_NoError;
+}
+ be2: 89 2f mov r24, r25
+ be4: 08 95 ret
+
+00000be6 <CDC_Device_USBTask>:
+
+ return true;
+}
+
+void CDC_Device_USBTask(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+{
+ be6: fc 01 movw r30, r24
+ if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
+ be8: 80 91 0d 02 lds r24, 0x020D
+ bec: 84 30 cpi r24, 0x04 ; 4
+ bee: 51 f4 brne .+20 ; 0xc04 <CDC_Device_USBTask+0x1e>
+ bf0: 87 85 ldd r24, Z+15 ; 0x0f
+ bf2: 90 89 ldd r25, Z+16 ; 0x10
+ bf4: a1 89 ldd r26, Z+17 ; 0x11
+ bf6: b2 89 ldd r27, Z+18 ; 0x12
+ bf8: 00 97 sbiw r24, 0x00 ; 0
+ bfa: a1 05 cpc r26, r1
+ bfc: b1 05 cpc r27, r1
+ bfe: 11 f0 breq .+4 ; 0xc04 <CDC_Device_USBTask+0x1e>
+ return;
+
+ #if !defined(NO_CLASS_DRIVER_AUTOFLUSH)
+ CDC_Device_Flush(CDCInterfaceInfo);
+ c00: cf 01 movw r24, r30
+ c02: c5 cf rjmp .-118 ; 0xb8e <CDC_Device_Flush>
+ c04: 08 95 ret
+
+00000c06 <CDC_Device_SendByte>:
+ return Endpoint_Write_Stream_LE(Data, Length, NO_STREAM_CALLBACK);
+}
+
+uint8_t CDC_Device_SendByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
+ const uint8_t Data)
+{
+ c06: 1f 93 push r17
+ c08: fc 01 movw r30, r24
+ c0a: 16 2f mov r17, r22
+ if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS))
+ c0c: 80 91 0d 02 lds r24, 0x020D
+ c10: 84 30 cpi r24, 0x04 ; 4
+ c12: d9 f4 brne .+54 ; 0xc4a <CDC_Device_SendByte+0x44>
+ c14: 87 85 ldd r24, Z+15 ; 0x0f
+ c16: 90 89 ldd r25, Z+16 ; 0x10
+ c18: a1 89 ldd r26, Z+17 ; 0x11
+ c1a: b2 89 ldd r27, Z+18 ; 0x12
+ c1c: 00 97 sbiw r24, 0x00 ; 0
+ c1e: a1 05 cpc r26, r1
+ c20: b1 05 cpc r27, r1
+ c22: 99 f0 breq .+38 ; 0xc4a <CDC_Device_SendByte+0x44>
+ return ENDPOINT_RWSTREAM_DeviceDisconnected;
+
+ Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataINEndpointNumber);
+ c24: 81 81 ldd r24, Z+1 ; 0x01
+ */
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_SelectEndpoint(const uint8_t EndpointNumber)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UENUM = EndpointNumber;
+ c26: 80 93 e9 00 sts 0x00E9, r24
+ * \return Boolean true if the currently selected endpoint may be read from or written to, depending on its direction.
+ */
+ static inline bool Endpoint_IsReadWriteAllowed(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsReadWriteAllowed(void)
+ {
+ return ((UEINTX & (1 << RWAL)) ? true : false);
+ c2a: 80 91 e8 00 lds r24, 0x00E8
+
+ if (!(Endpoint_IsReadWriteAllowed()))
+ c2e: 85 fd sbrc r24, 5
+ c30: 08 c0 rjmp .+16 ; 0xc42 <CDC_Device_SendByte+0x3c>
+ */
+ static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearIN(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
+ c32: 80 91 e8 00 lds r24, 0x00E8
+ c36: 8e 77 andi r24, 0x7E ; 126
+ c38: 80 93 e8 00 sts 0x00E8, r24
+ {
+ Endpoint_ClearIN();
+
+ uint8_t ErrorCode;
+
+ if ((ErrorCode = Endpoint_WaitUntilReady()) != ENDPOINT_READYWAIT_NoError)
+ c3c: fe db rcall .-2052 ; 0x43a <Endpoint_WaitUntilReady>
+ c3e: 88 23 and r24, r24
+ c40: 29 f4 brne .+10 ; 0xc4c <CDC_Device_SendByte+0x46>
+ * \param[in] Byte Next byte to write into the the currently selected endpoint's FIFO buffer.
+ */
+ static inline void Endpoint_Write_Byte(const uint8_t Byte) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_Write_Byte(const uint8_t Byte)
+ {
+ UEDATX = Byte;
+ c42: 10 93 f1 00 sts 0x00F1, r17
+ c46: 80 e0 ldi r24, 0x00 ; 0
+ c48: 01 c0 rjmp .+2 ; 0xc4c <CDC_Device_SendByte+0x46>
+ return ErrorCode;
+ }
+
+ Endpoint_Write_Byte(Data);
+ return ENDPOINT_READYWAIT_NoError;
+ c4a: 82 e0 ldi r24, 0x02 ; 2
+}
+ c4c: 1f 91 pop r17
+ c4e: 08 95 ret
+
+00000c50 <CDC_Device_putchar>:
+ fdev_set_udata(Stream, CDCInterfaceInfo);
+}
+
+static int CDC_Device_putchar(char c,
+ FILE* Stream)
+{
+ c50: 28 2f mov r18, r24
+ c52: fb 01 movw r30, r22
+ return CDC_Device_SendByte((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream), c) ? _FDEV_ERR : 0;
+ c54: 84 85 ldd r24, Z+12 ; 0x0c
+ c56: 95 85 ldd r25, Z+13 ; 0x0d
+ c58: 62 2f mov r22, r18
+ c5a: d5 df rcall .-86 ; 0xc06 <CDC_Device_SendByte>
+ c5c: 88 23 and r24, r24
+ c5e: 19 f4 brne .+6 ; 0xc66 <CDC_Device_putchar+0x16>
+ c60: 20 e0 ldi r18, 0x00 ; 0
+ c62: 30 e0 ldi r19, 0x00 ; 0
+ c64: 02 c0 rjmp .+4 ; 0xc6a <CDC_Device_putchar+0x1a>
+ c66: 2f ef ldi r18, 0xFF ; 255
+ c68: 3f ef ldi r19, 0xFF ; 255
+}
+ c6a: c9 01 movw r24, r18
+ c6c: 08 95 ret
+
+00000c6e <CDC_Device_ConfigureEndpoints>:
+ break;
+ }
+}
+
+bool CDC_Device_ConfigureEndpoints(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+{
+ c6e: 1f 93 push r17
+ c70: cf 93 push r28
+ c72: df 93 push r29
+ c74: ec 01 movw r28, r24
+ memset(&CDCInterfaceInfo->State, 0x00, sizeof(CDCInterfaceInfo->State));
+ c76: 0d 96 adiw r24, 0x0d ; 13
+ c78: fc 01 movw r30, r24
+ c7a: 89 e0 ldi r24, 0x09 ; 9
+ c7c: df 01 movw r26, r30
+ c7e: 1d 92 st X+, r1
+ c80: 8a 95 dec r24
+ c82: e9 f7 brne .-6 ; 0xc7e <CDC_Device_ConfigureEndpoints+0x10>
+ c84: 11 e0 ldi r17, 0x01 ; 1
+ uint16_t Size;
+ uint8_t Type;
+ uint8_t Direction;
+ bool DoubleBanked;
+
+ if (EndpointNum == CDCInterfaceInfo->Config.DataINEndpointNumber)
+ c86: 89 81 ldd r24, Y+1 ; 0x01
+ c88: 18 17 cp r17, r24
+ c8a: 29 f4 brne .+10 ; 0xc96 <CDC_Device_ConfigureEndpoints+0x28>
+ {
+ Size = CDCInterfaceInfo->Config.DataINEndpointSize;
+ c8c: ea 81 ldd r30, Y+2 ; 0x02
+ c8e: fb 81 ldd r31, Y+3 ; 0x03
+ Direction = ENDPOINT_DIR_IN;
+ Type = EP_TYPE_BULK;
+ DoubleBanked = CDCInterfaceInfo->Config.DataINEndpointDoubleBank;
+ c90: 8c 81 ldd r24, Y+4 ; 0x04
+ c92: 62 e0 ldi r22, 0x02 ; 2
+ c94: 10 c0 rjmp .+32 ; 0xcb6 <CDC_Device_ConfigureEndpoints+0x48>
+ }
+ else if (EndpointNum == CDCInterfaceInfo->Config.DataOUTEndpointNumber)
+ c96: 8d 81 ldd r24, Y+5 ; 0x05
+ c98: 18 17 cp r17, r24
+ c9a: 31 f4 brne .+12 ; 0xca8 <CDC_Device_ConfigureEndpoints+0x3a>
+ {
+ Size = CDCInterfaceInfo->Config.DataOUTEndpointSize;
+ c9c: ee 81 ldd r30, Y+6 ; 0x06
+ c9e: ff 81 ldd r31, Y+7 ; 0x07
+ Direction = ENDPOINT_DIR_OUT;
+ Type = EP_TYPE_BULK;
+ DoubleBanked = CDCInterfaceInfo->Config.DataOUTEndpointDoubleBank;
+ ca0: 88 85 ldd r24, Y+8 ; 0x08
+ ca2: 62 e0 ldi r22, 0x02 ; 2
+ ca4: 30 e0 ldi r19, 0x00 ; 0
+ ca6: 08 c0 rjmp .+16 ; 0xcb8 <CDC_Device_ConfigureEndpoints+0x4a>
+ }
+ else if (EndpointNum == CDCInterfaceInfo->Config.NotificationEndpointNumber)
+ ca8: 89 85 ldd r24, Y+9 ; 0x09
+ caa: 18 17 cp r17, r24
+ cac: 09 f5 brne .+66 ; 0xcf0 <CDC_Device_ConfigureEndpoints+0x82>
+ {
+ Size = CDCInterfaceInfo->Config.NotificationEndpointSize;
+ cae: ea 85 ldd r30, Y+10 ; 0x0a
+ cb0: fb 85 ldd r31, Y+11 ; 0x0b
+ Direction = ENDPOINT_DIR_IN;
+ Type = EP_TYPE_INTERRUPT;
+ DoubleBanked = CDCInterfaceInfo->Config.NotificationEndpointDoubleBank;
+ cb2: 8c 85 ldd r24, Y+12 ; 0x0c
+ cb4: 63 e0 ldi r22, 0x03 ; 3
+ cb6: 31 e0 ldi r19, 0x01 ; 1
+ else
+ {
+ continue;
+ }
+
+ if (!(Endpoint_ConfigureEndpoint(EndpointNum, Type, Direction, Size,
+ cb8: 88 23 and r24, r24
+ cba: 11 f4 brne .+4 ; 0xcc0 <CDC_Device_ConfigureEndpoints+0x52>
+ cbc: 40 e0 ldi r20, 0x00 ; 0
+ cbe: 01 c0 rjmp .+2 ; 0xcc2 <CDC_Device_ConfigureEndpoints+0x54>
+ cc0: 44 e0 ldi r20, 0x04 ; 4
+ cc2: 20 e0 ldi r18, 0x00 ; 0
+ cc4: 88 e0 ldi r24, 0x08 ; 8
+ cc6: 90 e0 ldi r25, 0x00 ; 0
+ cc8: 03 c0 rjmp .+6 ; 0xcd0 <CDC_Device_ConfigureEndpoints+0x62>
+ uint8_t MaskVal = 0;
+ uint16_t CheckBytes = 8;
+
+ while (CheckBytes < Bytes)
+ {
+ MaskVal++;
+ cca: 2f 5f subi r18, 0xFF ; 255
+ CheckBytes <<= 1;
+ ccc: 88 0f add r24, r24
+ cce: 99 1f adc r25, r25
+ static inline uint8_t Endpoint_BytesToEPSizeMask(const uint16_t Bytes)
+ {
+ uint8_t MaskVal = 0;
+ uint16_t CheckBytes = 8;
+
+ while (CheckBytes < Bytes)
+ cd0: 8e 17 cp r24, r30
+ cd2: 9f 07 cpc r25, r31
+ cd4: d0 f3 brcs .-12 ; 0xcca <CDC_Device_ConfigureEndpoints+0x5c>
+ const uint8_t Type,
+ const uint8_t Direction,
+ const uint16_t Size,
+ const uint8_t Banks)
+ {
+ return Endpoint_ConfigureEndpoint_Prv(Number, (((Type) << EPTYPE0) | (Direction)),
+ cd6: 62 95 swap r22
+ cd8: 66 0f add r22, r22
+ cda: 66 0f add r22, r22
+ cdc: 60 7c andi r22, 0xC0 ; 192
+ cde: 63 2b or r22, r19
+ ce0: 42 60 ori r20, 0x02 ; 2
+ ce2: 22 95 swap r18
+ ce4: 20 7f andi r18, 0xF0 ; 240
+ ce6: 42 2b or r20, r18
+ ce8: 81 2f mov r24, r17
+ cea: 73 db rcall .-2330 ; 0x3d2 <Endpoint_ConfigureEndpoint_Prv>
+ cec: 88 23 and r24, r24
+ cee: 21 f0 breq .+8 ; 0xcf8 <CDC_Device_ConfigureEndpoints+0x8a>
+
+bool CDC_Device_ConfigureEndpoints(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+{
+ memset(&CDCInterfaceInfo->State, 0x00, sizeof(CDCInterfaceInfo->State));
+
+ for (uint8_t EndpointNum = 1; EndpointNum < ENDPOINT_TOTAL_ENDPOINTS; EndpointNum++)
+ cf0: 1f 5f subi r17, 0xFF ; 255
+ cf2: 15 30 cpi r17, 0x05 ; 5
+ cf4: 41 f6 brne .-112 ; 0xc86 <CDC_Device_ConfigureEndpoints+0x18>
+ cf6: 81 e0 ldi r24, 0x01 ; 1
+ return false;
+ }
+ }
+
+ return true;
+}
+ cf8: df 91 pop r29
+ cfa: cf 91 pop r28
+ cfc: 1f 91 pop r17
+ cfe: 08 95 ret
+
+00000d00 <CDC_Device_ProcessControlRequest>:
+{
+
+}
+
+void CDC_Device_ProcessControlRequest(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
+{
+ d00: cf 93 push r28
+ d02: df 93 push r29
+ d04: ec 01 movw r28, r24
+ * \return Boolean true if the selected endpoint has received a SETUP packet, false otherwise.
+ */
+ static inline bool Endpoint_IsSETUPReceived(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Endpoint_IsSETUPReceived(void)
+ {
+ return ((UEINTX & (1 << RXSTPI)) ? true : false);
+ d06: 80 91 e8 00 lds r24, 0x00E8
+ if (!(Endpoint_IsSETUPReceived()))
+ d0a: 83 ff sbrs r24, 3
+ d0c: 63 c0 rjmp .+198 ; 0xdd4 <CDC_Device_ProcessControlRequest+0xd4>
+ return;
+
+ if (USB_ControlRequest.wIndex != CDCInterfaceInfo->Config.ControlInterfaceNumber)
+ d0e: 88 81 ld r24, Y
+ d10: 90 e0 ldi r25, 0x00 ; 0
+ d12: 20 91 12 02 lds r18, 0x0212
+ d16: 30 91 13 02 lds r19, 0x0213
+ d1a: 28 17 cp r18, r24
+ d1c: 39 07 cpc r19, r25
+ d1e: 09 f0 breq .+2 ; 0xd22 <CDC_Device_ProcessControlRequest+0x22>
+ d20: 59 c0 rjmp .+178 ; 0xdd4 <CDC_Device_ProcessControlRequest+0xd4>
+ return;
+
+ switch (USB_ControlRequest.bRequest)
+ d22: 80 91 0f 02 lds r24, 0x020F
+ d26: 81 32 cpi r24, 0x21 ; 33
+ d28: 61 f0 breq .+24 ; 0xd42 <CDC_Device_ProcessControlRequest+0x42>
+ d2a: 82 32 cpi r24, 0x22 ; 34
+ d2c: 20 f4 brcc .+8 ; 0xd36 <CDC_Device_ProcessControlRequest+0x36>
+ d2e: 80 32 cpi r24, 0x20 ; 32
+ d30: 09 f0 breq .+2 ; 0xd34 <CDC_Device_ProcessControlRequest+0x34>
+ d32: 50 c0 rjmp .+160 ; 0xdd4 <CDC_Device_ProcessControlRequest+0xd4>
+ d34: 1b c0 rjmp .+54 ; 0xd6c <CDC_Device_ProcessControlRequest+0x6c>
+ d36: 82 32 cpi r24, 0x22 ; 34
+ d38: 79 f1 breq .+94 ; 0xd98 <CDC_Device_ProcessControlRequest+0x98>
+ d3a: 83 32 cpi r24, 0x23 ; 35
+ d3c: 09 f0 breq .+2 ; 0xd40 <CDC_Device_ProcessControlRequest+0x40>
+ d3e: 4a c0 rjmp .+148 ; 0xdd4 <CDC_Device_ProcessControlRequest+0xd4>
+ d40: 3b c0 rjmp .+118 ; 0xdb8 <CDC_Device_ProcessControlRequest+0xb8>
+ {
+ case CDC_REQ_GetLineEncoding:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ d42: 80 91 0e 02 lds r24, 0x020E
+ d46: 81 3a cpi r24, 0xA1 ; 161
+ d48: 09 f0 breq .+2 ; 0xd4c <CDC_Device_ProcessControlRequest+0x4c>
+ d4a: 44 c0 rjmp .+136 ; 0xdd4 <CDC_Device_ProcessControlRequest+0xd4>
+ * \note This is not applicable for non CONTROL type endpoints.
+ */
+ static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearSETUP(void)
+ {
+ UEINTX &= ~(1 << RXSTPI);
+ d4c: 80 91 e8 00 lds r24, 0x00E8
+ d50: 87 7f andi r24, 0xF7 ; 247
+ d52: 80 93 e8 00 sts 0x00E8, r24
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_Write_Control_Stream_LE(&CDCInterfaceInfo->State.LineEncoding, sizeof(CDCInterfaceInfo->State.LineEncoding));
+ d56: ce 01 movw r24, r28
+ d58: 0f 96 adiw r24, 0x0f ; 15
+ d5a: 67 e0 ldi r22, 0x07 ; 7
+ d5c: 70 e0 ldi r23, 0x00 ; 0
+ d5e: bc dd rcall .-1160 ; 0x8d8 <Endpoint_Write_Control_Stream_LE>
+ */
+ static inline void Endpoint_ClearOUT(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearOUT(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << RXOUTI) | (1 << FIFOCON));
+ d60: 80 91 e8 00 lds r24, 0x00E8
+ d64: 8b 77 andi r24, 0x7B ; 123
+ d66: 80 93 e8 00 sts 0x00E8, r24
+ d6a: 34 c0 rjmp .+104 ; 0xdd4 <CDC_Device_ProcessControlRequest+0xd4>
+ Endpoint_ClearOUT();
+ }
+
+ break;
+ case CDC_REQ_SetLineEncoding:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ d6c: 80 91 0e 02 lds r24, 0x020E
+ d70: 81 32 cpi r24, 0x21 ; 33
+ d72: 81 f5 brne .+96 ; 0xdd4 <CDC_Device_ProcessControlRequest+0xd4>
+ * \note This is not applicable for non CONTROL type endpoints.
+ */
+ static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearSETUP(void)
+ {
+ UEINTX &= ~(1 << RXSTPI);
+ d74: 80 91 e8 00 lds r24, 0x00E8
+ d78: 87 7f andi r24, 0xF7 ; 247
+ d7a: 80 93 e8 00 sts 0x00E8, r24
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_Read_Control_Stream_LE(&CDCInterfaceInfo->State.LineEncoding, sizeof(CDCInterfaceInfo->State.LineEncoding));
+ d7e: ce 01 movw r24, r28
+ d80: 0f 96 adiw r24, 0x0f ; 15
+ d82: 67 e0 ldi r22, 0x07 ; 7
+ d84: 70 e0 ldi r23, 0x00 ; 0
+ d86: 65 de rcall .-822 ; 0xa52 <Endpoint_Read_Control_Stream_LE>
+ */
+ static inline void Endpoint_ClearIN(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearIN(void)
+ {
+ #if !defined(CONTROL_ONLY_DEVICE)
+ UEINTX &= ~((1 << TXINI) | (1 << FIFOCON));
+ d88: 80 91 e8 00 lds r24, 0x00E8
+ d8c: 8e 77 andi r24, 0x7E ; 126
+ d8e: 80 93 e8 00 sts 0x00E8, r24
+ Endpoint_ClearIN();
+
+ EVENT_CDC_Device_LineEncodingChanged(CDCInterfaceInfo);
+ d92: ce 01 movw r24, r28
+ d94: b0 de rcall .-672 ; 0xaf6 <CDC_Device_Event_Stub>
+ d96: 1e c0 rjmp .+60 ; 0xdd4 <CDC_Device_ProcessControlRequest+0xd4>
+ }
+
+ break;
+ case CDC_REQ_SetControlLineState:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ d98: 80 91 0e 02 lds r24, 0x020E
+ d9c: 81 32 cpi r24, 0x21 ; 33
+ d9e: d1 f4 brne .+52 ; 0xdd4 <CDC_Device_ProcessControlRequest+0xd4>
+ * \note This is not applicable for non CONTROL type endpoints.
+ */
+ static inline void Endpoint_ClearSETUP(void) ATTR_ALWAYS_INLINE;
+ static inline void Endpoint_ClearSETUP(void)
+ {
+ UEINTX &= ~(1 << RXSTPI);
+ da0: 80 91 e8 00 lds r24, 0x00E8
+ da4: 87 7f andi r24, 0xF7 ; 247
+ da6: 80 93 e8 00 sts 0x00E8, r24
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_ClearStatusStage();
+ daa: 26 db rcall .-2484 ; 0x3f8 <Endpoint_ClearStatusStage>
+
+ CDCInterfaceInfo->State.ControlLineStates.HostToDevice = USB_ControlRequest.wValue;
+ dac: 80 91 10 02 lds r24, 0x0210
+ db0: 8d 87 std Y+13, r24 ; 0x0d
+
+ EVENT_CDC_Device_ControLineStateChanged(CDCInterfaceInfo);
+ db2: ce 01 movw r24, r28
+ db4: a0 de rcall .-704 ; 0xaf6 <CDC_Device_Event_Stub>
+ db6: 0e c0 rjmp .+28 ; 0xdd4 <CDC_Device_ProcessControlRequest+0xd4>
+ }
+
+ break;
+ case CDC_REQ_SendBreak:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ db8: 80 91 0e 02 lds r24, 0x020E
+ dbc: 81 32 cpi r24, 0x21 ; 33
+ dbe: 51 f4 brne .+20 ; 0xdd4 <CDC_Device_ProcessControlRequest+0xd4>
+ dc0: 80 91 e8 00 lds r24, 0x00E8
+ dc4: 87 7f andi r24, 0xF7 ; 247
+ dc6: 80 93 e8 00 sts 0x00E8, r24
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_ClearStatusStage();
+ dca: 16 db rcall .-2516 ; 0x3f8 <Endpoint_ClearStatusStage>
+
+ EVENT_CDC_Device_BreakSent(CDCInterfaceInfo, (uint8_t)USB_ControlRequest.wValue);
+ dcc: ce 01 movw r24, r28
+ dce: 60 91 10 02 lds r22, 0x0210
+ dd2: 91 de rcall .-734 ; 0xaf6 <CDC_Device_Event_Stub>
+ }
+
+ break;
+ }
+}
+ dd4: df 91 pop r29
+ dd6: cf 91 pop r28
+ dd8: 08 95 ret
+
+00000dda <strcmp>:
+ dda: fb 01 movw r30, r22
+ ddc: dc 01 movw r26, r24
+ dde: 8d 91 ld r24, X+
+ de0: 01 90 ld r0, Z+
+ de2: 80 19 sub r24, r0
+ de4: 01 10 cpse r0, r1
+ de6: d9 f3 breq .-10 ; 0xdde <strcmp+0x4>
+ de8: 99 0b sbc r25, r25
+ dea: 08 95 ret
+
+00000dec <fputc>:
+ dec: 0f 93 push r16
+ dee: 1f 93 push r17
+ df0: cf 93 push r28
+ df2: df 93 push r29
+ df4: 8c 01 movw r16, r24
+ df6: eb 01 movw r28, r22
+ df8: 8b 81 ldd r24, Y+3 ; 0x03
+ dfa: 81 ff sbrs r24, 1
+ dfc: 1b c0 rjmp .+54 ; 0xe34 <fputc+0x48>
+ dfe: 82 ff sbrs r24, 2
+ e00: 0d c0 rjmp .+26 ; 0xe1c <fputc+0x30>
+ e02: 2e 81 ldd r18, Y+6 ; 0x06
+ e04: 3f 81 ldd r19, Y+7 ; 0x07
+ e06: 8c 81 ldd r24, Y+4 ; 0x04
+ e08: 9d 81 ldd r25, Y+5 ; 0x05
+ e0a: 28 17 cp r18, r24
+ e0c: 39 07 cpc r19, r25
+ e0e: 64 f4 brge .+24 ; 0xe28 <fputc+0x3c>
+ e10: e8 81 ld r30, Y
+ e12: f9 81 ldd r31, Y+1 ; 0x01
+ e14: 01 93 st Z+, r16
+ e16: f9 83 std Y+1, r31 ; 0x01
+ e18: e8 83 st Y, r30
+ e1a: 06 c0 rjmp .+12 ; 0xe28 <fputc+0x3c>
+ e1c: e8 85 ldd r30, Y+8 ; 0x08
+ e1e: f9 85 ldd r31, Y+9 ; 0x09
+ e20: 80 2f mov r24, r16
+ e22: 09 95 icall
+ e24: 89 2b or r24, r25
+ e26: 31 f4 brne .+12 ; 0xe34 <fputc+0x48>
+ e28: 8e 81 ldd r24, Y+6 ; 0x06
+ e2a: 9f 81 ldd r25, Y+7 ; 0x07
+ e2c: 01 96 adiw r24, 0x01 ; 1
+ e2e: 9f 83 std Y+7, r25 ; 0x07
+ e30: 8e 83 std Y+6, r24 ; 0x06
+ e32: 02 c0 rjmp .+4 ; 0xe38 <fputc+0x4c>
+ e34: 0f ef ldi r16, 0xFF ; 255
+ e36: 1f ef ldi r17, 0xFF ; 255
+ e38: c8 01 movw r24, r16
+ e3a: df 91 pop r29
+ e3c: cf 91 pop r28
+ e3e: 1f 91 pop r17
+ e40: 0f 91 pop r16
+ e42: 08 95 ret
+
+00000e44 <fputs>:
+ e44: ef 92 push r14
+ e46: ff 92 push r15
+ e48: 0f 93 push r16
+ e4a: 1f 93 push r17
+ e4c: cf 93 push r28
+ e4e: df 93 push r29
+ e50: 7c 01 movw r14, r24
+ e52: 8b 01 movw r16, r22
+ e54: db 01 movw r26, r22
+ e56: 13 96 adiw r26, 0x03 ; 3
+ e58: 8c 91 ld r24, X
+ e5a: 81 fd sbrc r24, 1
+ e5c: 03 c0 rjmp .+6 ; 0xe64 <fputs+0x20>
+ e5e: cf ef ldi r28, 0xFF ; 255
+ e60: df ef ldi r29, 0xFF ; 255
+ e62: 13 c0 rjmp .+38 ; 0xe8a <fputs+0x46>
+ e64: c0 e0 ldi r28, 0x00 ; 0
+ e66: d0 e0 ldi r29, 0x00 ; 0
+ e68: 0b c0 rjmp .+22 ; 0xe80 <fputs+0x3c>
+ e6a: d8 01 movw r26, r16
+ e6c: 18 96 adiw r26, 0x08 ; 8
+ e6e: ed 91 ld r30, X+
+ e70: fc 91 ld r31, X
+ e72: 19 97 sbiw r26, 0x09 ; 9
+ e74: b8 01 movw r22, r16
+ e76: 09 95 icall
+ e78: 89 2b or r24, r25
+ e7a: 11 f0 breq .+4 ; 0xe80 <fputs+0x3c>
+ e7c: cf ef ldi r28, 0xFF ; 255
+ e7e: df ef ldi r29, 0xFF ; 255
+ e80: f7 01 movw r30, r14
+ e82: 81 91 ld r24, Z+
+ e84: 7f 01 movw r14, r30
+ e86: 88 23 and r24, r24
+ e88: 81 f7 brne .-32 ; 0xe6a <fputs+0x26>
+ e8a: ce 01 movw r24, r28
+ e8c: cd b7 in r28, 0x3d ; 61
+ e8e: de b7 in r29, 0x3e ; 62
+ e90: e6 e0 ldi r30, 0x06 ; 6
+ e92: 0c c0 rjmp .+24 ; 0xeac <__epilogue_restores__+0x18>
+
+00000e94 <__epilogue_restores__>:
+ e94: 2a 88 ldd r2, Y+18 ; 0x12
+ e96: 39 88 ldd r3, Y+17 ; 0x11
+ e98: 48 88 ldd r4, Y+16 ; 0x10
+ e9a: 5f 84 ldd r5, Y+15 ; 0x0f
+ e9c: 6e 84 ldd r6, Y+14 ; 0x0e
+ e9e: 7d 84 ldd r7, Y+13 ; 0x0d
+ ea0: 8c 84 ldd r8, Y+12 ; 0x0c
+ ea2: 9b 84 ldd r9, Y+11 ; 0x0b
+ ea4: aa 84 ldd r10, Y+10 ; 0x0a
+ ea6: b9 84 ldd r11, Y+9 ; 0x09
+ ea8: c8 84 ldd r12, Y+8 ; 0x08
+ eaa: df 80 ldd r13, Y+7 ; 0x07
+ eac: ee 80 ldd r14, Y+6 ; 0x06
+ eae: fd 80 ldd r15, Y+5 ; 0x05
+ eb0: 0c 81 ldd r16, Y+4 ; 0x04
+ eb2: 1b 81 ldd r17, Y+3 ; 0x03
+ eb4: aa 81 ldd r26, Y+2 ; 0x02
+ eb6: b9 81 ldd r27, Y+1 ; 0x01
+ eb8: ce 0f add r28, r30
+ eba: d1 1d adc r29, r1
+ ebc: 0f b6 in r0, 0x3f ; 63
+ ebe: f8 94 cli
+ ec0: de bf out 0x3e, r29 ; 62
+ ec2: 0f be out 0x3f, r0 ; 63
+ ec4: cd bf out 0x3d, r28 ; 61
+ ec6: ed 01 movw r28, r26
+ ec8: 08 95 ret
+
+00000eca <_exit>:
+ eca: f8 94 cli
+
+00000ecc <__stop_program>:
+ ecc: ff cf rjmp .-2 ; 0xecc <__stop_program>
diff --git a/firmware/VirtualSerial.lst b/firmware/VirtualSerial.lst
new file mode 100644
index 0000000..bc2df8c
--- /dev/null
+++ b/firmware/VirtualSerial.lst
@@ -0,0 +1,738 @@
+ 1 .file "VirtualSerial.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.lock_timer_setup,"ax",@progbits
+ 17 .global lock_timer_setup
+ 19 lock_timer_setup:
+ 20 .LFB86:
+ 21 .LSM0:
+ 22 /* prologue: function */
+ 23 /* frame size = 0 */
+ 24 .LSM1:
+ 25 0000 E0E8 ldi r30,lo8(128)
+ 26 0002 F0E0 ldi r31,hi8(128)
+ 27 0004 F093 8900 sts (136)+1,r31
+ 28 0008 E093 8800 sts 136,r30
+ 29 .LSM2:
+ 30 000c 88E0 ldi r24,lo8(8)
+ 31 000e 8083 st Z,r24
+ 32 .LSM3:
+ 33 0010 84E0 ldi r24,lo8(4)
+ 34 0012 8093 8100 sts 129,r24
+ 35 .LSM4:
+ 36 0016 82E0 ldi r24,lo8(2)
+ 37 0018 8093 6F00 sts 111,r24
+ 38 /* epilogue start */
+ 39 .LSM5:
+ 40 001c 0895 ret
+ 41 .LFE86:
+ 43 .section .text.lock_timer_reset,"ax",@progbits
+ 44 .global lock_timer_reset
+ 46 lock_timer_reset:
+ 47 .LFB87:
+ 48 .LSM6:
+ 49 /* prologue: function */
+ 50 /* frame size = 0 */
+ 51 .LSM7:
+ 52 0000 1092 0000 sts lock_timer_ticks,__zero_reg__
+ 53 /* epilogue start */
+ 54 .LSM8:
+ 55 0004 0895 ret
+ 56 .LFE87:
+ 58 .section .text.EVENT_USB_Device_Connect,"ax",@progbits
+ 59 .global EVENT_USB_Device_Connect
+ 61 EVENT_USB_Device_Connect:
+ 62 .LFB93:
+ 63 .LSM9:
+ 64 /* prologue: function */
+ 65 /* frame size = 0 */
+ 66 /* epilogue start */
+ 67 .LSM10:
+ 68 0000 0895 ret
+ 69 .LFE93:
+ 71 .section .text.EVENT_USB_Device_Disconnect,"ax",@progbits
+ 72 .global EVENT_USB_Device_Disconnect
+ 74 EVENT_USB_Device_Disconnect:
+ 75 .LFB94:
+ 76 .LSM11:
+ 77 /* prologue: function */
+ 78 /* frame size = 0 */
+ 79 /* epilogue start */
+ 80 .LSM12:
+ 81 0000 0895 ret
+ 82 .LFE94:
+ 84 .section .text.__vector_15,"ax",@progbits
+ 85 .global __vector_15
+ 87 __vector_15:
+ 88 .LFB97:
+ 89 .LSM13:
+ 90 0000 1F92 push __zero_reg__
+ 91 0002 0F92 push r0
+ 92 0004 0FB6 in r0,__SREG__
+ 93 0006 0F92 push r0
+ 94 0008 1124 clr __zero_reg__
+ 95 000a 8F93 push r24
+ 96 /* prologue: Signal */
+ 97 /* frame size = 0 */
+ 98 .LSM14:
+ 99 000c 1D99 sbic 35-32,5
+ 100 .LSM15:
+ 101 000e 2C9A sbi 37-32,4
+ 102 .L10:
+ 103 .LSM16:
+ 104 0010 8091 0000 lds r24,lock_timer_ticks
+ 105 0014 8F3F cpi r24,lo8(-1)
+ 106 0016 01F0 breq .L13
+ 107 .LSM17:
+ 108 0018 8091 0000 lds r24,lock_timer_ticks
+ 109 001c 8E31 cpi r24,lo8(30)
+ 110 001e 00F4 brsh .L12
+ 111 .LSM18:
+ 112 0020 8091 0000 lds r24,lock_timer_ticks
+ 113 0024 8F5F subi r24,lo8(-(1))
+ 114 0026 00C0 rjmp .L14
+ 115 .L12:
+ 116 .LSM19:
+ 117 0028 2C9A sbi 37-32,4
+ 118 .LSM20:
+ 119 002a 8FEF ldi r24,lo8(-1)
+ 120 .L14:
+ 121 002c 8093 0000 sts lock_timer_ticks,r24
+ 122 .L13:
+ 123 /* epilogue start */
+ 124 .LSM21:
+ 125 0030 8F91 pop r24
+ 126 0032 0F90 pop r0
+ 127 0034 0FBE out __SREG__,r0
+ 128 0036 0F90 pop r0
+ 129 0038 1F90 pop __zero_reg__
+ 130 003a 1895 reti
+ 131 .LFE97:
+ 133 .section .text.EVENT_USB_Device_ControlRequest,"ax",@progbits
+ 134 .global EVENT_USB_Device_ControlRequest
+ 136 EVENT_USB_Device_ControlRequest:
+ 137 .LFB96:
+ 138 .LSM22:
+ 139 /* prologue: function */
+ 140 /* frame size = 0 */
+ 141 .LSM23:
+ 142 0000 80E0 ldi r24,lo8(VirtualSerial_CDC_Interface)
+ 143 0002 90E0 ldi r25,hi8(VirtualSerial_CDC_Interface)
+ 144 0004 0E94 0000 call CDC_Device_ProcessControlRequest
+ 145 /* epilogue start */
+ 146 .LSM24:
+ 147 0008 0895 ret
+ 148 .LFE96:
+ 150 .section .text.EVENT_USB_Device_ConfigurationChanged,"ax",@progbits
+ 151 .global EVENT_USB_Device_ConfigurationChanged
+ 153 EVENT_USB_Device_ConfigurationChanged:
+ 154 .LFB95:
+ 155 .LSM25:
+ 156 /* prologue: function */
+ 157 /* frame size = 0 */
+ 158 .LSM26:
+ 159 0000 80E0 ldi r24,lo8(VirtualSerial_CDC_Interface)
+ 160 0002 90E0 ldi r25,hi8(VirtualSerial_CDC_Interface)
+ 161 0004 0E94 0000 call CDC_Device_ConfigureEndpoints
+ 162 /* epilogue start */
+ 163 .LSM27:
+ 164 0008 0895 ret
+ 165 .LFE95:
+ 167 .data
+ 168 .LC0:
+ 169 0000 4865 6C6C .string "Hello, World!\r\n"
+ 169 6F2C 2057
+ 169 6F72 6C64
+ 169 210D 0A00
+ 170 .LC1:
+ 171 0010 5265 626F .string "Rebooting!\r\n"
+ 171 6F74 696E
+ 171 6721 0D0A
+ 171 00
+ 172 .section .text.CheckPinStatus,"ax",@progbits
+ 173 .global CheckPinStatus
+ 175 CheckPinStatus:
+ 176 .LFB92:
+ 177 .LSM28:
+ 178 /* prologue: function */
+ 179 /* frame size = 0 */
+ 180 .LSM29:
+ 181 0000 1E9B sbis 35-32,6
+ 182 0002 00C0 rjmp .L20
+ 183 0004 20E0 ldi r18,lo8(0)
+ 184 0006 30E0 ldi r19,hi8(0)
+ 185 .LVL0:
+ 186 0008 00C0 rjmp .L21
+ 187 .LVL1:
+ 188 .L20:
+ 189 .LSM30:
+ 190 000a 1092 0000 sts ActionSent.3565,__zero_reg__
+ 191 000e 20E0 ldi r18,lo8(.LC0)
+ 192 0010 30E0 ldi r19,hi8(.LC0)
+ 193 .LVL2:
+ 194 .L21:
+ 195 .LSM31:
+ 196 0012 1F99 sbic 35-32,7
+ 197 0014 00C0 rjmp .L22
+ 198 .LSM32:
+ 199 0016 1092 0000 sts ActionSent.3565,__zero_reg__
+ 200 .LSM33:
+ 201 001a 1092 0000 sts (running)+1,__zero_reg__
+ 202 001e 1092 0000 sts running,__zero_reg__
+ 203 0022 20E0 ldi r18,lo8(.LC1)
+ 204 0024 30E0 ldi r19,hi8(.LC1)
+ 205 0026 00C0 rjmp .L23
+ 206 .L22:
+ 207 .LSM34:
+ 208 0028 2115 cp r18,__zero_reg__
+ 209 002a 3105 cpc r19,__zero_reg__
+ 210 002c 01F0 breq .L26
+ 211 .L23:
+ 212 002e 8091 0000 lds r24,ActionSent.3565
+ 213 0032 8823 tst r24
+ 214 0034 01F4 brne .L26
+ 215 .LSM35:
+ 216 0036 81E0 ldi r24,lo8(1)
+ 217 0038 8093 0000 sts ActionSent.3565,r24
+ 218 .LSM36:
+ 219 003c C901 movw r24,r18
+ 220 003e 60E0 ldi r22,lo8(USBSerialStream)
+ 221 0040 70E0 ldi r23,hi8(USBSerialStream)
+ 222 0042 0E94 0000 call fputs
+ 223 .LVL3:
+ 224 0046 88EE ldi r24,lo8(1000)
+ 225 0048 93E0 ldi r25,hi8(1000)
+ 226 .LVL4:
+ 227 .LBB22:
+ 228 .LBB23:
+ 229 .LBB24:
+ 230 .LBB25:
+ 231 .LSM37:
+ 232 004a 20E9 ldi r18,lo8(400)
+ 233 004c 31E0 ldi r19,hi8(400)
+ 234 .L25:
+ 235 004e F901 movw r30,r18
+ 236 .LVL5:
+ 237 /* #APP */
+ 238 ; 105 "/usr/lib/gcc/avr/4.3.5/../../../avr/include/util/delay_basic.h" 1
+ 239 0050 3197 1: sbiw r30,1
+ 240 0052 01F4 brne 1b
+ 241 ; 0 "" 2
+ 242 /* #NOAPP */
+ 243 .LBE25:
+ 244 .LBE24:
+ 245 .LSM38:
+ 246 0054 0197 sbiw r24,1
+ 247 .LSM39:
+ 248 0056 01F4 brne .L25
+ 249 .LVL6:
+ 250 .L26:
+ 251 0058 0895 ret
+ 252 .LBE23:
+ 253 .LBE22:
+ 254 .LFE92:
+ 256 .section .text.SetupHardware,"ax",@progbits
+ 257 .global SetupHardware
+ 259 SetupHardware:
+ 260 .LFB91:
+ 261 .LSM40:
+ 262 /* prologue: function */
+ 263 /* frame size = 0 */
+ 264 .LSM41:
+ 265 0000 84B7 in r24,84-32
+ 266 0002 877F andi r24,lo8(-9)
+ 267 0004 84BF out 84-32,r24
+ 268 .LSM42:
+ 269 0006 2EE0 ldi r18,lo8(14)
+ 270 0008 88E1 ldi r24,lo8(24)
+ 271 000a 90E0 ldi r25,hi8(24)
+ 272 /* #APP */
+ 273 ; 212 "VirtualSerial.c" 1
+ 274 000c 0FB6 in __tmp_reg__,__SREG__
+ 275 000e F894 cli
+ 276 0010 A895 wdr
+ 277 0012 8093 6000 sts 96,r24
+ 278 0016 0FBE out __SREG__,__tmp_reg__
+ 279 0018 2093 6000 sts 96,r18
+ 280
+ 281 ; 0 "" 2
+ 282 /* #NOAPP */
+ 283 .LBB26:
+ 284 .LBB27:
+ 285 .LSM43:
+ 286 001c 90E0 ldi r25,lo8(0)
+ 287 001e 80E8 ldi r24,lo8(-128)
+ 288 /* #APP */
+ 289 ; 1394 "/usr/lib/gcc/avr/4.3.5/../../../avr/include/avr/power.h" 1
+ 290 0020 0FB6 in __tmp_reg__,__SREG__
+ 291 0022 F894 cli
+ 292 0024 8093 6100 sts 97, r24
+ 293 0028 9093 6100 sts 97, r25
+ 294 002c 0FBE out __SREG__, __tmp_reg__
+ 295 ; 0 "" 2
+ 296 /* #NOAPP */
+ 297 .LBE27:
+ 298 .LBE26:
+ 299 .LSM44:
+ 300 002e 0E94 0000 call USB_Init
+ 301 /* epilogue start */
+ 302 .LSM45:
+ 303 0032 0895 ret
+ 304 .LFE91:
+ 306 .data
+ 307 .LC2:
+ 308 001d 636F 6C61 .string "cola"
+ 308 00
+ 309 .LC3:
+ 310 0022 6D6D 6D21 .string "mmm! LED toggeled\r\n"
+ 310 204C 4544
+ 310 2074 6F67
+ 310 6765 6C65
+ 310 640D 0A00
+ 311 .LC4:
+ 312 0036 7265 626F .string "reboot"
+ 312 6F74 00
+ 313 .LC5:
+ 314 003d 7265 7365 .string "reset"
+ 314 7400
+ 315 .LC6:
+ 316 0043 746F 6767 .string "toggle"
+ 316 6C65 00
+ 317 .LC7:
+ 318 004a 546F 6767 .string "Toggling Magnet Lock\r\n"
+ 318 6C69 6E67
+ 318 204D 6167
+ 318 6E65 7420
+ 318 4C6F 636B
+ 319 .LC8:
+ 320 0061 6C6F 636B .string "lock"
+ 320 00
+ 321 .LC9:
+ 322 0066 7374 6174 .string "status: locked\n"
+ 322 7573 3A20
+ 322 6C6F 636B
+ 322 6564 0A00
+ 323 .LC10:
+ 324 0076 756E 6C6F .string "unlock"
+ 324 636B 00
+ 325 .LC11:
+ 326 007d 7374 6174 .string "status: unlocked\n"
+ 326 7573 3A20
+ 326 756E 6C6F
+ 326 636B 6564
+ 326 0A00
+ 327 .LC12:
+ 328 008f 646F 6F72 .string "doorstatus"
+ 328 7374 6174
+ 328 7573 00
+ 329 .LC13:
+ 330 009a 646F 6F72 .string "doorstatus: open\n"
+ 330 7374 6174
+ 330 7573 3A20
+ 330 6F70 656E
+ 330 0A00
+ 331 .LC14:
+ 332 00ac 646F 6F72 .string "doorstatus: closed\n"
+ 332 7374 6174
+ 332 7573 3A20
+ 332 636C 6F73
+ 332 6564 0A00
+ 333 .section .text.handle_command,"ax",@progbits
+ 334 .global handle_command
+ 336 handle_command:
+ 337 .LFB89:
+ 338 .LSM46:
+ 339 .LVL7:
+ 340 0000 CF93 push r28
+ 341 0002 DF93 push r29
+ 342 /* prologue: function */
+ 343 /* frame size = 0 */
+ 344 0004 EC01 movw r28,r24
+ 345 .LSM47:
+ 346 0006 80E0 ldi r24,lo8(.LC2)
+ 347 0008 90E0 ldi r25,hi8(.LC2)
+ 348 .LVL8:
+ 349 000a BE01 movw r22,r28
+ 350 000c 0E94 0000 call strcmp
+ 351 0010 0097 sbiw r24,0
+ 352 0012 01F4 brne .L31
+ 353 .LSM48:
+ 354 0014 85B1 in r24,37-32
+ 355 0016 90E2 ldi r25,lo8(32)
+ 356 0018 8927 eor r24,r25
+ 357 001a 85B9 out 37-32,r24
+ 358 .LSM49:
+ 359 001c 80E0 ldi r24,lo8(.LC3)
+ 360 001e 90E0 ldi r25,hi8(.LC3)
+ 361 0020 00C0 rjmp .L40
+ 362 .L31:
+ 363 .LSM50:
+ 364 0022 80E0 ldi r24,lo8(.LC4)
+ 365 0024 90E0 ldi r25,hi8(.LC4)
+ 366 0026 BE01 movw r22,r28
+ 367 0028 0E94 0000 call strcmp
+ 368 002c 0097 sbiw r24,0
+ 369 002e 01F0 breq .L33
+ 370 0030 80E0 ldi r24,lo8(.LC5)
+ 371 0032 90E0 ldi r25,hi8(.LC5)
+ 372 0034 BE01 movw r22,r28
+ 373 0036 0E94 0000 call strcmp
+ 374 003a 0097 sbiw r24,0
+ 375 003c 01F4 brne .L34
+ 376 .L33:
+ 377 .LSM51:
+ 378 003e 80E0 ldi r24,lo8(.LC1)
+ 379 0040 90E0 ldi r25,hi8(.LC1)
+ 380 0042 60E0 ldi r22,lo8(USBSerialStream)
+ 381 0044 70E0 ldi r23,hi8(USBSerialStream)
+ 382 0046 0E94 0000 call fputs
+ 383 .LSM52:
+ 384 004a 1092 0000 sts (running)+1,__zero_reg__
+ 385 004e 1092 0000 sts running,__zero_reg__
+ 386 0052 00C0 rjmp .L39
+ 387 .L34:
+ 388 .LSM53:
+ 389 0054 80E0 ldi r24,lo8(.LC6)
+ 390 0056 90E0 ldi r25,hi8(.LC6)
+ 391 0058 BE01 movw r22,r28
+ 392 005a 0E94 0000 call strcmp
+ 393 005e 0097 sbiw r24,0
+ 394 0060 01F4 brne .L35
+ 395 .LSM54:
+ 396 0062 80E0 ldi r24,lo8(.LC7)
+ 397 0064 90E0 ldi r25,hi8(.LC7)
+ 398 0066 60E0 ldi r22,lo8(USBSerialStream)
+ 399 0068 70E0 ldi r23,hi8(USBSerialStream)
+ 400 006a 0E94 0000 call fputs
+ 401 .LSM55:
+ 402 006e 85B1 in r24,37-32
+ 403 0070 90E1 ldi r25,lo8(16)
+ 404 0072 8927 eor r24,r25
+ 405 0074 85B9 out 37-32,r24
+ 406 0076 00C0 rjmp .L39
+ 407 .L35:
+ 408 .LSM56:
+ 409 0078 80E0 ldi r24,lo8(.LC8)
+ 410 007a 90E0 ldi r25,hi8(.LC8)
+ 411 007c BE01 movw r22,r28
+ 412 007e 0E94 0000 call strcmp
+ 413 0082 0097 sbiw r24,0
+ 414 0084 01F4 brne .L36
+ 415 .LSM57:
+ 416 0086 80E0 ldi r24,lo8(.LC9)
+ 417 0088 90E0 ldi r25,hi8(.LC9)
+ 418 008a 60E0 ldi r22,lo8(USBSerialStream)
+ 419 008c 70E0 ldi r23,hi8(USBSerialStream)
+ 420 008e 0E94 0000 call fputs
+ 421 .LSM58:
+ 422 0092 2C9A sbi 37-32,4
+ 423 0094 00C0 rjmp .L39
+ 424 .L36:
+ 425 .LSM59:
+ 426 0096 80E0 ldi r24,lo8(.LC10)
+ 427 0098 90E0 ldi r25,hi8(.LC10)
+ 428 009a BE01 movw r22,r28
+ 429 009c 0E94 0000 call strcmp
+ 430 00a0 0097 sbiw r24,0
+ 431 00a2 01F4 brne .L37
+ 432 .LSM60:
+ 433 00a4 80E0 ldi r24,lo8(.LC11)
+ 434 00a6 90E0 ldi r25,hi8(.LC11)
+ 435 00a8 60E0 ldi r22,lo8(USBSerialStream)
+ 436 00aa 70E0 ldi r23,hi8(USBSerialStream)
+ 437 00ac 0E94 0000 call fputs
+ 438 .LSM61:
+ 439 00b0 2C98 cbi 37-32,4
+ 440 .LSM62:
+ 441 00b2 0E94 0000 call lock_timer_reset
+ 442 00b6 00C0 rjmp .L39
+ 443 .L37:
+ 444 .LSM63:
+ 445 00b8 80E0 ldi r24,lo8(.LC12)
+ 446 00ba 90E0 ldi r25,hi8(.LC12)
+ 447 00bc BE01 movw r22,r28
+ 448 00be 0E94 0000 call strcmp
+ 449 00c2 0097 sbiw r24,0
+ 450 00c4 01F4 brne .L39
+ 451 .LSM64:
+ 452 00c6 1D9B sbis 35-32,5
+ 453 00c8 00C0 rjmp .L38
+ 454 .LSM65:
+ 455 00ca 80E0 ldi r24,lo8(.LC13)
+ 456 00cc 90E0 ldi r25,hi8(.LC13)
+ 457 00ce 00C0 rjmp .L40
+ 458 .L38:
+ 459 .LSM66:
+ 460 00d0 80E0 ldi r24,lo8(.LC14)
+ 461 00d2 90E0 ldi r25,hi8(.LC14)
+ 462 .L40:
+ 463 00d4 60E0 ldi r22,lo8(USBSerialStream)
+ 464 00d6 70E0 ldi r23,hi8(USBSerialStream)
+ 465 00d8 0E94 0000 call fputs
+ 466 .L39:
+ 467 /* epilogue start */
+ 468 .LSM67:
+ 469 00dc DF91 pop r29
+ 470 00de CF91 pop r28
+ 471 .LVL9:
+ 472 00e0 0895 ret
+ 473 .LFE89:
+ 475 .section .text.CheckACMStatus,"ax",@progbits
+ 476 .global CheckACMStatus
+ 478 CheckACMStatus:
+ 479 .LFB90:
+ 480 .LSM68:
+ 481 0000 CF93 push r28
+ 482 0002 DF93 push r29
+ 483 /* prologue: function */
+ 484 /* frame size = 0 */
+ 485 0004 00C0 rjmp .L48
+ 486 .LVL10:
+ 487 .L44:
+ 488 .LSM69:
+ 489 0006 CE01 movw r24,r28
+ 490 .LVL11:
+ 491 0008 60E0 ldi r22,lo8(USBSerialStream)
+ 492 000a 70E0 ldi r23,hi8(USBSerialStream)
+ 493 000c 0E94 0000 call fputc
+ 494 .LSM70:
+ 495 0010 CD30 cpi r28,13
+ 496 0012 D105 cpc r29,__zero_reg__
+ 497 0014 01F4 brne .L43
+ 498 .LSM71:
+ 499 0016 8AE0 ldi r24,lo8(10)
+ 500 0018 90E0 ldi r25,hi8(10)
+ 501 001a 60E0 ldi r22,lo8(USBSerialStream)
+ 502 001c 70E0 ldi r23,hi8(USBSerialStream)
+ 503 001e 0E94 0000 call fputc
+ 504 .LSM72:
+ 505 0022 8091 0000 lds r24,len.3545
+ 506 0026 E82F mov r30,r24
+ 507 0028 F0E0 ldi r31,lo8(0)
+ 508 002a E050 subi r30,lo8(-(buf.3544))
+ 509 002c F040 sbci r31,hi8(-(buf.3544))
+ 510 002e 1082 st Z,__zero_reg__
+ 511 0030 8F5F subi r24,lo8(-(1))
+ 512 0032 8093 0000 sts len.3545,r24
+ 513 .LSM73:
+ 514 0036 80E0 ldi r24,lo8(buf.3544)
+ 515 0038 90E0 ldi r25,hi8(buf.3544)
+ 516 003a 0E94 0000 call handle_command
+ 517 003e 00C0 rjmp .L49
+ 518 .L43:
+ 519 .LSM74:
+ 520 0040 8091 0000 lds r24,len.3545
+ 521 0044 E82F mov r30,r24
+ 522 0046 F0E0 ldi r31,lo8(0)
+ 523 0048 E050 subi r30,lo8(-(buf.3544))
+ 524 004a F040 sbci r31,hi8(-(buf.3544))
+ 525 004c C083 st Z,r28
+ 526 004e 8F5F subi r24,lo8(-(1))
+ 527 0050 8093 0000 sts len.3545,r24
+ 528 .LSM75:
+ 529 0054 8032 cpi r24,lo8(32)
+ 530 0056 01F4 brne .L48
+ 531 .L49:
+ 532 .LSM76:
+ 533 0058 1092 0000 sts len.3545,__zero_reg__
+ 534 .L48:
+ 535 .LSM77:
+ 536 005c 80E0 ldi r24,lo8(VirtualSerial_CDC_Interface)
+ 537 005e 90E0 ldi r25,hi8(VirtualSerial_CDC_Interface)
+ 538 0060 0E94 0000 call CDC_Device_ReceiveByte
+ 539 0064 EC01 movw r28,r24
+ 540 0066 1816 cp __zero_reg__,r24
+ 541 0068 1906 cpc __zero_reg__,r25
+ 542 006a 04F0 brlt .L44
+ 543 .LVL12:
+ 544 /* epilogue start */
+ 545 .LSM78:
+ 546 006c DF91 pop r29
+ 547 006e CF91 pop r28
+ 548 0070 0895 ret
+ 549 .LFE90:
+ 551 .section .text.main,"ax",@progbits
+ 552 .global main
+ 554 main:
+ 555 .LFB88:
+ 556 .LSM79:
+ 557 0000 CF93 push r28
+ 558 0002 DF93 push r29
+ 559 /* prologue: function */
+ 560 /* frame size = 0 */
+ 561 .LSM80:
+ 562 0004 81E1 ldi r24,lo8(17)
+ 563 0006 84B9 out 36-32,r24
+ 564 .LSM81:
+ 565 0008 15B8 out 37-32,__zero_reg__
+ 566 .LSM82:
+ 567 000a 0E94 0000 call SetupHardware
+ 568 .LSM83:
+ 569 000e 0E94 0000 call lock_timer_setup
+ 570 .LSM84:
+ 571 0012 80E0 ldi r24,lo8(VirtualSerial_CDC_Interface)
+ 572 0014 90E0 ldi r25,hi8(VirtualSerial_CDC_Interface)
+ 573 0016 60E0 ldi r22,lo8(USBSerialStream)
+ 574 0018 70E0 ldi r23,hi8(USBSerialStream)
+ 575 001a 0E94 0000 call CDC_Device_CreateStream
+ 576 .LSM85:
+ 577 /* #APP */
+ 578 ; 109 "VirtualSerial.c" 1
+ 579 001e 7894 sei
+ 580 ; 0 "" 2
+ 581 /* #NOAPP */
+ 582 .LBB28:
+ 583 .LBB29:
+ 584 .LBB30:
+ 585 .LBB31:
+ 586 .LSM86:
+ 587 0020 C0E9 ldi r28,lo8(400)
+ 588 0022 D1E0 ldi r29,hi8(400)
+ 589 0024 00C0 rjmp .L51
+ 590 .L53:
+ 591 .LBE31:
+ 592 .LBE30:
+ 593 .LBE29:
+ 594 .LBE28:
+ 595 .LSM87:
+ 596 /* #APP */
+ 597 ; 113 "VirtualSerial.c" 1
+ 598 0026 A895 wdr
+ 599 ; 0 "" 2
+ 600 /* #NOAPP */
+ 601 0028 84EC ldi r24,lo8(2500)
+ 602 002a 99E0 ldi r25,hi8(2500)
+ 603 .LVL13:
+ 604 .L52:
+ 605 .LBB35:
+ 606 .LBB34:
+ 607 .LBB33:
+ 608 .LBB32:
+ 609 .LSM88:
+ 610 002c FE01 movw r30,r28
+ 611 .LVL14:
+ 612 /* #APP */
+ 613 ; 105 "/usr/lib/gcc/avr/4.3.5/../../../avr/include/util/delay_basic.h" 1
+ 614 002e 3197 1: sbiw r30,1
+ 615 0030 01F4 brne 1b
+ 616 ; 0 "" 2
+ 617 /* #NOAPP */
+ 618 .LBE32:
+ 619 .LBE33:
+ 620 .LSM89:
+ 621 0032 0197 sbiw r24,1
+ 622 .LSM90:
+ 623 0034 01F4 brne .L52
+ 624 .LBE34:
+ 625 .LBE35:
+ 626 .LSM91:
+ 627 0036 0E94 0000 call CheckACMStatus
+ 628 .LVL15:
+ 629 .LSM92:
+ 630 003a 80E0 ldi r24,lo8(VirtualSerial_CDC_Interface)
+ 631 003c 90E0 ldi r25,hi8(VirtualSerial_CDC_Interface)
+ 632 003e 0E94 0000 call CDC_Device_USBTask
+ 633 .LSM93:
+ 634 0042 0E94 0000 call USB_USBTask
+ 635 .L51:
+ 636 .LSM94:
+ 637 0046 8091 0000 lds r24,running
+ 638 004a 9091 0000 lds r25,(running)+1
+ 639 004e 892B or r24,r25
+ 640 0050 01F4 brne .L53
+ 641 .LBB36:
+ 642 .LBB37:
+ 643 .LSM95:
+ 644 0052 8091 E000 lds r24,224
+ 645 0056 8160 ori r24,lo8(1)
+ 646 0058 8093 E000 sts 224,r24
+ 647 .LBE37:
+ 648 .LBE36:
+ 649 .LSM96:
+ 650 005c 2CE0 ldi r18,lo8(12)
+ 651 005e 88E1 ldi r24,lo8(24)
+ 652 0060 90E0 ldi r25,hi8(24)
+ 653 /* #APP */
+ 654 ; 129 "VirtualSerial.c" 1
+ 655 0062 0FB6 in __tmp_reg__,__SREG__
+ 656 0064 F894 cli
+ 657 0066 A895 wdr
+ 658 0068 8093 6000 sts 96,r24
+ 659 006c 0FBE out __SREG__,__tmp_reg__
+ 660 006e 2093 6000 sts 96,r18
+ 661
+ 662 ; 0 "" 2
+ 663 /* #NOAPP */
+ 664 .L54:
+ 665 0072 00C0 rjmp .L54
+ 666 .LFE88:
+ 668 .global VirtualSerial_CDC_Interface
+ 669 .data
+ 672 VirtualSerial_CDC_Interface:
+ 673 00c0 00 .byte 0
+ 674 00c1 03 .byte 3
+ 675 00c2 1000 .word 16
+ 676 00c4 00 .byte 0
+ 677 00c5 04 .byte 4
+ 678 00c6 1000 .word 16
+ 679 00c8 00 .byte 0
+ 680 00c9 02 .byte 2
+ 681 00ca 0800 .word 8
+ 682 00cc 00 .byte 0
+ 683 00cd 0000 0000 .skip 9,0
+ 683 0000 0000
+ 683 00
+ 686 running:
+ 687 00d6 0100 .word 1
+ 688 .lcomm ActionSent.3565,1
+ 689 .lcomm len.3545,1
+ 690 .lcomm buf.3544,32
+ 691 .lcomm USBSerialStream,14
+ 692 .lcomm lock_timer_ticks,1
+ 805 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 VirtualSerial.c
+ /tmp/ccpcr8YL.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccpcr8YL.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccpcr8YL.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccpcr8YL.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccpcr8YL.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccpcr8YL.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/ccpcr8YL.s:19 .text.lock_timer_setup:0000000000000000 lock_timer_setup
+ /tmp/ccpcr8YL.s:46 .text.lock_timer_reset:0000000000000000 lock_timer_reset
+ /tmp/ccpcr8YL.s:691 .bss:0000000000000030 lock_timer_ticks
+ /tmp/ccpcr8YL.s:61 .text.EVENT_USB_Device_Connect:0000000000000000 EVENT_USB_Device_Connect
+ /tmp/ccpcr8YL.s:74 .text.EVENT_USB_Device_Disconnect:0000000000000000 EVENT_USB_Device_Disconnect
+ /tmp/ccpcr8YL.s:87 .text.__vector_15:0000000000000000 __vector_15
+ /tmp/ccpcr8YL.s:136 .text.EVENT_USB_Device_ControlRequest:0000000000000000 EVENT_USB_Device_ControlRequest
+ /tmp/ccpcr8YL.s:672 .data:00000000000000c0 VirtualSerial_CDC_Interface
+ /tmp/ccpcr8YL.s:153 .text.EVENT_USB_Device_ConfigurationChanged:0000000000000000 EVENT_USB_Device_ConfigurationChanged
+ /tmp/ccpcr8YL.s:175 .text.CheckPinStatus:0000000000000000 CheckPinStatus
+ .bss:0000000000000000 ActionSent.3565
+ /tmp/ccpcr8YL.s:686 .data:00000000000000d6 running
+ /tmp/ccpcr8YL.s:690 .bss:0000000000000022 USBSerialStream
+ /tmp/ccpcr8YL.s:259 .text.SetupHardware:0000000000000000 SetupHardware
+ /tmp/ccpcr8YL.s:336 .text.handle_command:0000000000000000 handle_command
+ /tmp/ccpcr8YL.s:478 .text.CheckACMStatus:0000000000000000 CheckACMStatus
+ /tmp/ccpcr8YL.s:688 .bss:0000000000000001 len.3545
+ /tmp/ccpcr8YL.s:689 .bss:0000000000000002 buf.3544
+ /tmp/ccpcr8YL.s:554 .text.main:0000000000000000 main
+
+UNDEFINED SYMBOLS
+CDC_Device_ProcessControlRequest
+CDC_Device_ConfigureEndpoints
+fputs
+USB_Init
+strcmp
+fputc
+CDC_Device_ReceiveByte
+CDC_Device_CreateStream
+CDC_Device_USBTask
+USB_USBTask
+__do_copy_data
+__do_clear_bss
diff --git a/firmware/VirtualSerial.map b/firmware/VirtualSerial.map
new file mode 100644
index 0000000..03f35dc
--- /dev/null
+++ b/firmware/VirtualSerial.map
@@ -0,0 +1,1291 @@
+Archive member included because of file (symbol)
+
+/usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_exit.o)
+ /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o (exit)
+/usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_copy_data.o)
+ VirtualSerial.o (__do_copy_data)
+/usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_clear_bss.o)
+ VirtualSerial.o (__do_clear_bss)
+/usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcpy_P.o)
+ LUFA/Drivers/USB/Class/Device/RNDIS.o (memcpy_P)
+/usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcmp.o)
+ LUFA/Drivers/USB/Class/Device/HID.o (memcmp)
+/usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcpy.o)
+ LUFA/Drivers/USB/Class/Device/HID.o (memcpy)
+/usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memset.o)
+ LUFA/Drivers/USB/Class/Device/HID.o (memset)
+/usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(strcmp.o)
+ VirtualSerial.o (strcmp)
+/usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputc.o)
+ VirtualSerial.o (fputc)
+/usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputs.o)
+ VirtualSerial.o (fputs)
+/usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(eerd_byte_at90usb162.o)
+ LUFA/Drivers/USB/HighLevel/EndpointStream.o (__eerd_byte_usb162)
+/usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(eeupd_byte_at90usb162.o)
+ LUFA/Drivers/USB/HighLevel/EndpointStream.o (__eeupd_byte_usb162)
+/usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_epilogue.o)
+ /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputs.o) (__epilogue_restores__)
+
+Allocating common symbols
+Common symbol size file
+
+USB_IsInitialized 0x1 LUFA/Drivers/USB/HighLevel/USBTask.o
+USB_CurrentlySelfPowered
+ 0x1 LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+USB_RemoteWakeupEnabled
+ 0x1 LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+USB_DeviceState 0x1 LUFA/Drivers/USB/HighLevel/USBTask.o
+USB_ControlRequest 0x8 LUFA/Drivers/USB/HighLevel/USBTask.o
+USB_ConfigurationNumber
+ 0x1 LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+
+Discarded input sections
+
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+ .text 0x0000000000000000 0x0 VirtualSerial.o
+ .text.CheckPinStatus
+ 0x0000000000000000 0x5a VirtualSerial.o
+ .text 0x0000000000000000 0x0 Descriptors.o
+ .data 0x0000000000000000 0x0 Descriptors.o
+ .bss 0x0000000000000000 0x0 Descriptors.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/Device.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/Device.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/Device.o
+ .text.USB_Device_SendRemoteWakeup
+ 0x0000000000000000 0x2e LUFA/Drivers/USB/LowLevel/Device.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/Endpoint.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/Endpoint.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/Endpoint.o
+ .text.Endpoint_ClearEndpoints
+ 0x0000000000000000 0x28 LUFA/Drivers/USB/LowLevel/Endpoint.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/Host.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/Host.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/Host.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/Pipe.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/Pipe.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/Pipe.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/USBController.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/USBController.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/USBController.o
+ .text.USB_ShutDown
+ 0x0000000000000000 0x2e LUFA/Drivers/USB/LowLevel/USBController.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ .text.USB_GetNextDescriptorOfType
+ 0x0000000000000000 0x44 LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ .text.USB_GetNextDescriptorOfTypeBefore
+ 0x0000000000000000 0x50 LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ .text.USB_GetNextDescriptorOfTypeAfter
+ 0x0000000000000000 0x34 LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ .text.USB_GetNextDescriptorComp
+ 0x0000000000000000 0x82 LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/Events.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/Events.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/Events.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Write_Control_Stream_BE
+ 0x0000000000000000 0xc8 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Write_Control_PStream_BE
+ 0x0000000000000000 0xc6 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Read_Control_Stream_BE
+ 0x0000000000000000 0x8e LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Read_Control_EStream_BE
+ 0x0000000000000000 0xac LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Read_Control_EStream_LE
+ 0x0000000000000000 0x9c LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Write_Control_EStream_BE
+ 0x0000000000000000 0xe8 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Write_Control_EStream_LE
+ 0x0000000000000000 0xe0 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Read_EStream_BE
+ 0x0000000000000000 0x88 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Read_Stream_BE
+ 0x0000000000000000 0x7a LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Read_EStream_LE
+ 0x0000000000000000 0x88 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Read_Stream_LE
+ 0x0000000000000000 0x7a LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Write_PStream_BE
+ 0x0000000000000000 0x7a LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Write_EStream_BE
+ 0x0000000000000000 0x88 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Write_Stream_BE
+ 0x0000000000000000 0x7a LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Write_EStream_LE
+ 0x0000000000000000 0x88 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Write_PStream_LE
+ 0x0000000000000000 0x86 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Write_Stream_LE
+ 0x0000000000000000 0x7a LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text.Endpoint_Discard_Stream
+ 0x0000000000000000 0x60 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/HostStandardReq.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/HostStandardReq.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/HostStandardReq.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/PipeStream.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/PipeStream.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/PipeStream.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/USBTask.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/USBTask.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/HighLevel/USBTask.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/HIDParser.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/HIDParser.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/HIDParser.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Device/Audio.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Device/Audio.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Device/Audio.o
+ .text.Audio_Device_ConfigureEndpoints
+ 0x0000000000000000 0x5c LUFA/Drivers/USB/Class/Device/Audio.o
+ .text.Audio_Device_ProcessControlRequest
+ 0x0000000000000000 0x50 LUFA/Drivers/USB/Class/Device/Audio.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Device/CDC.o
+ .data 0x0000000000000000 0x8 LUFA/Drivers/USB/Class/Device/CDC.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Device/CDC.o
+ .text.CDC_Device_BytesReceived
+ 0x0000000000000000 0x4e LUFA/Drivers/USB/Class/Device/CDC.o
+ .text.CDC_Device_CreateBlockingStream
+ 0x0000000000000000 0x26 LUFA/Drivers/USB/Class/Device/CDC.o
+ .text.CDC_Device_SendControlLineStateChange
+ 0x0000000000000000 0x8c LUFA/Drivers/USB/Class/Device/CDC.o
+ .text.CDC_Device_SendString
+ 0x0000000000000000 0x32 LUFA/Drivers/USB/Class/Device/CDC.o
+ .text.CDC_Device_getchar_Blocking
+ 0x0000000000000000 0x38 LUFA/Drivers/USB/Class/Device/CDC.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Device/HID.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Device/HID.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Device/HID.o
+ .text.HID_Device_USBTask
+ 0x0000000000000000 0x17e LUFA/Drivers/USB/Class/Device/HID.o
+ .text.HID_Device_ConfigureEndpoints
+ 0x0000000000000000 0x72 LUFA/Drivers/USB/Class/Device/HID.o
+ .text.HID_Device_ProcessControlRequest
+ 0x0000000000000000 0x262 LUFA/Drivers/USB/Class/Device/HID.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Device/MassStorage.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Device/MassStorage.o
+ .bss 0x0000000000000000 0x2 LUFA/Drivers/USB/Class/Device/MassStorage.o
+ .text.StreamCallback_MS_Device_AbortOnMassStoreReset
+ 0x0000000000000000 0x10 LUFA/Drivers/USB/Class/Device/MassStorage.o
+ .text.MS_Device_USBTask
+ 0x0000000000000000 0x1ee LUFA/Drivers/USB/Class/Device/MassStorage.o
+ .text.MS_Device_ConfigureEndpoints
+ 0x0000000000000000 0x78 LUFA/Drivers/USB/Class/Device/MassStorage.o
+ .text.MS_Device_ProcessControlRequest
+ 0x0000000000000000 0x76 LUFA/Drivers/USB/Class/Device/MassStorage.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Device/MIDI.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Device/MIDI.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Device/MIDI.o
+ .text.MIDI_Device_ReceiveEventPacket
+ 0x0000000000000000 0x40 LUFA/Drivers/USB/Class/Device/MIDI.o
+ .text.MIDI_Device_Flush
+ 0x0000000000000000 0x2c LUFA/Drivers/USB/Class/Device/MIDI.o
+ .text.MIDI_Device_USBTask
+ 0x0000000000000000 0x12 LUFA/Drivers/USB/Class/Device/MIDI.o
+ .text.MIDI_Device_SendEventPacket
+ 0x0000000000000000 0x3e LUFA/Drivers/USB/Class/Device/MIDI.o
+ .text.MIDI_Device_ConfigureEndpoints
+ 0x0000000000000000 0x6a LUFA/Drivers/USB/Class/Device/MIDI.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Device/RNDIS.o
+ .data 0x0000000000000000 0x8 LUFA/Drivers/USB/Class/Device/RNDIS.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Device/RNDIS.o
+ .text.RNDIS_Device_USBTask
+ 0x0000000000000000 0x1f4 LUFA/Drivers/USB/Class/Device/RNDIS.o
+ .text.RNDIS_Device_ConfigureEndpoints
+ 0x0000000000000000 0x9a LUFA/Drivers/USB/Class/Device/RNDIS.o
+ .text.RNDIS_Device_ProcessControlRequest
+ 0x0000000000000000 0x59e LUFA/Drivers/USB/Class/Device/RNDIS.o
+ .progmem.data 0x0000000000000000 0x6c LUFA/Drivers/USB/Class/Device/RNDIS.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/CDC.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/CDC.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/CDC.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/HID.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/HID.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/HID.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/MassStorage.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/MassStorage.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/MassStorage.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/MIDI.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/MIDI.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/MIDI.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/Printer.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/Printer.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/Printer.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/RNDIS.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/RNDIS.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/RNDIS.o
+ .text 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/StillImage.o
+ .data 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/StillImage.o
+ .bss 0x0000000000000000 0x0 LUFA/Drivers/USB/Class/Host/StillImage.o
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_exit.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_exit.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_exit.o)
+ .text.libgcc 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_exit.o)
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_copy_data.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_copy_data.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_copy_data.o)
+ .text.libgcc 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_copy_data.o)
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_clear_bss.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_clear_bss.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_clear_bss.o)
+ .text.libgcc 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_clear_bss.o)
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcpy_P.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcpy_P.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcpy_P.o)
+ .text.avr-libc
+ 0x0000000000000000 0x12 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcpy_P.o)
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcmp.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcmp.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcmp.o)
+ .text.avr-libc
+ 0x0000000000000000 0x1a /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcmp.o)
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcpy.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcpy.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcpy.o)
+ .text.avr-libc
+ 0x0000000000000000 0x12 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcpy.o)
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memset.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memset.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memset.o)
+ .text.avr-libc
+ 0x0000000000000000 0xe /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memset.o)
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(strcmp.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(strcmp.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(strcmp.o)
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputc.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputc.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputc.o)
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputs.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputs.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputs.o)
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(eerd_byte_at90usb162.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(eerd_byte_at90usb162.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(eerd_byte_at90usb162.o)
+ .text.avr-libc
+ 0x0000000000000000 0x10 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(eerd_byte_at90usb162.o)
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(eeupd_byte_at90usb162.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(eeupd_byte_at90usb162.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(eeupd_byte_at90usb162.o)
+ .text.avr-libc
+ 0x0000000000000000 0x24 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(eeupd_byte_at90usb162.o)
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_epilogue.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_epilogue.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_epilogue.o)
+
+Memory Configuration
+
+Name Origin Length Attributes
+text 0x0000000000000000 0x0000000000020000 xr
+data 0x0000000000800060 0x000000000000ffa0 rw !x
+eeprom 0x0000000000810000 0x0000000000010000 rw !x
+fuse 0x0000000000820000 0x0000000000000400 rw !x
+lock 0x0000000000830000 0x0000000000000400 rw !x
+signature 0x0000000000840000 0x0000000000000400 rw !x
+*default* 0x0000000000000000 0xffffffffffffffff
+
+Linker script and memory map
+
+Address of section .data set to 0x800100
+LOAD /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+LOAD VirtualSerial.o
+LOAD Descriptors.o
+LOAD LUFA/Drivers/USB/LowLevel/Device.o
+LOAD LUFA/Drivers/USB/LowLevel/Endpoint.o
+LOAD LUFA/Drivers/USB/LowLevel/Host.o
+LOAD LUFA/Drivers/USB/LowLevel/Pipe.o
+LOAD LUFA/Drivers/USB/LowLevel/USBController.o
+LOAD LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+LOAD LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+LOAD LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+LOAD LUFA/Drivers/USB/HighLevel/Events.o
+LOAD LUFA/Drivers/USB/HighLevel/EndpointStream.o
+LOAD LUFA/Drivers/USB/HighLevel/HostStandardReq.o
+LOAD LUFA/Drivers/USB/HighLevel/PipeStream.o
+LOAD LUFA/Drivers/USB/HighLevel/USBTask.o
+LOAD LUFA/Drivers/USB/Class/Host/HIDParser.o
+LOAD LUFA/Drivers/USB/Class/Device/Audio.o
+LOAD LUFA/Drivers/USB/Class/Device/CDC.o
+LOAD LUFA/Drivers/USB/Class/Device/HID.o
+LOAD LUFA/Drivers/USB/Class/Device/MassStorage.o
+LOAD LUFA/Drivers/USB/Class/Device/MIDI.o
+LOAD LUFA/Drivers/USB/Class/Device/RNDIS.o
+LOAD LUFA/Drivers/USB/Class/Host/CDC.o
+LOAD LUFA/Drivers/USB/Class/Host/HID.o
+LOAD LUFA/Drivers/USB/Class/Host/MassStorage.o
+LOAD LUFA/Drivers/USB/Class/Host/MIDI.o
+LOAD LUFA/Drivers/USB/Class/Host/Printer.o
+LOAD LUFA/Drivers/USB/Class/Host/RNDIS.o
+LOAD LUFA/Drivers/USB/Class/Host/StillImage.o
+LOAD /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libm.a
+LOAD /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a
+LOAD /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a
+LOAD /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a
+
+.hash
+ *(.hash)
+
+.dynsym
+ *(.dynsym)
+
+.dynstr
+ *(.dynstr)
+
+.gnu.version
+ *(.gnu.version)
+
+.gnu.version_d
+ *(.gnu.version_d)
+
+.gnu.version_r
+ *(.gnu.version_r)
+
+.rel.init
+ *(.rel.init)
+
+.rela.init
+ *(.rela.init)
+
+.rel.text
+ *(.rel.text)
+ *(.rel.text.*)
+ *(.rel.gnu.linkonce.t*)
+
+.rela.text
+ *(.rela.text)
+ *(.rela.text.*)
+ *(.rela.gnu.linkonce.t*)
+
+.rel.fini
+ *(.rel.fini)
+
+.rela.fini
+ *(.rela.fini)
+
+.rel.rodata
+ *(.rel.rodata)
+ *(.rel.rodata.*)
+ *(.rel.gnu.linkonce.r*)
+
+.rela.rodata
+ *(.rela.rodata)
+ *(.rela.rodata.*)
+ *(.rela.gnu.linkonce.r*)
+
+.rel.data
+ *(.rel.data)
+ *(.rel.data.*)
+ *(.rel.gnu.linkonce.d*)
+
+.rela.data
+ *(.rela.data)
+ *(.rela.data.*)
+ *(.rela.gnu.linkonce.d*)
+
+.rel.ctors
+ *(.rel.ctors)
+
+.rela.ctors
+ *(.rela.ctors)
+
+.rel.dtors
+ *(.rel.dtors)
+
+.rela.dtors
+ *(.rela.dtors)
+
+.rel.got
+ *(.rel.got)
+
+.rela.got
+ *(.rela.got)
+
+.rel.bss
+ *(.rel.bss)
+
+.rela.bss
+ *(.rela.bss)
+
+.rel.plt
+ *(.rel.plt)
+
+.rela.plt
+ *(.rela.plt)
+
+.text 0x0000000000000000 0xece
+ *(.vectors)
+ .vectors 0x0000000000000000 0x74 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+ 0x0000000000000000 __vectors
+ 0x0000000000000000 __vector_default
+ *(.vectors)
+ *(.progmem.gcc*)
+ *(.progmem*)
+ .progmem.data 0x0000000000000074 0x90 Descriptors.o
+ 0x0000000000000074 DeviceDescriptor
+ 0x0000000000000086 ConfigurationDescriptor
+ 0x00000000000000c4 LanguageString
+ 0x00000000000000c8 ManufacturerString
+ 0x00000000000000de ProductString
+ 0x0000000000000104 . = ALIGN (0x2)
+ 0x0000000000000104 __trampolines_start = .
+ *(.trampolines)
+ .trampolines 0x0000000000000104 0x0 linker stubs
+ *(.trampolines*)
+ 0x0000000000000104 __trampolines_end = .
+ *(.jumptables)
+ *(.jumptables*)
+ *(.lowtext)
+ *(.lowtext*)
+ 0x0000000000000104 __ctors_start = .
+ *(.ctors)
+ 0x0000000000000104 __ctors_end = .
+ 0x0000000000000104 __dtors_start = .
+ *(.dtors)
+ 0x0000000000000104 __dtors_end = .
+ SORT(*)(.ctors)
+ SORT(*)(.dtors)
+ *(.init0)
+ .init0 0x0000000000000104 0x0 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+ 0x0000000000000104 __init
+ *(.init0)
+ *(.init1)
+ *(.init1)
+ *(.init2)
+ .init2 0x0000000000000104 0xc /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+ *(.init2)
+ *(.init3)
+ *(.init3)
+ *(.init4)
+ .init4 0x0000000000000110 0x16 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_copy_data.o)
+ 0x0000000000000110 __do_copy_data
+ .init4 0x0000000000000126 0x10 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_clear_bss.o)
+ 0x0000000000000126 __do_clear_bss
+ *(.init4)
+ *(.init5)
+ *(.init5)
+ *(.init6)
+ *(.init6)
+ *(.init7)
+ *(.init7)
+ *(.init8)
+ *(.init8)
+ *(.init9)
+ .init9 0x0000000000000136 0x4 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+ *(.init9)
+ *(.text)
+ .text 0x000000000000013a 0x2 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+ 0x000000000000013a __vector_22
+ 0x000000000000013a __vector_28
+ 0x000000000000013a __vector_1
+ 0x000000000000013a __vector_24
+ 0x000000000000013a __vector_12
+ 0x000000000000013a __bad_interrupt
+ 0x000000000000013a __vector_6
+ 0x000000000000013a __vector_3
+ 0x000000000000013a __vector_23
+ 0x000000000000013a __vector_25
+ 0x000000000000013a __vector_13
+ 0x000000000000013a __vector_17
+ 0x000000000000013a __vector_19
+ 0x000000000000013a __vector_7
+ 0x000000000000013a __vector_27
+ 0x000000000000013a __vector_5
+ 0x000000000000013a __vector_4
+ 0x000000000000013a __vector_9
+ 0x000000000000013a __vector_2
+ 0x000000000000013a __vector_21
+ 0x000000000000013a __vector_8
+ 0x000000000000013a __vector_26
+ 0x000000000000013a __vector_14
+ 0x000000000000013a __vector_10
+ 0x000000000000013a __vector_16
+ 0x000000000000013a __vector_18
+ 0x000000000000013a __vector_20
+ 0x000000000000013c . = ALIGN (0x2)
+ *(.text.*)
+ .text.lock_timer_setup
+ 0x000000000000013c 0x1e VirtualSerial.o
+ 0x000000000000013c lock_timer_setup
+ .text.lock_timer_reset
+ 0x000000000000015a 0x6 VirtualSerial.o
+ 0x000000000000015a lock_timer_reset
+ .text.EVENT_USB_Device_Connect
+ 0x0000000000000160 0x2 VirtualSerial.o
+ 0x0000000000000160 EVENT_USB_Device_Connect
+ .text.EVENT_USB_Device_Disconnect
+ 0x0000000000000162 0x2 VirtualSerial.o
+ 0x0000000000000162 EVENT_USB_Device_Disconnect
+ .text.__vector_15
+ 0x0000000000000164 0x3c VirtualSerial.o
+ 0x0000000000000164 __vector_15
+ .text.EVENT_USB_Device_ControlRequest
+ 0x00000000000001a0 0x6 VirtualSerial.o
+ 0x00000000000001a0 EVENT_USB_Device_ControlRequest
+ .text.EVENT_USB_Device_ConfigurationChanged
+ 0x00000000000001a6 0x6 VirtualSerial.o
+ 0x00000000000001a6 EVENT_USB_Device_ConfigurationChanged
+ .text.SetupHardware
+ 0x00000000000001ac 0x30 VirtualSerial.o
+ 0x00000000000001ac SetupHardware
+ .text.handle_command
+ 0x00000000000001dc 0xc8 VirtualSerial.o
+ 0x00000000000001dc handle_command
+ .text.CheckACMStatus
+ 0x00000000000002a4 0x6a VirtualSerial.o
+ 0x00000000000002a4 CheckACMStatus
+ .text.main 0x000000000000030e 0x68 VirtualSerial.o
+ 0x000000000000030e main
+ .text.CALLBACK_USB_GetDescriptor
+ 0x0000000000000376 0x5c Descriptors.o
+ 0x0000000000000376 CALLBACK_USB_GetDescriptor
+ .text.Endpoint_ConfigureEndpoint_Prv
+ 0x00000000000003d2 0x26 LUFA/Drivers/USB/LowLevel/Endpoint.o
+ 0x00000000000003d2 Endpoint_ConfigureEndpoint_Prv
+ .text.Endpoint_ClearStatusStage
+ 0x00000000000003f8 0x42 LUFA/Drivers/USB/LowLevel/Endpoint.o
+ 0x00000000000003f8 Endpoint_ClearStatusStage
+ .text.Endpoint_WaitUntilReady
+ 0x000000000000043a 0x64 LUFA/Drivers/USB/LowLevel/Endpoint.o
+ 0x000000000000043a Endpoint_WaitUntilReady
+ .text.USB_ResetInterface
+ 0x000000000000049e 0x72 LUFA/Drivers/USB/LowLevel/USBController.o
+ 0x000000000000049e USB_ResetInterface
+ .text.USB_Init
+ 0x0000000000000510 0x12 LUFA/Drivers/USB/LowLevel/USBController.o
+ 0x0000000000000510 USB_Init
+ .text.USB_INT_DisableAllInterrupts
+ 0x0000000000000522 0x6 LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ 0x0000000000000522 USB_INT_DisableAllInterrupts
+ .text.USB_INT_ClearAllInterrupts
+ 0x0000000000000528 0x6 LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ 0x0000000000000528 USB_INT_ClearAllInterrupts
+ .text.__vector_11
+ 0x000000000000052e 0x150 LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ 0x000000000000052e __vector_11
+ .text.USB_Device_ProcessControlRequest
+ 0x000000000000067e 0x258 LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ 0x000000000000067e USB_Device_ProcessControlRequest
+ .text.USB_Event_Stub
+ 0x00000000000008d6 0x2 LUFA/Drivers/USB/HighLevel/Events.o
+ 0x00000000000008d6 EVENT_USB_Device_WakeUp
+ 0x00000000000008d6 USB_Event_Stub
+ 0x00000000000008d6 EVENT_USB_Device_Suspend
+ 0x00000000000008d6 EVENT_USB_Device_StartOfFrame
+ 0x00000000000008d6 EVENT_USB_Device_Reset
+ .text.Endpoint_Write_Control_Stream_LE
+ 0x00000000000008d8 0xbc LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ 0x00000000000008d8 Endpoint_Write_Control_Stream_LE
+ .text.Endpoint_Write_Control_PStream_LE
+ 0x0000000000000994 0xbe LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ 0x0000000000000994 Endpoint_Write_Control_PStream_LE
+ .text.Endpoint_Read_Control_Stream_LE
+ 0x0000000000000a52 0x7e LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ 0x0000000000000a52 Endpoint_Read_Control_Stream_LE
+ .text.USB_USBTask
+ 0x0000000000000ad0 0x26 LUFA/Drivers/USB/HighLevel/USBTask.o
+ 0x0000000000000ad0 USB_USBTask
+ .text.CDC_Device_Event_Stub
+ 0x0000000000000af6 0x2 LUFA/Drivers/USB/Class/Device/CDC.o
+ 0x0000000000000af6 EVENT_CDC_Device_LineEncodingChanged
+ 0x0000000000000af6 EVENT_CDC_Device_ControLineStateChanged
+ 0x0000000000000af6 EVENT_CDC_Device_BreakSent
+ 0x0000000000000af6 CDC_Device_Event_Stub
+ .text.CDC_Device_ReceiveByte
+ 0x0000000000000af8 0x5a LUFA/Drivers/USB/Class/Device/CDC.o
+ 0x0000000000000af8 CDC_Device_ReceiveByte
+ .text.CDC_Device_CreateStream
+ 0x0000000000000b52 0x26 LUFA/Drivers/USB/Class/Device/CDC.o
+ 0x0000000000000b52 CDC_Device_CreateStream
+ .text.CDC_Device_getchar
+ 0x0000000000000b78 0x16 LUFA/Drivers/USB/Class/Device/CDC.o
+ .text.CDC_Device_Flush
+ 0x0000000000000b8e 0x58 LUFA/Drivers/USB/Class/Device/CDC.o
+ 0x0000000000000b8e CDC_Device_Flush
+ .text.CDC_Device_USBTask
+ 0x0000000000000be6 0x20 LUFA/Drivers/USB/Class/Device/CDC.o
+ 0x0000000000000be6 CDC_Device_USBTask
+ .text.CDC_Device_SendByte
+ 0x0000000000000c06 0x4a LUFA/Drivers/USB/Class/Device/CDC.o
+ 0x0000000000000c06 CDC_Device_SendByte
+ .text.CDC_Device_putchar
+ 0x0000000000000c50 0x1e LUFA/Drivers/USB/Class/Device/CDC.o
+ .text.CDC_Device_ConfigureEndpoints
+ 0x0000000000000c6e 0x92 LUFA/Drivers/USB/Class/Device/CDC.o
+ 0x0000000000000c6e CDC_Device_ConfigureEndpoints
+ .text.CDC_Device_ProcessControlRequest
+ 0x0000000000000d00 0xda LUFA/Drivers/USB/Class/Device/CDC.o
+ 0x0000000000000d00 CDC_Device_ProcessControlRequest
+ .text.avr-libc
+ 0x0000000000000dda 0x12 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(strcmp.o)
+ 0x0000000000000dda strcmp
+ .text.avr-libc
+ 0x0000000000000dec 0x58 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputc.o)
+ 0x0000000000000dec fputc
+ .text.avr-libc
+ 0x0000000000000e44 0x50 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputs.o)
+ 0x0000000000000e44 fputs
+ .text.libgcc 0x0000000000000e94 0x36 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_epilogue.o)
+ 0x0000000000000e94 __epilogue_restores__
+ 0x0000000000000eca . = ALIGN (0x2)
+ *(.fini9)
+ .fini9 0x0000000000000eca 0x0 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_exit.o)
+ 0x0000000000000eca exit
+ 0x0000000000000eca _exit
+ *(.fini9)
+ *(.fini8)
+ *(.fini8)
+ *(.fini7)
+ *(.fini7)
+ *(.fini6)
+ *(.fini6)
+ *(.fini5)
+ *(.fini5)
+ *(.fini4)
+ *(.fini4)
+ *(.fini3)
+ *(.fini3)
+ *(.fini2)
+ *(.fini2)
+ *(.fini1)
+ *(.fini1)
+ *(.fini0)
+ .fini0 0x0000000000000eca 0x4 /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_exit.o)
+ *(.fini0)
+ 0x0000000000000ece _etext = .
+
+.data 0x0000000000800100 0xd8 load address 0x0000000000000ece
+ 0x0000000000800100 PROVIDE (__data_start, .)
+ *(.data)
+ .data 0x0000000000800100 0xd8 VirtualSerial.o
+ 0x00000000008001c0 VirtualSerial_CDC_Interface
+ *(.data*)
+ *(.rodata)
+ *(.rodata*)
+ *(.gnu.linkonce.d*)
+ 0x00000000008001d8 . = ALIGN (0x2)
+ 0x00000000008001d8 _edata = .
+ 0x00000000008001d8 PROVIDE (__data_end, .)
+
+.bss 0x00000000008001d8 0x3e
+ 0x00000000008001d8 PROVIDE (__bss_start, .)
+ *(.bss)
+ .bss 0x00000000008001d8 0x31 VirtualSerial.o
+ *(.bss*)
+ *(COMMON)
+ COMMON 0x0000000000800209 0x3 LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ 0x0000000000800209 USB_CurrentlySelfPowered
+ 0x000000000080020a USB_RemoteWakeupEnabled
+ 0x000000000080020b USB_ConfigurationNumber
+ COMMON 0x000000000080020c 0xa LUFA/Drivers/USB/HighLevel/USBTask.o
+ 0x000000000080020c USB_IsInitialized
+ 0x000000000080020d USB_DeviceState
+ 0x000000000080020e USB_ControlRequest
+ 0x0000000000800216 PROVIDE (__bss_end, .)
+ 0x0000000000000ece __data_load_start = LOADADDR (.data)
+ 0x0000000000000fa6 __data_load_end = (__data_load_start + SIZEOF (.data))
+
+.noinit 0x0000000000800216 0x0
+ 0x0000000000800216 PROVIDE (__noinit_start, .)
+ *(.noinit*)
+ 0x0000000000800216 PROVIDE (__noinit_end, .)
+ 0x0000000000800216 _end = .
+ 0x0000000000800216 PROVIDE (__heap_start, .)
+
+.eeprom 0x0000000000810000 0x0
+ *(.eeprom*)
+ 0x0000000000810000 __eeprom_end = .
+
+.fuse
+ *(.fuse)
+ *(.lfuse)
+ *(.hfuse)
+ *(.efuse)
+
+.lock
+ *(.lock*)
+
+.signature
+ *(.signature*)
+
+.stab 0x0000000000000000 0x1080
+ *(.stab)
+ .stab 0x0000000000000000 0x6b4 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+ .stab 0x00000000000006b4 0x84 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcpy_P.o)
+ 0x90 (size before relaxing)
+ .stab 0x0000000000000738 0xb4 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcmp.o)
+ 0xc0 (size before relaxing)
+ .stab 0x00000000000007ec 0x84 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcpy.o)
+ 0x90 (size before relaxing)
+ .stab 0x0000000000000870 0x6c /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memset.o)
+ 0x78 (size before relaxing)
+ .stab 0x00000000000008dc 0x84 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(strcmp.o)
+ 0x90 (size before relaxing)
+ .stab 0x0000000000000960 0x3a8 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputc.o)
+ 0x3b4 (size before relaxing)
+ .stab 0x0000000000000d08 0x1d4 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputs.o)
+ 0x3b4 (size before relaxing)
+ .stab 0x0000000000000edc 0x90 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(eerd_byte_at90usb162.o)
+ 0x9c (size before relaxing)
+ .stab 0x0000000000000f6c 0x114 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(eeupd_byte_at90usb162.o)
+ 0x120 (size before relaxing)
+
+.stabstr 0x0000000000000000 0x9a6
+ *(.stabstr)
+ .stabstr 0x0000000000000000 0x9a6 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+
+.stab.excl
+ *(.stab.excl)
+
+.stab.exclstr
+ *(.stab.exclstr)
+
+.stab.index
+ *(.stab.index)
+
+.stab.indexstr
+ *(.stab.indexstr)
+
+.comment
+ *(.comment)
+
+.debug
+ *(.debug)
+
+.line
+ *(.line)
+
+.debug_srcinfo
+ *(.debug_srcinfo)
+
+.debug_sfnames
+ *(.debug_sfnames)
+
+.debug_aranges 0x0000000000000000 0x438
+ *(.debug_aranges)
+ .debug_aranges
+ 0x0000000000000000 0x78 VirtualSerial.o
+ .debug_aranges
+ 0x0000000000000078 0x20 Descriptors.o
+ .debug_aranges
+ 0x0000000000000098 0x20 LUFA/Drivers/USB/LowLevel/Device.o
+ .debug_aranges
+ 0x00000000000000b8 0x38 LUFA/Drivers/USB/LowLevel/Endpoint.o
+ .debug_aranges
+ 0x00000000000000f0 0x30 LUFA/Drivers/USB/LowLevel/USBController.o
+ .debug_aranges
+ 0x0000000000000120 0x30 LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ .debug_aranges
+ 0x0000000000000150 0x38 LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ .debug_aranges
+ 0x0000000000000188 0x20 LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ .debug_aranges
+ 0x00000000000001a8 0x20 LUFA/Drivers/USB/HighLevel/Events.o
+ .debug_aranges
+ 0x00000000000001c8 0xc0 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .debug_aranges
+ 0x0000000000000288 0x20 LUFA/Drivers/USB/HighLevel/USBTask.o
+ .debug_aranges
+ 0x00000000000002a8 0x28 LUFA/Drivers/USB/Class/Device/Audio.o
+ .debug_aranges
+ 0x00000000000002d0 0x90 LUFA/Drivers/USB/Class/Device/CDC.o
+ .debug_aranges
+ 0x0000000000000360 0x30 LUFA/Drivers/USB/Class/Device/HID.o
+ .debug_aranges
+ 0x0000000000000390 0x38 LUFA/Drivers/USB/Class/Device/MassStorage.o
+ .debug_aranges
+ 0x00000000000003c8 0x40 LUFA/Drivers/USB/Class/Device/MIDI.o
+ .debug_aranges
+ 0x0000000000000408 0x30 LUFA/Drivers/USB/Class/Device/RNDIS.o
+
+.debug_pubnames
+ 0x0000000000000000 0xb8d
+ *(.debug_pubnames)
+ .debug_pubnames
+ 0x0000000000000000 0x14b VirtualSerial.o
+ .debug_pubnames
+ 0x000000000000014b 0x9e Descriptors.o
+ .debug_pubnames
+ 0x00000000000001e9 0x32 LUFA/Drivers/USB/LowLevel/Device.o
+ .debug_pubnames
+ 0x000000000000021b 0x8b LUFA/Drivers/USB/LowLevel/Endpoint.o
+ .debug_pubnames
+ 0x00000000000002a6 0x47 LUFA/Drivers/USB/LowLevel/USBController.o
+ .debug_pubnames
+ 0x00000000000002ed 0x62 LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ .debug_pubnames
+ 0x000000000000034f 0x9b LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ .debug_pubnames
+ 0x00000000000003ea 0x8c LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ .debug_pubnames
+ 0x0000000000000476 0x25 LUFA/Drivers/USB/HighLevel/Events.o
+ .debug_pubnames
+ 0x000000000000049b 0x2c6 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .debug_pubnames
+ 0x0000000000000761 0x63 LUFA/Drivers/USB/HighLevel/USBTask.o
+ .debug_pubnames
+ 0x00000000000007c4 0x5d LUFA/Drivers/USB/Class/Device/Audio.o
+ .debug_pubnames
+ 0x0000000000000821 0x173 LUFA/Drivers/USB/Class/Device/CDC.o
+ .debug_pubnames
+ 0x0000000000000994 0x70 LUFA/Drivers/USB/Class/Device/HID.o
+ .debug_pubnames
+ 0x0000000000000a04 0x6d LUFA/Drivers/USB/Class/Device/MassStorage.o
+ .debug_pubnames
+ 0x0000000000000a71 0xa6 LUFA/Drivers/USB/Class/Device/MIDI.o
+ .debug_pubnames
+ 0x0000000000000b17 0x76 LUFA/Drivers/USB/Class/Device/RNDIS.o
+
+.debug_info 0x0000000000000000 0x6c93
+ *(.debug_info)
+ .debug_info 0x0000000000000000 0x639 VirtualSerial.o
+ .debug_info 0x0000000000000639 0x695 Descriptors.o
+ .debug_info 0x0000000000000cce 0xc4 LUFA/Drivers/USB/LowLevel/Device.o
+ .debug_info 0x0000000000000d92 0x3dd LUFA/Drivers/USB/LowLevel/Endpoint.o
+ .debug_info 0x000000000000116f 0x0 LUFA/Drivers/USB/LowLevel/Host.o
+ .debug_info 0x000000000000116f 0x0 LUFA/Drivers/USB/LowLevel/Pipe.o
+ .debug_info 0x000000000000116f 0x395 LUFA/Drivers/USB/LowLevel/USBController.o
+ .debug_info 0x0000000000001504 0x26c LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ .debug_info 0x0000000000001770 0x34c LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ .debug_info 0x0000000000001abc 0x7a9 LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ .debug_info 0x0000000000002265 0x76 LUFA/Drivers/USB/HighLevel/Events.o
+ .debug_info 0x00000000000022db 0x1469 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .debug_info 0x0000000000003744 0x0 LUFA/Drivers/USB/HighLevel/HostStandardReq.o
+ .debug_info 0x0000000000003744 0x0 LUFA/Drivers/USB/HighLevel/PipeStream.o
+ .debug_info 0x0000000000003744 0x23b LUFA/Drivers/USB/HighLevel/USBTask.o
+ .debug_info 0x000000000000397f 0x0 LUFA/Drivers/USB/Class/Host/HIDParser.o
+ .debug_info 0x000000000000397f 0x3ca LUFA/Drivers/USB/Class/Device/Audio.o
+ .debug_info 0x0000000000003d49 0xb76 LUFA/Drivers/USB/Class/Device/CDC.o
+ .debug_info 0x00000000000048bf 0x679 LUFA/Drivers/USB/Class/Device/HID.o
+ .debug_info 0x0000000000004f38 0x8b9 LUFA/Drivers/USB/Class/Device/MassStorage.o
+ .debug_info 0x00000000000057f1 0x5c4 LUFA/Drivers/USB/Class/Device/MIDI.o
+ .debug_info 0x0000000000005db5 0xede LUFA/Drivers/USB/Class/Device/RNDIS.o
+ .debug_info 0x0000000000006c93 0x0 LUFA/Drivers/USB/Class/Host/CDC.o
+ .debug_info 0x0000000000006c93 0x0 LUFA/Drivers/USB/Class/Host/HID.o
+ .debug_info 0x0000000000006c93 0x0 LUFA/Drivers/USB/Class/Host/MassStorage.o
+ .debug_info 0x0000000000006c93 0x0 LUFA/Drivers/USB/Class/Host/MIDI.o
+ .debug_info 0x0000000000006c93 0x0 LUFA/Drivers/USB/Class/Host/Printer.o
+ .debug_info 0x0000000000006c93 0x0 LUFA/Drivers/USB/Class/Host/RNDIS.o
+ .debug_info 0x0000000000006c93 0x0 LUFA/Drivers/USB/Class/Host/StillImage.o
+ *(.gnu.linkonce.wi.*)
+
+.debug_abbrev 0x0000000000000000 0x1dd1
+ *(.debug_abbrev)
+ .debug_abbrev 0x0000000000000000 0x2f6 VirtualSerial.o
+ .debug_abbrev 0x00000000000002f6 0x170 Descriptors.o
+ .debug_abbrev 0x0000000000000466 0x79 LUFA/Drivers/USB/LowLevel/Device.o
+ .debug_abbrev 0x00000000000004df 0x180 LUFA/Drivers/USB/LowLevel/Endpoint.o
+ .debug_abbrev 0x000000000000065f 0x1 LUFA/Drivers/USB/LowLevel/Host.o
+ .debug_abbrev 0x0000000000000660 0x1 LUFA/Drivers/USB/LowLevel/Pipe.o
+ .debug_abbrev 0x0000000000000661 0x1aa LUFA/Drivers/USB/LowLevel/USBController.o
+ .debug_abbrev 0x000000000000080b 0x154 LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ .debug_abbrev 0x000000000000095f 0x15c LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ .debug_abbrev 0x0000000000000abb 0x208 LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ .debug_abbrev 0x0000000000000cc3 0x41 LUFA/Drivers/USB/HighLevel/Events.o
+ .debug_abbrev 0x0000000000000d04 0x1a6 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .debug_abbrev 0x0000000000000eaa 0x1 LUFA/Drivers/USB/HighLevel/HostStandardReq.o
+ .debug_abbrev 0x0000000000000eab 0x1 LUFA/Drivers/USB/HighLevel/PipeStream.o
+ .debug_abbrev 0x0000000000000eac 0x15d LUFA/Drivers/USB/HighLevel/USBTask.o
+ .debug_abbrev 0x0000000000001009 0x1 LUFA/Drivers/USB/Class/Host/HIDParser.o
+ .debug_abbrev 0x000000000000100a 0x1ab LUFA/Drivers/USB/Class/Device/Audio.o
+ .debug_abbrev 0x00000000000011b5 0x2f5 LUFA/Drivers/USB/Class/Device/CDC.o
+ .debug_abbrev 0x00000000000014aa 0x20d LUFA/Drivers/USB/Class/Device/HID.o
+ .debug_abbrev 0x00000000000016b7 0x258 LUFA/Drivers/USB/Class/Device/MassStorage.o
+ .debug_abbrev 0x000000000000190f 0x216 LUFA/Drivers/USB/Class/Device/MIDI.o
+ .debug_abbrev 0x0000000000001b25 0x2a5 LUFA/Drivers/USB/Class/Device/RNDIS.o
+ .debug_abbrev 0x0000000000001dca 0x1 LUFA/Drivers/USB/Class/Host/CDC.o
+ .debug_abbrev 0x0000000000001dcb 0x1 LUFA/Drivers/USB/Class/Host/HID.o
+ .debug_abbrev 0x0000000000001dcc 0x1 LUFA/Drivers/USB/Class/Host/MassStorage.o
+ .debug_abbrev 0x0000000000001dcd 0x1 LUFA/Drivers/USB/Class/Host/MIDI.o
+ .debug_abbrev 0x0000000000001dce 0x1 LUFA/Drivers/USB/Class/Host/Printer.o
+ .debug_abbrev 0x0000000000001dcf 0x1 LUFA/Drivers/USB/Class/Host/RNDIS.o
+ .debug_abbrev 0x0000000000001dd0 0x1 LUFA/Drivers/USB/Class/Host/StillImage.o
+
+.debug_line 0x0000000000000000 0x5218
+ *(.debug_line)
+ .debug_line 0x0000000000000000 0x5af VirtualSerial.o
+ .debug_line 0x00000000000005af 0x1c7 Descriptors.o
+ .debug_line 0x0000000000000776 0xd5 LUFA/Drivers/USB/LowLevel/Device.o
+ .debug_line 0x000000000000084b 0x3c2 LUFA/Drivers/USB/LowLevel/Endpoint.o
+ .debug_line 0x0000000000000c0d 0x24 LUFA/Drivers/USB/LowLevel/Host.o
+ .debug_line 0x0000000000000c31 0x24 LUFA/Drivers/USB/LowLevel/Pipe.o
+ .debug_line 0x0000000000000c55 0x2cc LUFA/Drivers/USB/LowLevel/USBController.o
+ .debug_line 0x0000000000000f21 0x2f1 LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ .debug_line 0x0000000000001212 0x25d LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ .debug_line 0x000000000000146f 0x4c3 LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ .debug_line 0x0000000000001932 0x7f LUFA/Drivers/USB/HighLevel/Events.o
+ .debug_line 0x00000000000019b1 0x1498 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .debug_line 0x0000000000002e49 0x24 LUFA/Drivers/USB/HighLevel/HostStandardReq.o
+ .debug_line 0x0000000000002e6d 0x24 LUFA/Drivers/USB/HighLevel/PipeStream.o
+ .debug_line 0x0000000000002e91 0x1c6 LUFA/Drivers/USB/HighLevel/USBTask.o
+ .debug_line 0x0000000000003057 0x24 LUFA/Drivers/USB/Class/Host/HIDParser.o
+ .debug_line 0x000000000000307b 0x296 LUFA/Drivers/USB/Class/Device/Audio.o
+ .debug_line 0x0000000000003311 0x810 LUFA/Drivers/USB/Class/Device/CDC.o
+ .debug_line 0x0000000000003b21 0x524 LUFA/Drivers/USB/Class/Device/HID.o
+ .debug_line 0x0000000000004045 0x600 LUFA/Drivers/USB/Class/Device/MassStorage.o
+ .debug_line 0x0000000000004645 0x409 LUFA/Drivers/USB/Class/Device/MIDI.o
+ .debug_line 0x0000000000004a4e 0x6ce LUFA/Drivers/USB/Class/Device/RNDIS.o
+ .debug_line 0x000000000000511c 0x24 LUFA/Drivers/USB/Class/Host/CDC.o
+ .debug_line 0x0000000000005140 0x24 LUFA/Drivers/USB/Class/Host/HID.o
+ .debug_line 0x0000000000005164 0x24 LUFA/Drivers/USB/Class/Host/MassStorage.o
+ .debug_line 0x0000000000005188 0x24 LUFA/Drivers/USB/Class/Host/MIDI.o
+ .debug_line 0x00000000000051ac 0x24 LUFA/Drivers/USB/Class/Host/Printer.o
+ .debug_line 0x00000000000051d0 0x24 LUFA/Drivers/USB/Class/Host/RNDIS.o
+ .debug_line 0x00000000000051f4 0x24 LUFA/Drivers/USB/Class/Host/StillImage.o
+
+.debug_frame 0x0000000000000000 0x650
+ *(.debug_frame)
+ .debug_frame 0x0000000000000000 0xd0 VirtualSerial.o
+ .debug_frame 0x00000000000000d0 0x20 Descriptors.o
+ .debug_frame 0x00000000000000f0 0x20 LUFA/Drivers/USB/LowLevel/Device.o
+ .debug_frame 0x0000000000000110 0x50 LUFA/Drivers/USB/LowLevel/Endpoint.o
+ .debug_frame 0x0000000000000160 0x40 LUFA/Drivers/USB/LowLevel/USBController.o
+ .debug_frame 0x00000000000001a0 0x40 LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ .debug_frame 0x00000000000001e0 0x50 LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ .debug_frame 0x0000000000000230 0x20 LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ .debug_frame 0x0000000000000250 0x20 LUFA/Drivers/USB/HighLevel/Events.o
+ .debug_frame 0x0000000000000270 0x160 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .debug_frame 0x00000000000003d0 0x20 LUFA/Drivers/USB/HighLevel/USBTask.o
+ .debug_frame 0x00000000000003f0 0x30 LUFA/Drivers/USB/Class/Device/Audio.o
+ .debug_frame 0x0000000000000420 0x100 LUFA/Drivers/USB/Class/Device/CDC.o
+ .debug_frame 0x0000000000000520 0x40 LUFA/Drivers/USB/Class/Device/HID.o
+ .debug_frame 0x0000000000000560 0x50 LUFA/Drivers/USB/Class/Device/MassStorage.o
+ .debug_frame 0x00000000000005b0 0x60 LUFA/Drivers/USB/Class/Device/MIDI.o
+ .debug_frame 0x0000000000000610 0x40 LUFA/Drivers/USB/Class/Device/RNDIS.o
+
+.debug_str 0x0000000000000000 0x2b5d
+ *(.debug_str)
+ .debug_str 0x0000000000000000 0x46b VirtualSerial.o
+ 0x4b7 (size before relaxing)
+ .debug_str 0x000000000000046b 0x532 Descriptors.o
+ 0x664 (size before relaxing)
+ .debug_str 0x000000000000099d 0x6b LUFA/Drivers/USB/LowLevel/Device.o
+ 0x10c (size before relaxing)
+ .debug_str 0x0000000000000a08 0x392 LUFA/Drivers/USB/LowLevel/Endpoint.o
+ 0x478 (size before relaxing)
+ .debug_str 0x0000000000000d9a 0x1b1 LUFA/Drivers/USB/LowLevel/USBController.o
+ 0x367 (size before relaxing)
+ .debug_str 0x0000000000000f4b 0x94 LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ 0x2b2 (size before relaxing)
+ .debug_str 0x0000000000000fdf 0x225 LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ 0x2e4 (size before relaxing)
+ .debug_str 0x0000000000001204 0x38e LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ 0x63c (size before relaxing)
+ .debug_str 0x0000000000001592 0x33 LUFA/Drivers/USB/HighLevel/Events.o
+ 0xce (size before relaxing)
+ .debug_str 0x00000000000015c5 0x4d3 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ 0x766 (size before relaxing)
+ .debug_str 0x0000000000001a98 0x69 LUFA/Drivers/USB/HighLevel/USBTask.o
+ 0x26e (size before relaxing)
+ .debug_str 0x0000000000001b01 0xcf LUFA/Drivers/USB/Class/Device/Audio.o
+ 0x3b9 (size before relaxing)
+ .debug_str 0x0000000000001bd0 0x2d9 LUFA/Drivers/USB/Class/Device/CDC.o
+ 0x94e (size before relaxing)
+ .debug_str 0x0000000000001ea9 0x284 LUFA/Drivers/USB/Class/Device/HID.o
+ 0x575 (size before relaxing)
+ .debug_str 0x000000000000212d 0x25f LUFA/Drivers/USB/Class/Device/MassStorage.o
+ 0x6d4 (size before relaxing)
+ .debug_str 0x000000000000238c 0x10a LUFA/Drivers/USB/Class/Device/MIDI.o
+ 0x5d2 (size before relaxing)
+ .debug_str 0x0000000000002496 0x6c7 LUFA/Drivers/USB/Class/Device/RNDIS.o
+ 0xb08 (size before relaxing)
+
+.debug_loc 0x0000000000000000 0x2be2
+ *(.debug_loc)
+ .debug_loc 0x0000000000000000 0xc8 VirtualSerial.o
+ .debug_loc 0x00000000000000c8 0x160 Descriptors.o
+ .debug_loc 0x0000000000000228 0x74 LUFA/Drivers/USB/LowLevel/Endpoint.o
+ .debug_loc 0x000000000000029c 0x13 LUFA/Drivers/USB/LowLevel/USBController.o
+ .debug_loc 0x00000000000002af 0x26d LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ .debug_loc 0x000000000000051c 0x160 LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ .debug_loc 0x000000000000067c 0x17c1 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .debug_loc 0x0000000000001e3d 0xd4 LUFA/Drivers/USB/Class/Device/Audio.o
+ .debug_loc 0x0000000000001f11 0x4b2 LUFA/Drivers/USB/Class/Device/CDC.o
+ .debug_loc 0x00000000000023c3 0x184 LUFA/Drivers/USB/Class/Device/HID.o
+ .debug_loc 0x0000000000002547 0x11a LUFA/Drivers/USB/Class/Device/MassStorage.o
+ .debug_loc 0x0000000000002661 0x241 LUFA/Drivers/USB/Class/Device/MIDI.o
+ .debug_loc 0x00000000000028a2 0x340 LUFA/Drivers/USB/Class/Device/RNDIS.o
+
+.debug_macinfo
+ *(.debug_macinfo)
+OUTPUT(VirtualSerial.elf elf32-avr)
+LOAD linker stubs
+
+.debug_ranges 0x0000000000000000 0x458
+ .debug_ranges 0x0000000000000000 0xb8 VirtualSerial.o
+ .debug_ranges 0x00000000000000b8 0x18 Descriptors.o
+ .debug_ranges 0x00000000000000d0 0x18 LUFA/Drivers/USB/LowLevel/Device.o
+ .debug_ranges 0x00000000000000e8 0x30 LUFA/Drivers/USB/LowLevel/Endpoint.o
+ .debug_ranges 0x0000000000000118 0x28 LUFA/Drivers/USB/LowLevel/USBController.o
+ .debug_ranges 0x0000000000000140 0x28 LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ .debug_ranges 0x0000000000000168 0x30 LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+ .debug_ranges 0x0000000000000198 0x18 LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ .debug_ranges 0x00000000000001b0 0x18 LUFA/Drivers/USB/HighLevel/Events.o
+ .debug_ranges 0x00000000000001c8 0xb8 LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ .debug_ranges 0x0000000000000280 0x30 LUFA/Drivers/USB/HighLevel/USBTask.o
+ .debug_ranges 0x00000000000002b0 0x20 LUFA/Drivers/USB/Class/Device/Audio.o
+ .debug_ranges 0x00000000000002d0 0x88 LUFA/Drivers/USB/Class/Device/CDC.o
+ .debug_ranges 0x0000000000000358 0x28 LUFA/Drivers/USB/Class/Device/HID.o
+ .debug_ranges 0x0000000000000380 0x30 LUFA/Drivers/USB/Class/Device/MassStorage.o
+ .debug_ranges 0x00000000000003b0 0x38 LUFA/Drivers/USB/Class/Device/MIDI.o
+ .debug_ranges 0x00000000000003e8 0x70 LUFA/Drivers/USB/Class/Device/RNDIS.o
+
+Cross Reference Table
+
+Symbol File
+Audio_Device_ConfigureEndpoints LUFA/Drivers/USB/Class/Device/Audio.o
+Audio_Device_ProcessControlRequest LUFA/Drivers/USB/Class/Device/Audio.o
+CALLBACK_HID_Device_CreateHIDReport LUFA/Drivers/USB/Class/Device/HID.o
+CALLBACK_HID_Device_ProcessHIDReport LUFA/Drivers/USB/Class/Device/HID.o
+CALLBACK_MS_Device_SCSICommandReceived LUFA/Drivers/USB/Class/Device/MassStorage.o
+CALLBACK_USB_GetDescriptor Descriptors.o
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+CDC_Device_BytesReceived LUFA/Drivers/USB/Class/Device/CDC.o
+CDC_Device_ConfigureEndpoints LUFA/Drivers/USB/Class/Device/CDC.o
+ VirtualSerial.o
+CDC_Device_CreateBlockingStream LUFA/Drivers/USB/Class/Device/CDC.o
+CDC_Device_CreateStream LUFA/Drivers/USB/Class/Device/CDC.o
+ VirtualSerial.o
+CDC_Device_Event_Stub LUFA/Drivers/USB/Class/Device/CDC.o
+CDC_Device_Flush LUFA/Drivers/USB/Class/Device/CDC.o
+CDC_Device_ProcessControlRequest LUFA/Drivers/USB/Class/Device/CDC.o
+ VirtualSerial.o
+CDC_Device_ReceiveByte LUFA/Drivers/USB/Class/Device/CDC.o
+ VirtualSerial.o
+CDC_Device_SendByte LUFA/Drivers/USB/Class/Device/CDC.o
+CDC_Device_SendControlLineStateChange LUFA/Drivers/USB/Class/Device/CDC.o
+CDC_Device_SendString LUFA/Drivers/USB/Class/Device/CDC.o
+CDC_Device_USBTask LUFA/Drivers/USB/Class/Device/CDC.o
+ VirtualSerial.o
+CheckACMStatus VirtualSerial.o
+CheckPinStatus VirtualSerial.o
+ConfigurationDescriptor Descriptors.o
+DeviceDescriptor Descriptors.o
+EVENT_CDC_Device_BreakSent LUFA/Drivers/USB/Class/Device/CDC.o
+EVENT_CDC_Device_ControLineStateChanged LUFA/Drivers/USB/Class/Device/CDC.o
+EVENT_CDC_Device_LineEncodingChanged LUFA/Drivers/USB/Class/Device/CDC.o
+EVENT_USB_Device_ConfigurationChanged VirtualSerial.o
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+EVENT_USB_Device_Connect VirtualSerial.o
+ LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+EVENT_USB_Device_ControlRequest VirtualSerial.o
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+EVENT_USB_Device_Disconnect VirtualSerial.o
+ LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+EVENT_USB_Device_Reset LUFA/Drivers/USB/HighLevel/Events.o
+ LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+EVENT_USB_Device_StartOfFrame LUFA/Drivers/USB/HighLevel/Events.o
+ LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+EVENT_USB_Device_Suspend LUFA/Drivers/USB/HighLevel/Events.o
+EVENT_USB_Device_WakeUp LUFA/Drivers/USB/HighLevel/Events.o
+Endpoint_ClearEndpoints LUFA/Drivers/USB/LowLevel/Endpoint.o
+Endpoint_ClearStatusStage LUFA/Drivers/USB/LowLevel/Endpoint.o
+ LUFA/Drivers/USB/Class/Device/MassStorage.o
+ LUFA/Drivers/USB/Class/Device/HID.o
+ LUFA/Drivers/USB/Class/Device/CDC.o
+ LUFA/Drivers/USB/Class/Device/Audio.o
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+Endpoint_ConfigureEndpoint_Prv LUFA/Drivers/USB/LowLevel/Endpoint.o
+ LUFA/Drivers/USB/Class/Device/RNDIS.o
+ LUFA/Drivers/USB/Class/Device/MIDI.o
+ LUFA/Drivers/USB/Class/Device/MassStorage.o
+ LUFA/Drivers/USB/Class/Device/HID.o
+ LUFA/Drivers/USB/Class/Device/CDC.o
+ LUFA/Drivers/USB/Class/Device/Audio.o
+ LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ LUFA/Drivers/USB/LowLevel/USBController.o
+Endpoint_Discard_Stream LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Read_Control_EStream_BE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Read_Control_EStream_LE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Read_Control_Stream_BE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Read_Control_Stream_LE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ LUFA/Drivers/USB/Class/Device/RNDIS.o
+ LUFA/Drivers/USB/Class/Device/HID.o
+ LUFA/Drivers/USB/Class/Device/CDC.o
+Endpoint_Read_EStream_BE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Read_EStream_LE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Read_Stream_BE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Read_Stream_LE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ LUFA/Drivers/USB/Class/Device/RNDIS.o
+ LUFA/Drivers/USB/Class/Device/MIDI.o
+ LUFA/Drivers/USB/Class/Device/MassStorage.o
+Endpoint_WaitUntilReady LUFA/Drivers/USB/LowLevel/Endpoint.o
+ LUFA/Drivers/USB/Class/Device/MIDI.o
+ LUFA/Drivers/USB/Class/Device/CDC.o
+ LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Write_Control_EStream_BE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Write_Control_EStream_LE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Write_Control_PStream_BE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Write_Control_PStream_LE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+Endpoint_Write_Control_Stream_BE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Write_Control_Stream_LE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ LUFA/Drivers/USB/Class/Device/RNDIS.o
+ LUFA/Drivers/USB/Class/Device/HID.o
+ LUFA/Drivers/USB/Class/Device/CDC.o
+Endpoint_Write_EStream_BE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Write_EStream_LE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Write_PStream_BE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Write_PStream_LE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Write_Stream_BE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+Endpoint_Write_Stream_LE LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ LUFA/Drivers/USB/Class/Device/RNDIS.o
+ LUFA/Drivers/USB/Class/Device/MIDI.o
+ LUFA/Drivers/USB/Class/Device/MassStorage.o
+ LUFA/Drivers/USB/Class/Device/HID.o
+ LUFA/Drivers/USB/Class/Device/CDC.o
+HID_Device_ConfigureEndpoints LUFA/Drivers/USB/Class/Device/HID.o
+HID_Device_ProcessControlRequest LUFA/Drivers/USB/Class/Device/HID.o
+HID_Device_USBTask LUFA/Drivers/USB/Class/Device/HID.o
+LanguageString Descriptors.o
+MIDI_Device_ConfigureEndpoints LUFA/Drivers/USB/Class/Device/MIDI.o
+MIDI_Device_Flush LUFA/Drivers/USB/Class/Device/MIDI.o
+MIDI_Device_ReceiveEventPacket LUFA/Drivers/USB/Class/Device/MIDI.o
+MIDI_Device_SendEventPacket LUFA/Drivers/USB/Class/Device/MIDI.o
+MIDI_Device_USBTask LUFA/Drivers/USB/Class/Device/MIDI.o
+MS_Device_ConfigureEndpoints LUFA/Drivers/USB/Class/Device/MassStorage.o
+MS_Device_ProcessControlRequest LUFA/Drivers/USB/Class/Device/MassStorage.o
+MS_Device_USBTask LUFA/Drivers/USB/Class/Device/MassStorage.o
+ManufacturerString Descriptors.o
+ProductString Descriptors.o
+RNDIS_Device_ConfigureEndpoints LUFA/Drivers/USB/Class/Device/RNDIS.o
+RNDIS_Device_ProcessControlRequest LUFA/Drivers/USB/Class/Device/RNDIS.o
+RNDIS_Device_USBTask LUFA/Drivers/USB/Class/Device/RNDIS.o
+SetupHardware VirtualSerial.o
+USB_ConfigurationNumber LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ LUFA/Drivers/USB/LowLevel/USBController.o
+USB_ControlRequest LUFA/Drivers/USB/Class/Device/RNDIS.o
+ LUFA/Drivers/USB/Class/Device/MassStorage.o
+ LUFA/Drivers/USB/Class/Device/HID.o
+ LUFA/Drivers/USB/Class/Device/CDC.o
+ LUFA/Drivers/USB/Class/Device/Audio.o
+ LUFA/Drivers/USB/HighLevel/USBTask.o
+ LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ LUFA/Drivers/USB/LowLevel/Endpoint.o
+USB_CurrentlySelfPowered LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ LUFA/Drivers/USB/LowLevel/USBController.o
+USB_DeviceState LUFA/Drivers/USB/Class/Device/RNDIS.o
+ LUFA/Drivers/USB/Class/Device/MIDI.o
+ LUFA/Drivers/USB/Class/Device/MassStorage.o
+ LUFA/Drivers/USB/Class/Device/HID.o
+ LUFA/Drivers/USB/Class/Device/CDC.o
+ LUFA/Drivers/USB/HighLevel/USBTask.o
+ LUFA/Drivers/USB/HighLevel/EndpointStream.o
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ LUFA/Drivers/USB/LowLevel/USBController.o
+ LUFA/Drivers/USB/LowLevel/Endpoint.o
+USB_Device_ProcessControlRequest LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ LUFA/Drivers/USB/HighLevel/USBTask.o
+USB_Device_SendRemoteWakeup LUFA/Drivers/USB/LowLevel/Device.o
+USB_Event_Stub LUFA/Drivers/USB/HighLevel/Events.o
+USB_GetNextDescriptorComp LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+USB_GetNextDescriptorOfType LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+USB_GetNextDescriptorOfTypeAfter LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+USB_GetNextDescriptorOfTypeBefore LUFA/Drivers/USB/HighLevel/ConfigDescriptor.o
+USB_INT_ClearAllInterrupts LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ LUFA/Drivers/USB/LowLevel/USBController.o
+USB_INT_DisableAllInterrupts LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ LUFA/Drivers/USB/LowLevel/USBController.o
+USB_Init LUFA/Drivers/USB/LowLevel/USBController.o
+ VirtualSerial.o
+USB_IsInitialized LUFA/Drivers/USB/HighLevel/USBTask.o
+ LUFA/Drivers/USB/LowLevel/USBController.o
+USB_RemoteWakeupEnabled LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ LUFA/Drivers/USB/LowLevel/USBController.o
+USB_ResetInterface LUFA/Drivers/USB/LowLevel/USBController.o
+USB_ShutDown LUFA/Drivers/USB/LowLevel/USBController.o
+USB_USBTask LUFA/Drivers/USB/HighLevel/USBTask.o
+ LUFA/Drivers/USB/Class/Device/MassStorage.o
+ LUFA/Drivers/USB/Class/Device/CDC.o
+ VirtualSerial.o
+VirtualSerial_CDC_Interface VirtualSerial.o
+__bad_interrupt /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__bss_end /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_clear_bss.o)
+__bss_start /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_clear_bss.o)
+__data_end /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_copy_data.o)
+__data_load_start /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_copy_data.o)
+__data_start /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_copy_data.o)
+__do_clear_bss /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_clear_bss.o)
+ LUFA/Drivers/USB/Class/Device/MassStorage.o
+ LUFA/Drivers/USB/HighLevel/USBTask.o
+ LUFA/Drivers/USB/HighLevel/DeviceStandardReq.o
+ VirtualSerial.o
+__do_copy_data /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_copy_data.o)
+ LUFA/Drivers/USB/Class/Device/RNDIS.o
+ LUFA/Drivers/USB/Class/Device/CDC.o
+ VirtualSerial.o
+__eerd_byte_usb162 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(eerd_byte_at90usb162.o)
+ LUFA/Drivers/USB/HighLevel/EndpointStream.o
+__eeupd_byte_usb162 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(eeupd_byte_at90usb162.o)
+ LUFA/Drivers/USB/HighLevel/EndpointStream.o
+__eeupd_r18_usb162 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(eeupd_byte_at90usb162.o)
+__epilogue_restores__ /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_epilogue.o)
+ /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputs.o)
+__heap_end /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__init /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__stack /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_1 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_10 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_11 LUFA/Drivers/USB/LowLevel/USBInterrupt.o
+ /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_12 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_13 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_14 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_15 VirtualSerial.o
+ /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_16 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_17 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_18 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_19 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_2 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_20 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_21 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_22 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_23 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_24 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_25 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_26 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_27 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_28 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_3 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_4 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_5 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_6 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_7 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_8 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_9 /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vector_default /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+__vectors /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+_exit /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_exit.o)
+exit /usr/lib/gcc/avr/4.3.5/avr35/libgcc.a(_exit.o)
+ /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+fputc /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputc.o)
+ VirtualSerial.o
+fputs /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(fputs.o)
+ VirtualSerial.o
+handle_command VirtualSerial.o
+lock_timer_reset VirtualSerial.o
+lock_timer_setup VirtualSerial.o
+main VirtualSerial.o
+ /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/crtusb162.o
+memcmp /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcmp.o)
+ LUFA/Drivers/USB/Class/Device/HID.o
+memcpy /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcpy.o)
+ LUFA/Drivers/USB/Class/Device/RNDIS.o
+ LUFA/Drivers/USB/Class/Device/HID.o
+memcpy_P /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memcpy_P.o)
+ LUFA/Drivers/USB/Class/Device/RNDIS.o
+memset /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(memset.o)
+ LUFA/Drivers/USB/Class/Device/HID.o
+strcmp /usr/lib/gcc/avr/4.3.5/../../../avr/lib/avr35/libc.a(strcmp.o)
+ VirtualSerial.o
diff --git a/firmware/VirtualSerial.o b/firmware/VirtualSerial.o
new file mode 100644
index 0000000..cbc639f
--- /dev/null
+++ b/firmware/VirtualSerial.o
Binary files differ
diff --git a/firmware/VirtualSerial.sym b/firmware/VirtualSerial.sym
new file mode 100644
index 0000000..0abe078
--- /dev/null
+++ b/firmware/VirtualSerial.sym
@@ -0,0 +1,311 @@
+ U CALLBACK_HID_Device_CreateHIDReport
+ U CALLBACK_HID_Device_ProcessHIDReport
+ U CALLBACK_MS_Device_SCSICommandReceived
+00000000 W __heap_end
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 a __tmp_reg__
+00000000 W __vector_default
+00000000 T __vectors
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000001 a __zero_reg__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+00000034 a __CCP__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003d a __SP_L__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003e a __SP_H__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+0000003f a __SREG__
+00000074 T DeviceDescriptor
+00000086 T ConfigurationDescriptor
+000000c4 T LanguageString
+000000c8 T ManufacturerString
+000000de T ProductString
+00000104 T __ctors_end
+00000104 T __ctors_start
+00000104 T __dtors_end
+00000104 T __dtors_start
+00000104 W __init
+00000104 T __trampolines_end
+00000104 T __trampolines_start
+00000110 T __do_copy_data
+0000011c t .do_copy_data_loop
+00000120 t .do_copy_data_start
+00000126 T __do_clear_bss
+0000012e t .do_clear_bss_loop
+00000130 t .do_clear_bss_start
+0000013a T __bad_interrupt
+0000013a W __vector_1
+0000013a W __vector_10
+0000013a W __vector_12
+0000013a W __vector_13
+0000013a W __vector_14
+0000013a W __vector_16
+0000013a W __vector_17
+0000013a W __vector_18
+0000013a W __vector_19
+0000013a W __vector_2
+0000013a W __vector_20
+0000013a W __vector_21
+0000013a W __vector_22
+0000013a W __vector_23
+0000013a W __vector_24
+0000013a W __vector_25
+0000013a W __vector_26
+0000013a W __vector_27
+0000013a W __vector_28
+0000013a W __vector_3
+0000013a W __vector_4
+0000013a W __vector_5
+0000013a W __vector_6
+0000013a W __vector_7
+0000013a W __vector_8
+0000013a W __vector_9
+0000013c T lock_timer_setup
+0000015a T lock_timer_reset
+00000160 T EVENT_USB_Device_Connect
+00000162 T EVENT_USB_Device_Disconnect
+00000164 T __vector_15
+000001a0 T EVENT_USB_Device_ControlRequest
+000001a6 T EVENT_USB_Device_ConfigurationChanged
+000001ac T SetupHardware
+000001dc T handle_command
+000002a4 T CheckACMStatus
+000002ff W __stack
+0000030e T main
+00000376 T CALLBACK_USB_GetDescriptor
+000003d2 T Endpoint_ConfigureEndpoint_Prv
+000003f8 T Endpoint_ClearStatusStage
+0000043a T Endpoint_WaitUntilReady
+0000049e T USB_ResetInterface
+00000510 T USB_Init
+00000522 T USB_INT_DisableAllInterrupts
+00000528 T USB_INT_ClearAllInterrupts
+0000052e T __vector_11
+0000067e T USB_Device_ProcessControlRequest
+000008d6 W EVENT_USB_Device_Reset
+000008d6 W EVENT_USB_Device_StartOfFrame
+000008d6 W EVENT_USB_Device_Suspend
+000008d6 W EVENT_USB_Device_WakeUp
+000008d6 T USB_Event_Stub
+000008d8 T Endpoint_Write_Control_Stream_LE
+00000994 T Endpoint_Write_Control_PStream_LE
+00000a52 T Endpoint_Read_Control_Stream_LE
+00000ad0 T USB_USBTask
+00000af6 T CDC_Device_Event_Stub
+00000af6 W EVENT_CDC_Device_BreakSent
+00000af6 W EVENT_CDC_Device_ControLineStateChanged
+00000af6 W EVENT_CDC_Device_LineEncodingChanged
+00000af8 T CDC_Device_ReceiveByte
+00000b52 T CDC_Device_CreateStream
+00000b78 t CDC_Device_getchar
+00000b8e T CDC_Device_Flush
+00000be6 T CDC_Device_USBTask
+00000c06 T CDC_Device_SendByte
+00000c50 t CDC_Device_putchar
+00000c6e T CDC_Device_ConfigureEndpoints
+00000d00 T CDC_Device_ProcessControlRequest
+00000dda T strcmp
+00000dec T fputc
+00000e44 T fputs
+00000e94 T __epilogue_restores__
+00000eca T _exit
+00000eca W exit
+00000ecc t __stop_program
+00000ece A __data_load_start
+00000ece T _etext
+00000fa6 A __data_load_end
+00800100 D __data_start
+008001c0 D VirtualSerial_CDC_Interface
+008001d6 d running
+008001d8 b ActionSent.3565
+008001d8 B __bss_start
+008001d8 D __data_end
+008001d8 D _edata
+008001d9 b len.3545
+008001da b buf.3544
+008001fa b USBSerialStream
+00800208 b lock_timer_ticks
+00800209 B USB_CurrentlySelfPowered
+0080020a B USB_RemoteWakeupEnabled
+0080020b B USB_ConfigurationNumber
+0080020c B USB_IsInitialized
+0080020d B USB_DeviceState
+0080020e B USB_ControlRequest
+00800216 B __bss_end
+00800216 N _end
+00810000 N __eeprom_end
diff --git a/firmware/VirtualSerial.txt b/firmware/VirtualSerial.txt
new file mode 100644
index 0000000..af8b6c7
--- /dev/null
+++ b/firmware/VirtualSerial.txt
@@ -0,0 +1,73 @@
+/** \file
+ *
+ * This file contains special DoxyGen information for the generation of the main page and other special
+ * documentation pages. It is not a project source file.
+ */
+
+/** \mainpage Communications Device Class (Virtual Serial Port) Demo
+ *
+ * \section SSec_Compat Demo Compatibility:
+ *
+ * The following list indicates what microcontrollers are compatible with this demo.
+ *
+ * - Series 7 USB AVRs (AT90USBxxx7)
+ * - Series 6 USB AVRs (AT90USBxxx6)
+ * - Series 4 USB AVRs (ATMEGAxxU4)
+ * - Series 2 USB AVRs (AT90USBxx2, ATMEGAxxU2)
+ *
+ * \section SSec_Info USB Information:
+ *
+ * The following table gives a rundown of the USB utilization of this demo.
+ *
+ * <table>
+ * <tr>
+ * <td><b>USB Mode:</b></td>
+ * <td>Device</td>
+ * </tr>
+ * <tr>
+ * <td><b>USB Class:</b></td>
+ * <td>Communications Device Class (CDC)</td>
+ * </tr>
+ * <tr>
+ * <td><b>USB Subclass:</b></td>
+ * <td>Abstract Control Model (ACM)</td>
+ * </tr>
+ * <tr>
+ * <td><b>Relevant Standards:</b></td>
+ * <td>USBIF CDC Class Standard</td>
+ * </tr>
+ * <tr>
+ * <td><b>Usable Speeds:</b></td>
+ * <td>Full Speed Mode</td>
+ * </tr>
+ * </table>
+ *
+ * \section SSec_Description Project Description:
+ *
+ * Communications Device Class demonstration application.
+ * This gives a simple reference application for implementing
+ * a CDC device acting as a virtual serial port. Joystick
+ * actions are transmitted to the host as strings. The device
+ * does not respond to serial data sent from the host.
+ *
+ * After running this demo for the first time on a new computer,
+ * you will need to supply the .INF file located in this demo
+ * project's directory as the device's driver when running under
+ * Windows. This will enable Windows to use its inbuilt CDC drivers,
+ * negating the need for custom drivers for the device. Other
+ * Operating Systems should automatically use their own inbuilt
+ * CDC-ACM drivers.
+ *
+ * \section SSec_Options Project Options
+ *
+ * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.
+ *
+ * <table>
+ * <tr>
+ * <td>
+ * None
+ * </td>
+ * </tr>
+ * </table>
+ */
+
diff --git a/firmware/cmd.txt b/firmware/cmd.txt
new file mode 100644
index 0000000..b4c99da
--- /dev/null
+++ b/firmware/cmd.txt
@@ -0,0 +1 @@
+reboot
diff --git a/firmware/makefile b/firmware/makefile
new file mode 100644
index 0000000..e31866c
--- /dev/null
+++ b/firmware/makefile
@@ -0,0 +1,718 @@
+# Hey Emacs, this is a -*- makefile -*-
+#----------------------------------------------------------------------------
+# WinAVR Makefile Template written by Eric B. Weddington, Jörg Wunsch, et al.
+# >> Modified for use with the LUFA project. <<
+#
+# Released to the Public Domain
+#
+# Additional material for this makefile was written by:
+# Peter Fleury
+# Tim Henigan
+# Colin O'Flynn
+# Reiner Patommel
+# Markus Pfaff
+# Sander Pool
+# Frederik Rouleau
+# Carlos Lamas
+# Dean Camera
+# Opendous Inc.
+# Denver Gingerich
+#
+#----------------------------------------------------------------------------
+# On command line:
+#
+# make all = Make software.
+#
+# make clean = Clean out built project files.
+#
+# make coff = Convert ELF to AVR COFF.
+#
+# make extcoff = Convert ELF to AVR Extended COFF.
+#
+# make program = Download the hex file to the device, using avrdude.
+# Please customize the avrdude settings below first!
+#
+# make dfu = Download the hex file to the device, using dfu-programmer (must
+# have dfu-programmer installed).
+#
+# make flip = Download the hex file to the device, using Atmel FLIP (must
+# have Atmel FLIP installed).
+#
+# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
+# (must have dfu-programmer installed).
+#
+# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
+# (must have Atmel FLIP installed).
+#
+# make doxygen = Generate DoxyGen documentation for the project (must have
+# DoxyGen installed)
+#
+# make debug = Start either simulavr or avarice as specified for debugging,
+# with avr-gdb or avr-insight as the front end for debugging.
+#
+# make filename.s = Just compile filename.c into the assembler code only.
+#
+# make filename.i = Create a preprocessed source file for use in submitting
+# bug reports to the GCC project.
+#
+# To rebuild project do "make clean" then "make all".
+#----------------------------------------------------------------------------
+
+
+# MCU name
+MCU = at90usb162
+
+
+# Target board (see library "Board Types" documentation, NONE for projects not requiring
+# LUFA board drivers). If USER is selected, put custom board drivers in a directory called
+# "Board" inside the application directory.
+BOARD = USER
+
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_CLOCK below, as it is sourced by
+# F_CLOCK after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+
+# Input clock frequency.
+# This will define a symbol, F_CLOCK, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_CLOCK = $(F_CPU)
+
+
+# Output format. (can be srec, ihex, binary)
+FORMAT = ihex
+
+
+# Target file name (without extension).
+TARGET = VirtualSerial
+
+
+# Object files directory
+# To put object files in current directory, use a dot (.), do NOT make
+# this an empty or blank macro!
+OBJDIR = .
+
+
+# Path to the LUFA library
+LUFA_PATH = .
+
+
+# LUFA library compile-time options and predefined tokens
+LUFA_OPTS = -D USB_DEVICE_ONLY
+LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
+LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
+LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
+LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
+
+
+# Create the LUFA source path variables by including the LUFA root makefile
+include $(LUFA_PATH)/LUFA/makefile
+
+
+# List C source files here. (C dependencies are automatically generated.)
+SRC = $(TARGET).c \
+ Descriptors.c \
+ $(LUFA_SRC_USB) \
+ $(LUFA_SRC_USBCLASS)
+
+
+# List C++ source files here. (C dependencies are automatically generated.)
+CPPSRC =
+
+
+# List Assembler source files here.
+# Make them always end in a capital .S. Files ending in a lowercase .s
+# will not be considered source files but generated files (assembler
+# output from the compiler), and will be deleted upon "make clean"!
+# Even though the DOS/Win* filesystem matches both .s and .S the same,
+# it will preserve the spelling of the filenames, and gcc itself does
+# care about how the name is spelled on its command-line.
+ASRC =
+
+
+# Optimization level, can be [0, 1, 2, 3, s].
+# 0 = turn off optimization. s = optimize for size.
+# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
+OPT = s
+
+
+# Debugging format.
+# Native formats for AVR-GCC's -g are dwarf-2 [default] or stabs.
+# AVR Studio 4.10 requires dwarf-2.
+# AVR [Extended] COFF format requires stabs, plus an avr-objcopy run.
+DEBUG = dwarf-2
+
+
+# List any extra directories to look for include files here.
+# Each directory must be seperated by a space.
+# Use forward slashes for directory separators.
+# For a directory that has spaces, enclose it in quotes.
+EXTRAINCDIRS = $(LUFA_PATH)/
+
+
+# Compiler flag to set the C Standard level.
+# c89 = "ANSI" C
+# gnu89 = c89 plus GCC extensions
+# c99 = ISO C99 standard (not yet fully implemented)
+# gnu99 = c99 plus GCC extensions
+CSTANDARD = -std=c99
+
+
+# Place -D or -U options here for C sources
+CDEFS = -DF_CPU=$(F_CPU)UL
+CDEFS += -DF_CLOCK=$(F_CLOCK)UL
+CDEFS += -DBOARD=BOARD_$(BOARD)
+CDEFS += $(LUFA_OPTS)
+
+
+# Place -D or -U options here for ASM sources
+ADEFS = -DF_CPU=$(F_CPU)
+ADEFS += -DF_CLOCK=$(F_CLOCK)UL
+ADEFS += -DBOARD=BOARD_$(BOARD)
+ADEFS += $(LUFA_OPTS)
+
+# Place -D or -U options here for C++ sources
+CPPDEFS = -DF_CPU=$(F_CPU)UL
+CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
+CPPDEFS += -DBOARD=BOARD_$(BOARD)
+CPPDEFS += $(LUFA_OPTS)
+#CPPDEFS += -D__STDC_LIMIT_MACROS
+#CPPDEFS += -D__STDC_CONSTANT_MACROS
+
+
+
+#---------------- Compiler Options C ----------------
+# -g*: generate debugging information
+# -O*: optimization level
+# -f...: tuning, see GCC manual and avr-libc documentation
+# -Wall...: warning level
+# -Wa,...: tell GCC to pass this to the assembler.
+# -adhlns...: create assembler listing
+CFLAGS = -g$(DEBUG)
+CFLAGS += $(CDEFS)
+CFLAGS += -O$(OPT)
+CFLAGS += -funsigned-char
+CFLAGS += -funsigned-bitfields
+CFLAGS += -ffunction-sections
+CFLAGS += -fno-inline-small-functions
+CFLAGS += -fpack-struct
+CFLAGS += -fshort-enums
+CFLAGS += -fno-strict-aliasing
+CFLAGS += -Wall
+CFLAGS += -Wstrict-prototypes
+#CFLAGS += -mshort-calls
+#CFLAGS += -fno-unit-at-a-time
+#CFLAGS += -Wundef
+#CFLAGS += -Wunreachable-code
+#CFLAGS += -Wsign-compare
+CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
+CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
+CFLAGS += $(CSTANDARD)
+
+
+#---------------- Compiler Options C++ ----------------
+# -g*: generate debugging information
+# -O*: optimization level
+# -f...: tuning, see GCC manual and avr-libc documentation
+# -Wall...: warning level
+# -Wa,...: tell GCC to pass this to the assembler.
+# -adhlns...: create assembler listing
+CPPFLAGS = -g$(DEBUG)
+CPPFLAGS += $(CPPDEFS)
+CPPFLAGS += -O$(OPT)
+CPPFLAGS += -funsigned-char
+CPPFLAGS += -funsigned-bitfields
+CPPFLAGS += -fpack-struct
+CPPFLAGS += -fshort-enums
+CPPFLAGS += -fno-exceptions
+CPPFLAGS += -Wall
+CPPFLAGS += -Wundef
+#CPPFLAGS += -mshort-calls
+#CPPFLAGS += -fno-unit-at-a-time
+#CPPFLAGS += -Wstrict-prototypes
+#CPPFLAGS += -Wunreachable-code
+#CPPFLAGS += -Wsign-compare
+CPPFLAGS += -Wa,-adhlns=$(<:%.cpp=$(OBJDIR)/%.lst)
+CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
+#CPPFLAGS += $(CSTANDARD)
+
+
+#---------------- Assembler Options ----------------
+# -Wa,...: tell GCC to pass this to the assembler.
+# -adhlns: create listing
+# -gstabs: have the assembler create line number information; note that
+# for use in COFF files, additional information about filenames
+# and function names needs to be present in the assembler source
+# files -- see avr-libc docs [FIXME: not yet described there]
+# -listing-cont-lines: Sets the maximum number of continuation lines of hex
+# dump that will be displayed for a given single line of source input.
+ASFLAGS = $(ADEFS) -Wa,-adhlns=$(<:%.S=$(OBJDIR)/%.lst),-gstabs,--listing-cont-lines=100
+
+
+#---------------- Library Options ----------------
+# Minimalistic printf version
+PRINTF_LIB_MIN = -Wl,-u,vfprintf -lprintf_min
+
+# Floating point printf version (requires MATH_LIB = -lm below)
+PRINTF_LIB_FLOAT = -Wl,-u,vfprintf -lprintf_flt
+
+# If this is left blank, then it will use the Standard printf version.
+PRINTF_LIB =
+#PRINTF_LIB = $(PRINTF_LIB_MIN)
+#PRINTF_LIB = $(PRINTF_LIB_FLOAT)
+
+
+# Minimalistic scanf version
+SCANF_LIB_MIN = -Wl,-u,vfscanf -lscanf_min
+
+# Floating point + %[ scanf version (requires MATH_LIB = -lm below)
+SCANF_LIB_FLOAT = -Wl,-u,vfscanf -lscanf_flt
+
+# If this is left blank, then it will use the Standard scanf version.
+SCANF_LIB =
+#SCANF_LIB = $(SCANF_LIB_MIN)
+#SCANF_LIB = $(SCANF_LIB_FLOAT)
+
+
+MATH_LIB = -lm
+
+
+# List any extra directories to look for libraries here.
+# Each directory must be seperated by a space.
+# Use forward slashes for directory separators.
+# For a directory that has spaces, enclose it in quotes.
+EXTRALIBDIRS =
+
+
+
+#---------------- External Memory Options ----------------
+
+# 64 KB of external RAM, starting after internal RAM (ATmega128!),
+# used for variables (.data/.bss) and heap (malloc()).
+#EXTMEMOPTS = -Wl,-Tdata=0x801100,--defsym=__heap_end=0x80ffff
+
+# 64 KB of external RAM, starting after internal RAM (ATmega128!),
+# only used for heap (malloc()).
+#EXTMEMOPTS = -Wl,--section-start,.data=0x801100,--defsym=__heap_end=0x80ffff
+
+EXTMEMOPTS =
+
+
+
+#---------------- Linker Options ----------------
+# -Wl,...: tell GCC to pass this to linker.
+# -Map: create map file
+# --cref: add cross reference to map file
+LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
+LDFLAGS += -Wl,--relax
+LDFLAGS += -Wl,--gc-sections
+LDFLAGS += $(EXTMEMOPTS)
+LDFLAGS += $(patsubst %,-L%,$(EXTRALIBDIRS))
+LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
+#LDFLAGS += -T linker_script.x
+
+
+
+#---------------- Programming Options (avrdude) ----------------
+
+# Programming hardware
+# Type: avrdude -c ?
+# to get a full listing.
+#
+AVRDUDE_PROGRAMMER = jtag2dw
+
+# com1 = serial port. Use lpt1 to connect to parallel port.
+AVRDUDE_PORT = usb
+
+AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
+#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
+
+
+# Uncomment the following if you want avrdude's erase cycle counter.
+# Note that this counter needs to be initialized first using -Yn,
+# see avrdude manual.
+#AVRDUDE_ERASE_COUNTER = -y
+
+# Uncomment the following if you do /not/ wish a verification to be
+# performed after programming the device.
+#AVRDUDE_NO_VERIFY = -V
+
+# Increase verbosity level. Please use this when submitting bug
+# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
+# to submit bug reports.
+#AVRDUDE_VERBOSE = -v -v
+
+AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
+AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
+AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
+AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)
+
+
+
+#---------------- Debugging Options ----------------
+
+# For simulavr only - target MCU frequency.
+DEBUG_MFREQ = $(F_CPU)
+
+# Set the DEBUG_UI to either gdb or insight.
+# DEBUG_UI = gdb
+DEBUG_UI = insight
+
+# Set the debugging back-end to either avarice, simulavr.
+DEBUG_BACKEND = avarice
+#DEBUG_BACKEND = simulavr
+
+# GDB Init Filename.
+GDBINIT_FILE = __avr_gdbinit
+
+# When using avarice settings for the JTAG
+JTAG_DEV = /dev/com1
+
+# Debugging port used to communicate between GDB / avarice / simulavr.
+DEBUG_PORT = 4242
+
+# Debugging host used to communicate between GDB / avarice / simulavr, normally
+# just set to localhost unless doing some sort of crazy debugging when
+# avarice is running on a different computer.
+DEBUG_HOST = localhost
+
+
+
+#============================================================================
+
+
+# Define programs and commands.
+SHELL = sh
+CC = avr-gcc
+OBJCOPY = avr-objcopy
+OBJDUMP = avr-objdump
+SIZE = avr-size
+AR = avr-ar rcs
+NM = avr-nm
+AVRDUDE = ~gus/src/upstream/avrdude/avrdude/avrdude
+REMOVE = rm -f
+REMOVEDIR = rm -rf
+COPY = cp
+WINSHELL = cmd
+
+
+# Define Messages
+# English
+MSG_ERRORS_NONE = Errors: none
+MSG_BEGIN = -------- begin --------
+MSG_END = -------- end --------
+MSG_SIZE_BEFORE = Size before:
+MSG_SIZE_AFTER = Size after:
+MSG_COFF = Converting to AVR COFF:
+MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
+MSG_FLASH = Creating load file for Flash:
+MSG_EEPROM = Creating load file for EEPROM:
+MSG_EXTENDED_LISTING = Creating Extended Listing:
+MSG_SYMBOL_TABLE = Creating Symbol Table:
+MSG_LINKING = Linking:
+MSG_COMPILING = Compiling C:
+MSG_COMPILING_CPP = Compiling C++:
+MSG_ASSEMBLING = Assembling:
+MSG_CLEANING = Cleaning project:
+MSG_CREATING_LIBRARY = Creating library:
+
+
+
+
+# Define all object files.
+OBJ = $(SRC:%.c=$(OBJDIR)/%.o) $(CPPSRC:%.cpp=$(OBJDIR)/%.o) $(ASRC:%.S=$(OBJDIR)/%.o)
+
+# Define all listing files.
+LST = $(SRC:%.c=$(OBJDIR)/%.lst) $(CPPSRC:%.cpp=$(OBJDIR)/%.lst) $(ASRC:%.S=$(OBJDIR)/%.lst)
+
+
+# Compiler flags to generate dependency files.
+GENDEPFLAGS = -MMD -MP -MF .dep/$(@F).d
+
+
+# Combine all necessary flags and optional flags.
+# Add target processor to flags.
+ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) $(GENDEPFLAGS)
+ALL_CPPFLAGS = -mmcu=$(MCU) -I. -x c++ $(CPPFLAGS) $(GENDEPFLAGS)
+ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
+
+
+
+
+
+# Default target.
+all: begin gccversion sizebefore build sizeafter end
+
+# Change the build target to build a HEX file or a library.
+build: elf hex eep lss sym
+#build: lib
+
+
+elf: $(TARGET).elf
+hex: $(TARGET).hex
+eep: $(TARGET).eep
+lss: $(TARGET).lss
+sym: $(TARGET).sym
+LIBNAME=lib$(TARGET).a
+lib: $(LIBNAME)
+
+
+
+# Eye candy.
+# AVR Studio 3.x does not check make's exit code but relies on
+# the following magic strings to be generated by the compile job.
+begin:
+ @echo
+ @echo $(MSG_BEGIN)
+
+end:
+ @echo $(MSG_END)
+ @echo
+
+
+# Display size of file.
+HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
+ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf
+MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
+FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
+
+
+sizebefore:
+ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
+ 2>/dev/null; echo; fi
+
+sizeafter:
+ @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
+ 2>/dev/null; echo; fi
+
+
+
+# Display compiler version information.
+gccversion :
+ @$(CC) --version
+
+
+# Program the device.
+program: $(TARGET).hex $(TARGET).eep
+# $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
+ #avarice -w -f VirtualSerial.hex -P at90usb162 -2 -j usb
+ avrdude -c avr109 -p usb162 -P /dev/ttyACM0 -U flash:w:VirtualSerial.hex
+
+reset:
+ avarice -P at90usb162 -2 -j usb -R
+
+flip: $(TARGET).hex
+ batchisp -hardware usb -device $(MCU) -operation erase f
+ batchisp -hardware usb -device $(MCU) -operation loadbuffer $(TARGET).hex program
+ batchisp -hardware usb -device $(MCU) -operation start reset 0
+
+dfu: $(TARGET).hex
+ dfu-programmer $(MCU) erase
+ dfu-programmer $(MCU) flash $(TARGET).hex
+ dfu-programmer $(MCU) reset
+
+flip-ee: $(TARGET).hex $(TARGET).eep
+ $(COPY) $(TARGET).eep $(TARGET)eep.hex
+ batchisp -hardware usb -device $(MCU) -operation memory EEPROM erase
+ batchisp -hardware usb -device $(MCU) -operation memory EEPROM loadbuffer $(TARGET)eep.hex program
+ batchisp -hardware usb -device $(MCU) -operation start reset 0
+ $(REMOVE) $(TARGET)eep.hex
+
+dfu-ee: $(TARGET).hex $(TARGET).eep
+ dfu-programmer $(MCU) eeprom-flash $(TARGET).eep
+ dfu-programmer $(MCU) reset
+
+
+# Generate avr-gdb config/init file which does the following:
+# define the reset signal, load the target file, connect to target, and set
+# a breakpoint at main().
+gdb-config:
+ @$(REMOVE) $(GDBINIT_FILE)
+ @echo define reset >> $(GDBINIT_FILE)
+ @echo SIGNAL SIGHUP >> $(GDBINIT_FILE)
+ @echo end >> $(GDBINIT_FILE)
+ @echo file $(TARGET).elf >> $(GDBINIT_FILE)
+ @echo target remote $(DEBUG_HOST):$(DEBUG_PORT) >> $(GDBINIT_FILE)
+ifeq ($(DEBUG_BACKEND),simulavr)
+ @echo load >> $(GDBINIT_FILE)
+endif
+ @echo break main >> $(GDBINIT_FILE)
+
+debug: gdb-config $(TARGET).elf
+ifeq ($(DEBUG_BACKEND), avarice)
+ @echo Starting AVaRICE - Press enter when "waiting to connect" message displays.
+ @$(WINSHELL) /c start avarice --jtag $(JTAG_DEV) --erase --program --file \
+ $(TARGET).elf $(DEBUG_HOST):$(DEBUG_PORT)
+ @$(WINSHELL) /c pause
+
+else
+ @$(WINSHELL) /c start simulavr --gdbserver --device $(MCU) --clock-freq \
+ $(DEBUG_MFREQ) --port $(DEBUG_PORT)
+endif
+ @$(WINSHELL) /c start avr-$(DEBUG_UI) --command=$(GDBINIT_FILE)
+
+
+
+
+# Convert ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
+COFFCONVERT = $(OBJCOPY) --debugging
+COFFCONVERT += --change-section-address .data-0x800000
+COFFCONVERT += --change-section-address .bss-0x800000
+COFFCONVERT += --change-section-address .noinit-0x800000
+COFFCONVERT += --change-section-address .eeprom-0x810000
+
+
+
+coff: $(TARGET).elf
+ @echo
+ @echo $(MSG_COFF) $(TARGET).cof
+ $(COFFCONVERT) -O coff-avr $< $(TARGET).cof
+
+
+extcoff: $(TARGET).elf
+ @echo
+ @echo $(MSG_EXTENDED_COFF) $(TARGET).cof
+ $(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof
+
+
+
+# Create final output files (.hex, .eep) from ELF output file.
+%.hex: %.elf
+ @echo
+ @echo $(MSG_FLASH) $@
+ $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
+
+%.eep: %.elf
+ @echo
+ @echo $(MSG_EEPROM) $@
+ -$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
+ --change-section-lma .eeprom=0 --no-change-warnings -O $(FORMAT) $< $@ || exit 0
+
+# Create extended listing file from ELF output file.
+%.lss: %.elf
+ @echo
+ @echo $(MSG_EXTENDED_LISTING) $@
+ $(OBJDUMP) -h -S -z $< > $@
+
+# Create a symbol table from ELF output file.
+%.sym: %.elf
+ @echo
+ @echo $(MSG_SYMBOL_TABLE) $@
+ $(NM) -n $< > $@
+
+
+
+# Create library from object files.
+.SECONDARY : $(TARGET).a
+.PRECIOUS : $(OBJ)
+%.a: $(OBJ)
+ @echo
+ @echo $(MSG_CREATING_LIBRARY) $@
+ $(AR) $@ $(OBJ)
+
+
+# Link: create ELF output file from object files.
+.SECONDARY : $(TARGET).elf
+.PRECIOUS : $(OBJ)
+%.elf: $(OBJ)
+ @echo
+ @echo $(MSG_LINKING) $@
+ $(CC) $(ALL_CFLAGS) $^ --output $@ $(LDFLAGS)
+
+
+# Compile: create object files from C source files.
+$(OBJDIR)/%.o : %.c
+ @echo
+ @echo $(MSG_COMPILING) $<
+ $(CC) -c $(ALL_CFLAGS) $< -o $@
+
+
+# Compile: create object files from C++ source files.
+$(OBJDIR)/%.o : %.cpp
+ @echo
+ @echo $(MSG_COMPILING_CPP) $<
+ $(CC) -c $(ALL_CPPFLAGS) $< -o $@
+
+
+# Compile: create assembler files from C source files.
+%.s : %.c
+ $(CC) -S $(ALL_CFLAGS) $< -o $@
+
+
+# Compile: create assembler files from C++ source files.
+%.s : %.cpp
+ $(CC) -S $(ALL_CPPFLAGS) $< -o $@
+
+
+# Assemble: create object files from assembler source files.
+$(OBJDIR)/%.o : %.S
+ @echo
+ @echo $(MSG_ASSEMBLING) $<
+ $(CC) -c $(ALL_ASFLAGS) $< -o $@
+
+
+# Create preprocessed source for use in sending a bug report.
+%.i : %.c
+ $(CC) -E -mmcu=$(MCU) -I. $(CFLAGS) $< -o $@
+
+
+# Target: clean project.
+clean: begin clean_list end
+
+clean_list :
+ @echo
+ @echo $(MSG_CLEANING)
+ $(REMOVE) $(TARGET).hex
+ $(REMOVE) $(TARGET).eep
+ $(REMOVE) $(TARGET).cof
+ $(REMOVE) $(TARGET).elf
+ $(REMOVE) $(TARGET).map
+ $(REMOVE) $(TARGET).sym
+ $(REMOVE) $(TARGET).lss
+ $(REMOVE) $(SRC:%.c=$(OBJDIR)/%.o) $(CPPSRC:%.cpp=$(OBJDIR)/%.o) $(ASRC:%.S=$(OBJDIR)/%.o)
+ $(REMOVE) $(SRC:%.c=$(OBJDIR)/%.lst) $(CPPSRC:%.cpp=$(OBJDIR)/%.lst) $(ASRC:%.S=$(OBJDIR)/%.lst)
+ $(REMOVE) $(SRC:.c=.s)
+ $(REMOVE) $(SRC:.c=.d)
+ $(REMOVE) $(SRC:.c=.i)
+ $(REMOVEDIR) .dep
+
+doxygen:
+ @echo Generating Project Documentation...
+ @doxygen Doxygen.conf
+ @echo Documentation Generation Complete.
+
+clean_doxygen:
+ rm -rf Documentation
+
+# Create object files directory
+$(shell mkdir $(OBJDIR) 2>/dev/null)
+
+
+# Include the dependency files.
+-include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)
+
+
+# Listing of phony targets.
+.PHONY : all begin finish end sizebefore sizeafter gccversion \
+build elf hex eep lss sym coff extcoff doxygen clean \
+clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
+debug gdb-config
+