aboutsummaryrefslogtreecommitdiff
path: root/hidio-help.pd
diff options
context:
space:
mode:
Diffstat (limited to 'hidio-help.pd')
-rw-r--r--hidio-help.pd589
1 files changed, 589 insertions, 0 deletions
diff --git a/hidio-help.pd b/hidio-help.pd
new file mode 100644
index 0000000..1c5bfe3
--- /dev/null
+++ b/hidio-help.pd
@@ -0,0 +1,589 @@
+#N canvas 157 38 921 595 10;
+#X floatatom 27 439 5 0 0 0 - - -;
+#X floatatom 83 439 5 0 0 0 - - -;
+#X floatatom 63 395 6 0 0 0 - - -;
+#X obj 191 164 tgl 35 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 25
+;
+#X floatatom 571 340 12 0 0 1 value - -;
+#X symbolatom 531 356 15 0 0 1 event_code - -;
+#X symbolatom 492 372 15 0 0 1 event_type - -;
+#X obj 2 2 cnv 15 900 20 empty empty [hid] 2 11 1 18 -233017 -66577
+0;
+#X text 274 332 outlet message format:;
+#X obj 772 99 ev-list;
+#X obj 772 150 ev_syn-list;
+#X obj 772 172 ev_key-list;
+#X obj 772 194 ev_rel-list;
+#X obj 772 216 ev_abs-list;
+#X obj 772 238 ev_msc-list;
+#X obj 772 260 ev_led-list;
+#X obj 772 282 ev_snd-list;
+#X obj 772 304 ev_rep-list;
+#X obj 772 326 ev_ff-list;
+#X obj 772 348 ev_ff_status-list;
+#X text 740 80 Event Types:;
+#X text 740 131 Event Codes:;
+#X floatatom 138 343 5 0 0 1 ev_syn - -;
+#X obj 111 342 +;
+#X msg 111 322 1;
+#X msg 374 140 close;
+#X msg 374 119 refresh;
+#X text 435 117 refresh device list;
+#X text 537 487 For more info:;
+#X text 266 557 released under the GNU GPL;
+#X text 472 544 $Revision: 1.1 $$Date: 2006-11-30 05:53:40 $;
+#X text 473 557 $Author: eighthave $;
+#X msg 436 201 poll 20;
+#X msg 374 201 poll 2;
+#X text 370 186 start polling and set the poll delay in ms;
+#X text 462 33 !!! This software is very much alpha \, so any aspect
+of it could change without notice !!!;
+#X obj 16 291 route key rel abs syn;
+#X obj 9 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0 1
+;
+#N canvas 278 328 631 544 Event_Codes 0;
+#X text 28 48 (For a complete listing of Linux Input Events \, see
+/usr/include/linux/input.h.);
+#X obj 11 9 cnv 15 580 30 empty empty Event_Codes 20 12 1 14 -225271
+-66577 0;
+#X text 32 118 EVENT CODE;
+#X text 162 118 #define;
+#X text 232 118 number;
+#X text 32 133 -----------------------------------;
+#X text 32 148 X Axis;
+#X text 32 163 Y Axis;
+#X text 32 178 Z Axis;
+#X text 32 193 Horizontal Wheel;
+#X text 32 208 Dial;
+#X text 32 223 Wheel;
+#X text 32 238 Misc;
+#X text 162 148 REL_X;
+#X text 162 163 REL_Y;
+#X text 162 178 REL_Z;
+#X text 162 193 REL_HWHEEL;
+#X text 162 208 REL_DIAL;
+#X text 162 223 REL_WHEEL;
+#X text 162 238 REL_MISC;
+#X text 247 148 0;
+#X text 247 163 1;
+#X text 247 178 2;
+#X text 247 193 6;
+#X text 247 208 7;
+#X text 247 223 8;
+#X text 247 238 9;
+#X text 307 118 EVENT CODE;
+#X text 457 118 #define;
+#X text 547 118 number;
+#X text 307 148 Absolute X;
+#X text 307 163 Absolute Y;
+#X text 307 178 Absolute Z;
+#X text 307 193 RX;
+#X text 307 208 RY;
+#X text 307 223 RZ;
+#X text 307 238 Throttle;
+#X text 307 253 Rudder;
+#X text 307 268 Wheel;
+#X text 307 283 Gas Pedal;
+#X text 307 298 Brake Pedal;
+#X text 307 313 Hat Switch 0 X-axis;
+#X text 307 328 Hat Switch 0 Y-axis;
+#X text 307 343 Hat Switch 1 X-axis;
+#X text 307 358 Hat Switch 1 Y-axis;
+#X text 307 373 Hat Switch 2 X-axis;
+#X text 307 388 Hat Switch 2 Y-axis;
+#X text 307 403 Hat Switch 3 X-axis;
+#X text 307 418 Hat Switch 3 Y-axis;
+#X text 307 433 Pressure;
+#X text 307 448 Distance;
+#X text 307 463 Tilt X-Axis;
+#X text 307 478 Tilt Y-Axis;
+#X text 307 493 Misc;
+#X text 457 148 ABS_X;
+#X text 457 163 ABS_Y;
+#X text 457 178 ABS_Z;
+#X text 457 193 ABS_RX;
+#X text 457 208 ABS_RY;
+#X text 457 223 ABS_RZ;
+#X text 457 238 ABS_THROTTLE;
+#X text 457 253 ABS_RUDDER;
+#X text 457 268 ABS_WHEEL;
+#X text 457 283 ABS_GAS;
+#X text 457 298 ABS_BRAKE;
+#X text 457 313 ABS_HAT0X;
+#X text 457 328 ABS_HAT0Y;
+#X text 457 343 ABS_HAT1X;
+#X text 457 358 ABS_HAT1Y;
+#X text 457 373 ABS_HAT2X;
+#X text 457 388 ABS_HAT2Y;
+#X text 457 403 ABS_HAT3X;
+#X text 457 418 ABS_HAT3Y;
+#X text 457 433 ABS_PRESSURE;
+#X text 457 448 ABS_DISTANCE;
+#X text 457 463 ABS_TILT_X;
+#X text 457 478 ABS_TILT_Y;
+#X text 457 493 ABS_MISC;
+#X text 563 148 0;
+#X text 563 163 1;
+#X text 563 178 2;
+#X text 563 193 3;
+#X text 563 208 4;
+#X text 563 223 5;
+#X text 563 238 6;
+#X text 563 253 7;
+#X text 563 268 8;
+#X text 563 283 9;
+#X text 563 298 10;
+#X text 563 313 16;
+#X text 563 328 17;
+#X text 563 343 18;
+#X text 563 358 19;
+#X text 563 373 20;
+#X text 563 388 21;
+#X text 563 403 22;
+#X text 563 418 23;
+#X text 563 433 24;
+#X text 563 448 25;
+#X text 563 463 26;
+#X text 563 478 27;
+#X text 563 493 28;
+#X obj 30 89 cnv 15 250 25 empty empty Relative_Axes 20 12 1 12 -241660
+-66577 0;
+#X obj 308 89 cnv 15 280 25 empty empty Absolute_Axes 20 12 1 12 -241660
+-66577 0;
+#X text 307 133 ----------------------------------------;
+#X text 32 285 EVENT CODE;
+#X text 138 285 #define;
+#X text 232 285 number;
+#X text 32 300 -----------------------------------;
+#X obj 30 256 cnv 15 250 25 empty empty Joystick_Buttons 20 12 1 12
+-241660 -66577 0;
+#X text 138 315 BTN_TRIGGER;
+#X text 32 315 Trigger;
+#X text 32 330 Thumb;
+#X text 32 345 Thumb 2;
+#X text 32 360 Top;
+#X text 32 375 Top 2;
+#X text 32 390 Pinkie;
+#X text 32 405 Base 1;
+#X text 138 404 BTN_BASE;
+#X text 138 330 BTN_THUMB;
+#X text 138 345 BTN_THUMB2;
+#X text 138 360 BTN_TOP;
+#X text 138 375 BTN_TOP2;
+#X text 138 390 BTN_PINKIE;
+#X text 245 315 288;
+#X text 245 330 289;
+#X text 245 345 290;
+#X text 245 360 291;
+#X text 245 375 292;
+#X text 245 390 293;
+#X text 245 405 294;
+#X text 245 419 295;
+#X text 245 434 296;
+#X text 245 448 297;
+#X text 138 418 BTN_BASE2;
+#X text 138 433 BTN_BASE3;
+#X text 138 447 BTN_BASE4;
+#X text 32 419 Base 2;
+#X text 32 434 Base 3;
+#X text 32 448 Base 4;
+#X text 32 463 Base 5;
+#X text 32 477 Base 6;
+#X text 138 462 BTN_BASE5;
+#X text 138 476 BTN_BASE6;
+#X text 245 463 298;
+#X text 245 477 299;
+#X restore 774 414 pd Event_Codes;
+#N canvas 50 289 469 317 Event_Types 0;
+#X text 28 48 (For a complete listing of Linux Input Events \, see
+/usr/include/linux/input.h.);
+#X text 61 90 EVENT TYPE;
+#X text 61 135 Keys and Buttons;
+#X text 61 150 Relative Axes;
+#X text 61 165 Absolute Axes;
+#X text 61 180 Misc Events;
+#X text 61 195 LED Event;
+#X text 61 210 Sounds;
+#X text 61 225 Autorepeat Values;
+#X text 61 240 Force Feedback;
+#X text 230 90 #define;
+#X text 230 135 EV_KEY;
+#X text 230 150 EV_REL;
+#X text 230 165 EV_ABS;
+#X text 230 180 EV_MSC;
+#X text 230 195 EV_LED;
+#X text 230 210 EV_SND;
+#X text 230 225 EV_REP;
+#X text 230 240 EV_FF;
+#X text 315 90 number;
+#X text 331 120 0;
+#X text 331 135 1;
+#X text 331 150 2;
+#X text 331 165 3;
+#X text 331 180 4;
+#X text 331 195 17;
+#X text 331 210 18;
+#X text 331 225 20;
+#X text 331 240 21;
+#X obj 11 9 cnv 15 400 30 empty empty Event_Types 20 12 1 14 -262131
+-66577 0;
+#X text 230 120 EV_SYN;
+#X text 61 270 Force Feedback Status;
+#X text 61 120 Syncronization Events;
+#X text 230 270 EV_FF_STATUS;
+#X text 331 270 23;
+#X text 61 105 -------------------------------------------;
+#X text 331 255 22;
+#X text 230 255 EV_PWR;
+#X text 61 255 Power Events (for UPS);
+#X restore 774 394 pd Event_Types;
+#N canvas 0 22 450 300 Event_Values 0;
+#X text 28 48 (For a complete listing of Linux Input Events \, see
+/usr/include/linux/input.h.);
+#X obj 11 9 cnv 15 400 30 empty empty Event_Values 20 12 1 14 -261681
+-66577 0;
+#X restore 774 434 pd Event_Values;
+#X floatatom 140 439 5 0 0 0 - - -;
+#X obj 421 394 route abs_hat0x abs_hat0y abs_hat1x abs_hat1y;
+#X floatatom 421 416 7 0 0 0 - - -;
+#X msg 374 161 print;
+#X text 437 141 close the device;
+#X text 437 162 print the device and element lists;
+#X text 9 212 Any non-zero value starts polling \,;
+#X text 8 225 0 stops the polling. If the number;
+#X text 9 238 is greater than 1 \, then the poll;
+#X text 9 251 delay is set to that number.;
+#X obj 27 419 route rel_x rel_y rel_z rel_wheel;
+#X floatatom 196 439 5 0 0 0 - - -;
+#X obj 492 321 unpack s s f;
+#X text 298 346 event_type event_code value;
+#X obj 63 374 route abs_x abs_y abs_z abs_rx abs_ry abs_rz abs_throttle
+;
+#X obj 421 432 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+-1;
+#X floatatom 498 416 7 0 0 0 - - -;
+#X obj 498 432 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X floatatom 576 416 7 0 0 0 - - -;
+#X obj 576 432 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X floatatom 653 416 7 0 0 0 - - -;
+#X obj 653 432 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X floatatom 113 395 6 0 0 0 - - -;
+#X floatatom 163 395 6 0 0 0 - - -;
+#X floatatom 213 395 6 0 0 0 - - -;
+#X floatatom 263 395 6 0 0 0 - - -;
+#X floatatom 313 395 6 0 0 0 - - -;
+#X floatatom 363 395 6 0 0 0 - - -;
+#X obj 39 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0 1
+;
+#X obj 69 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0 1
+;
+#X obj 99 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0 1
+;
+#X obj 129 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
+1;
+#X obj 159 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
+1;
+#X obj 189 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
+1;
+#X obj 219 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
+1;
+#X obj 249 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
+1;
+#X obj 279 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
+1;
+#X obj 309 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
+1;
+#X obj 339 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
+1;
+#X obj 369 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
+1;
+#X obj 399 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
+1;
+#X obj 9 460 route btn_0 btn_1 btn_2 btn_3 btn_4 btn_5 btn_6 btn_7
+btn_8 btn_9 btn_10 btn_11 btn_12 btn_13 btn_14 btn_15;
+#X obj 429 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
+1;
+#X obj 459 502 tgl 25 0 empty empty empty 0 -6 0 8 -195568 -1 -1 0
+1;
+#X obj 262 298 cyclone/prepend set;
+#X msg 25 155 debug 0;
+#X msg 298 145 info;
+#N canvas 743 25 411 235 see 0;
+#N canvas 108 318 543 264 route 0;
+#X obj 27 14 inlet;
+#X obj 72 226 outlet;
+#X obj 19 226 outlet;
+#X obj 172 226 outlet;
+#X obj 222 204 symbol;
+#X obj 222 226 outlet;
+#X obj 272 204 symbol;
+#X obj 272 226 outlet;
+#X obj 322 204 symbol;
+#X obj 322 226 outlet;
+#X obj 372 204 symbol;
+#X obj 372 226 outlet;
+#X obj 122 225 outlet;
+#X obj 422 204 symbol;
+#X obj 422 226 outlet;
+#X obj 472 204 symbol;
+#X obj 472 226 outlet;
+#X obj 26 63 route open device poll total product manufacturer transport
+type vendorID productID;
+#X connect 0 0 17 0;
+#X connect 4 0 5 0;
+#X connect 6 0 7 0;
+#X connect 8 0 9 0;
+#X connect 10 0 11 0;
+#X connect 13 0 14 0;
+#X connect 15 0 16 0;
+#X connect 17 0 2 0;
+#X connect 17 1 1 0;
+#X connect 17 2 12 0;
+#X connect 17 3 3 0;
+#X connect 17 4 4 0;
+#X connect 17 5 6 0;
+#X connect 17 6 8 0;
+#X connect 17 7 10 0;
+#X connect 17 8 13 0;
+#X connect 17 9 15 0;
+#X restore 117 70 pd route info;
+#X obj 81 96 tgl 15 0 empty empty open 0 -6 0 8 -262144 -1 -1 0 1;
+#X obj 110 22 inlet;
+#X obj 123 43 print info;
+#X symbolatom 304 93 0 0 0 0 productID - -;
+#X symbolatom 304 112 0 0 0 0 vendorID - -;
+#X symbolatom 304 151 0 0 0 0 transport - -;
+#X symbolatom 304 171 0 0 0 0 manufacturer - -;
+#X symbolatom 186 192 0 0 0 0 product - -;
+#X floatatom 97 140 5 0 0 0 device - -;
+#X floatatom 97 162 5 0 0 0 poll - -;
+#X symbolatom 304 131 0 0 0 0 type - -;
+#X floatatom 97 182 5 0 0 0 total - -;
+#X connect 0 0 1 0;
+#X connect 0 1 9 0;
+#X connect 0 2 10 0;
+#X connect 0 3 12 0;
+#X connect 0 4 8 0;
+#X connect 0 5 7 0;
+#X connect 0 6 6 0;
+#X connect 0 7 11 0;
+#X connect 0 8 5 0;
+#X connect 0 9 4 0;
+#X connect 2 0 0 0;
+#X connect 2 0 3 0;
+#X restore 420 271 pd see device info;
+#N canvas 0 22 380 450 open 0;
+#X obj 77 61 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X msg 78 81 open mouse \$1;
+#X obj 121 201 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X msg 130 221 open keyboard \$1;
+#X obj 50 13 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X obj 55 417 outlet;
+#X obj 85 108 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X msg 94 128 open joystick \$1;
+#X msg 59 33 open pointer \$1;
+#X obj 101 155 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X msg 110 175 open gamepad \$1;
+#X obj 137 244 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X msg 146 264 open keypad \$1;
+#X obj 141 291 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X msg 150 311 open multiaxiscontroller \$1;
+#X text 155 342 or just open the first one:;
+#X msg 138 363 open mouse;
+#X msg 159 381 open joystick;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 4 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 5 0;
+#X connect 8 0 5 0;
+#X connect 9 0 10 0;
+#X connect 10 0 5 0;
+#X connect 11 0 12 0;
+#X connect 12 0 5 0;
+#X connect 13 0 14 0;
+#X connect 14 0 5 0;
+#X connect 16 0 5 0;
+#X connect 17 0 5 0;
+#X restore 203 59 pd open by device type;
+#N canvas 88 102 470 320 open 0;
+#X text 217 82 Gravis/Destroyer Tiltpad;
+#X msg 76 81 open 0x047D 0x4008;
+#X msg 73 53 open 0x046d 0xc01d;
+#X text 211 53 Logitech USB-PS/2 Optical Mouse;
+#X obj 10 277 outlet;
+#X text 9 12 You can use the hex values of the USB vendor and product
+IDs (it is not case sensitive):;
+#X text 221 111 Overtone CUI v1.0;
+#X msg 80 110 open 0x1043 0x0015;
+#X connect 1 0 4 0;
+#X connect 2 0 4 0;
+#X connect 7 0 4 0;
+#X restore 174 37 pd open by vendor/product ID;
+#N canvas 114 93 467 346 test 0;
+#X obj 144 45 inlet;
+#X obj 88 104 route DESKTOP;
+#X obj 87 158 route DESKTOP57;
+#X obj 70 207 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 95 212 5 0 0 0 - - -;
+#X obj 148 215 spigot;
+#X obj 146 256 print test;
+#X obj 189 192 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 292 122 spigot;
+#X obj 290 163 print test;
+#X obj 333 99 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X connect 0 0 1 0;
+#X connect 0 0 8 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 0 4 0;
+#X connect 2 0 5 0;
+#X connect 5 0 6 0;
+#X connect 7 0 5 1;
+#X connect 8 0 9 0;
+#X connect 10 0 8 1;
+#X restore 197 303 pd test;
+#X msg 504 201 poll 200;
+#X msg 261 317 key key_leftctrl 1;
+#X text 49 543 (C) Copyright 2004 Hans-Christoph Steiner <hans@at.or.at>
+;
+#N canvas 162 133 570 420 serin 0;
+#X obj 209 61 cnv 15 15 15 empty \$0-debug-canvas 0 4 8 0 14 -233017
+-1 0;
+#X obj 60 61 hradio 15 1 1 10 empty empty empty 0 -6 0 8 -261689 -1
+-1 0;
+#X obj 60 13 inlet;
+#X msg 200 202 label \$1;
+#X obj 200 180 makefilename %d;
+#X obj 59 108 int;
+#X obj 59 337 outlet;
+#X msg 201 306 set \$1 \$2;
+#X obj 59 266 trigger bang anything;
+#X obj 201 286 list;
+#X msg 60 210 debug \$1;
+#X obj 200 225 send \$0-debug-canvas;
+#X connect 1 0 5 0;
+#X connect 2 0 1 0;
+#X connect 3 0 11 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 5 0 10 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 0;
+#X connect 8 1 9 0;
+#X connect 9 0 7 0;
+#X connect 10 0 8 0;
+#X coords 0 -1 1 1 165 17 1 60 60;
+#X restore 25 134 pd serin;
+#X msg 262 114 open 1;
+#N canvas 162 133 570 420 serin 0;
+#X obj 209 61 cnv 15 15 15 empty \$0-open-canvas 1 4 8 0 14 -233017
+-1 0;
+#X obj 60 61 hradio 15 1 1 10 empty empty empty 0 -6 0 8 -225271 -1
+-1 1;
+#X obj 60 13 inlet;
+#X msg 200 202 label \$1;
+#X obj 200 180 makefilename %d;
+#X obj 59 108 int;
+#X obj 59 337 outlet;
+#X msg 201 306 set \$1 \$2;
+#X obj 59 266 trigger bang anything;
+#X obj 201 286 list;
+#X msg 60 210 open \$1;
+#X obj 200 225 send \$0-open-canvas;
+#X connect 1 0 5 0;
+#X connect 2 0 1 0;
+#X connect 3 0 11 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 5 0 10 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 0;
+#X connect 8 1 9 0;
+#X connect 9 0 7 0;
+#X connect 10 0 8 0;
+#X coords 0 -1 1 1 165 17 1 60 60;
+#X restore 262 93 pd serin;
+#X obj 646 486 pddp/open all_about_hid;
+#X obj 304 250 hidio;
+#X connect 3 0 99 0;
+#X connect 22 0 23 1;
+#X connect 23 0 22 0;
+#X connect 24 0 23 0;
+#X connect 25 0 99 0;
+#X connect 26 0 99 0;
+#X connect 32 0 99 0;
+#X connect 33 0 99 0;
+#X connect 36 0 82 0;
+#X connect 36 1 51 0;
+#X connect 36 2 55 0;
+#X connect 36 3 24 0;
+#X connect 42 0 43 0;
+#X connect 42 1 57 0;
+#X connect 42 2 59 0;
+#X connect 42 3 61 0;
+#X connect 43 0 56 0;
+#X connect 44 0 99 0;
+#X connect 51 0 0 0;
+#X connect 51 1 1 0;
+#X connect 51 2 41 0;
+#X connect 51 3 52 0;
+#X connect 53 0 6 0;
+#X connect 53 1 5 0;
+#X connect 53 2 4 0;
+#X connect 55 0 2 0;
+#X connect 55 1 63 0;
+#X connect 55 2 64 0;
+#X connect 55 3 65 0;
+#X connect 55 4 66 0;
+#X connect 55 5 67 0;
+#X connect 55 6 68 0;
+#X connect 55 7 42 0;
+#X connect 57 0 58 0;
+#X connect 59 0 60 0;
+#X connect 61 0 62 0;
+#X connect 82 0 37 0;
+#X connect 82 1 69 0;
+#X connect 82 2 70 0;
+#X connect 82 3 71 0;
+#X connect 82 4 72 0;
+#X connect 82 5 73 0;
+#X connect 82 6 74 0;
+#X connect 82 7 75 0;
+#X connect 82 8 76 0;
+#X connect 82 9 77 0;
+#X connect 82 10 78 0;
+#X connect 82 11 79 0;
+#X connect 82 12 80 0;
+#X connect 82 13 81 0;
+#X connect 82 14 83 0;
+#X connect 82 15 84 0;
+#X connect 85 0 93 0;
+#X connect 86 0 99 0;
+#X connect 87 0 99 0;
+#X connect 89 0 99 0;
+#X connect 90 0 99 0;
+#X connect 92 0 99 0;
+#X connect 95 0 86 0;
+#X connect 96 0 99 0;
+#X connect 97 0 96 0;
+#X connect 99 0 36 0;
+#X connect 99 0 53 0;
+#X connect 99 0 85 0;
+#X connect 99 0 91 0;
+#X connect 99 1 88 0;