~ubuntu-branches/ubuntu/precise/mysql-5.1/precise

« back to all changes in this revision

Viewing changes to mysql-test/suite/funcs_1/lib/DataGen_local.pl

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Tretkowski
  • Date: 2010-03-17 14:56:02 UTC
  • Revision ID: james.westby@ubuntu.com-20100317145602-x7e30l1b2sb5s6w6
Tags: upstream-5.1.45
Import upstream version 5.1.45

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/perl
 
2
 
 
3
 
 
4
if ( (scalar(@ARGV) != 1 ) || ($ARGV[0] =~ /[^0-9]/i ) )
 
5
 
 
6
{
 
7
        if( $ARGV[0] =~ /[^0-9]/i )
 
8
 
 
9
        {
 
10
 
 
11
                print "\n\t First parameter <Number of Rows> should be an integer value. \n"    
 
12
 
 
13
        }
 
14
 
 
15
        &printusage;
 
16
 
 
17
}
 
18
 
 
19
 
 
20
else
 
21
 
 
22
{        
 
23
 
 
24
 
 
25
# Third Table "t3.txt"
 
26
 
 
27
 
 
28
                $file = 't3.txt';
 
29
 
 
30
                open ( FILE_INPUT, ">$file");
 
31
 
 
32
                $oldhandle = select(FILE_INPUT);
 
33
 
 
34
                $s_int = 0;
 
35
 
 
36
 
 
37
        #Write data to file
 
38
 
 
39
 
 
40
                for ($count=0; $count < $ARGV[0]; $count++)
 
41
 
 
42
                {
 
43
 
 
44
                        $s_int = &get_next_s_int($count,$ARGV[0]);
 
45
 
 
46
                        $char20 = &get_next_char20($count);
 
47
 
 
48
 
 
49
                        print ($char20);                        #char (20)
 
50
 
 
51
                        print ("\t",$char20);                   #char (20)
 
52
 
 
53
                        print ("\t",$s_int);                    #int
 
54
 
 
55
                        print ("\n");
 
56
 
 
57
                }               
 
58
 
 
59
 
 
60
                select ($oldhandle);
 
61
 
 
62
                close (FILE_INPUT);
 
63
 
 
64
 
 
65
# Fourth Table "t4.txt"
 
66
 
 
67
 
 
68
                $file = 't4.txt';
 
69
 
 
70
                open ( FILE_INPUT, ">$file");
 
71
 
 
72
                $oldhandle = select(FILE_INPUT);
 
73
 
 
74
 
 
75
                $s_int = 0;     
 
76
 
 
77
                $current_date = "1000-01-00";
 
78
 
 
79
 
 
80
        #Write data to file
 
81
 
 
82
 
 
83
                for ($count=0; $count < $ARGV[0]; $count++)
 
84
 
 
85
                {
 
86
 
 
87
                        $char20 = &get_next_char20($count);
 
88
 
 
89
                        $char25 = &get_next_char25($count);
 
90
 
 
91
                        $s_int = &get_next_s_int($count,$ARGV[0]);
 
92
 
 
93
                        $current_date = &get_next_date($current_date);
 
94
 
 
95
 
 
96
                        print ($char20);                        #char (20)
 
97
 
 
98
                        print ("\t",$char25);                   #char (25)
 
99
 
 
100
                        print ("\t",$current_date);             #date 
 
101
 
 
102
                        print ("\t",$s_int);                    #int
 
103
 
 
104
                        print ("\t",$char25);                   #char (25)
 
105
 
 
106
                        print ("\t",$s_int);                    #int
 
107
 
 
108
                        print ("\n");
 
109
 
 
110
                }               
 
111
 
 
112
 
 
113
                select ($oldhandle);
 
114
 
 
115
                close (FILE_INPUT);
 
116
 
 
117
        
 
118
 
 
119
 
 
120
 
 
121
 
 
122
# Seventh Table "t7.txt"
 
123
 
 
124
 
 
125
                $file = 't7.txt';
 
126
 
 
127
                open ( FILE_INPUT, ">$file");
 
128
 
 
129
                $oldhandle = select(FILE_INPUT);
 
130
 
 
131
                $current_date = "1000-01-00";
 
132
 
 
133
 
 
134
        #Write data to file
 
135
 
 
136
                for ($count=0; $count < $ARGV[0]; $count++)
 
137
 
 
138
                {
 
139
 
 
140
 
 
141
                        $char20 = &get_next_char20($count);
 
142
 
 
143
                        $char25 = &get_next_char25($count);
 
144
 
 
145
                        $s_int = &get_next_s_int($count,$ARGV[0]);
 
146
 
 
147
                        $current_date = &get_next_date($current_date);
 
148
 
 
149
 
 
150
                        print ($char20);                        #Text 
 
151
 
 
152
                        print ("\t",$char25);                   #Text 
 
153
 
 
154
                        print ("\t",$date);                     #Date
 
155
 
 
156
                        print ("\t",$s_int);                    #int
 
157
 
 
158
                        print ("\n");
 
159
 
 
160
                }               
 
161
 
 
162
 
 
163
                select ($oldhandle);
 
164
 
 
165
                close (FILE_INPUT);
 
166
 
 
167
 
 
168
# Ninth Table "t9.txt"
 
169
 
 
170
 
 
171
                $file = 't9.txt';
 
172
 
 
173
                open ( FILE_INPUT, ">$file");
 
174
 
 
175
                $oldhandle = select(FILE_INPUT);
 
176
 
 
177
                
 
178
        #Data type declarations
 
179
 
 
180
 
 
181
                $s_int = 0;     
 
182
 
 
183
 
 
184
        #Write data to file
 
185
 
 
186
                for ($count=0; $count < $ARGV[0]; $count++)
 
187
 
 
188
                {
 
189
 
 
190
                        $char25 = &get_next_char25($count);
 
191
 
 
192
                        $s_int = &get_next_s_int($count,$ARGV[0]);
 
193
 
 
194
 
 
195
                        print ($s_int);                 #int
 
196
 
 
197
                        print ("\t",$char25);                   #char (25)
 
198
 
 
199
                        print ("\t",$s_int);                    #int
 
200
 
 
201
                        print ("\n");
 
202
 
 
203
                }
 
204
 
 
205
 
 
206
                select ($oldhandle);
 
207
 
 
208
                close (FILE_INPUT);
 
209
 
 
210
 
 
211
 
 
212
 
 
213
 
 
214
# Thirteenth Table "t13.txt"
 
215
 
 
216
 
 
217
                $file = 't13.txt';
 
218
 
 
219
                open ( FILE_INPUT, ">$file");
 
220
 
 
221
                $oldhandle = select(FILE_INPUT);
 
222
 
 
223
                
 
224
 
 
225
        #Write data to file
 
226
 
 
227
                for ($count=0; $count < $ARGV[0]; $count++)
 
228
 
 
229
                {
 
230
 
 
231
                        $geometry = &get_next_geometry($count);
 
232
 
 
233
                        $point = &get_next_point($count);
 
234
 
 
235
                        $linestring = &get_next_linestring($count);
 
236
 
 
237
                        $polygon = &get_next_polygon($count);
 
238
 
 
239
                        $geometry_collection = &get_next_geometry_collection($count);
 
240
 
 
241
                        $multipoint = &get_next_multipoint($count);
 
242
 
 
243
                        $multilinestring = &get_next_multilinestring($count);
 
244
 
 
245
                        $multipolygon = &get_next_multipolygon($count);
 
246
 
 
247
 
 
248
                        print ($geometry);              #geometry
 
249
 
 
250
                        print ("\t",$point);                    #point 
 
251
 
 
252
                        print ("\t",$linestring);                       #linestring 
 
253
 
 
254
                        print ("\t",$polygon);                  #polygon 
 
255
 
 
256
                        print ("\t",$geometry_collection);      #geometrycollection 
 
257
 
 
258
                        print ("\t",$multipoint);               #multipoint 
 
259
 
 
260
                        print ("\t",$multilinestring);          #multilinestring 
 
261
 
 
262
                        print ("\t",$multipolygon);             #multipolygon 
 
263
 
 
264
                        print ("\n");
 
265
                }
 
266
 
 
267
 
 
268
                select ($oldhandle);
 
269
 
 
270
                close (FILE_INPUT);
 
271
 
 
272
 
 
273
}
 
274
 
 
275
 
 
276
 
 
277
#Subroutines START HERE
 
278
 
 
279
        
 
280
 
 
281
sub get_next_tinytext
 
282
 
 
283
{
 
284
 
 
285
        my($count) = @_;
 
286
 
 
287
        my($default_char) = "a";
 
288
 
 
289
        $index = $count % 20 ;
 
290
 
 
291
 
 
292
        @ascii = ("\140","\141","\142","\143","\144","\145","\146","\147","\136","\137",
 
293
 
 
294
                "\150","\151","\152","\153","\154","\155","\156","\157","\134","\135");
 
295
 
 
296
 
 
297
 
 
298
        my($quotient) = $count / 100;
 
299
 
 
300
        $quotient =~ s/\.[0-9]*// ;
 
301
 
 
302
        $tinytext = $default_char.$ascii[$index].$quotient;
 
303
 
 
304
 
 
305
        return($tinytext);
 
306
 
 
307
}
 
308
 
 
309
 
 
310
 
 
311
sub get_next_char20
 
312
 
 
313
{
 
314
 
 
315
        my($count) = @_;
 
316
 
 
317
        my($default_char) = "a";
 
318
 
 
319
        $index = $count % 20 ;
 
320
 
 
321
 
 
322
        @ascii = ("\140","\141","\142","\143","\144","\145","\146","\147","\136","\137",
 
323
 
 
324
                "\150","\151","\152","\153","\154","\155","\156","\157","\134","\135");
 
325
 
 
326
 
 
327
        $longtext = $default_char.$ascii[$index].$default_char x $index;
 
328
 
 
329
        return($longtext);
 
330
 
 
331
}
 
332
 
 
333
 
 
334
 
 
335
 
 
336
sub get_next_char25
 
337
 
 
338
{
 
339
 
 
340
        my($count) = @_;
 
341
 
 
342
        my($default_char) = "a";
 
343
 
 
344
        $index = $count % 20;
 
345
 
 
346
 
 
347
        @ascii = ("\140","\141","\142","\143","\144","\145","\146","\147","\136","\137",
 
348
 
 
349
                "\150","\151","\152","\153","\154","\155","\156","\157","\134","\135");
 
350
 
 
351
 
 
352
        $longtext = $default_char.$ascii[$index].$default_char x $index;
 
353
 
 
354
        return($longtext);
 
355
 
 
356
}
 
357
 
 
358
 
 
359
 
 
360
 
 
361
sub get_next_year
 
362
 
 
363
{
 
364
 
 
365
        my($next_year) = @_;
 
366
 
 
367
        if (($next_year >= 1901) && ($next_year < 2155))
 
368
 
 
369
        {
 
370
 
 
371
                $next_year++;
 
372
 
 
373
        }
 
374
 
 
375
 
 
376
        else
 
377
 
 
378
        {
 
379
 
 
380
                $next_year = 1901;
 
381
 
 
382
        }
 
383
 
 
384
        return($next_year);
 
385
 
 
386
}
 
387
 
 
388
 
 
389
 
 
390
sub get_next_s_int
 
391
 
 
392
{
 
393
 
 
394
        my($count,$maxsize) = @_;
 
395
 
 
396
        $s_int = int($count - ($maxsize/2));
 
397
 
 
398
        return($s_int);
 
399
 
 
400
}
 
401
 
 
402
 
 
403
sub get_next_date
 
404
{
 
405
 
 
406
        my($date) = @_ ;
 
407
 
 
408
        $pattern = '-';
 
409
 
 
410
        @words = split(/$pattern/, $date);
 
411
 
 
412
        $year = $words[0];
 
413
 
 
414
        $month = $words[1];
 
415
 
 
416
        $day = $words[2];
 
417
 
 
418
 
 
419
        if (($month == 2) )
 
420
 
 
421
        {
 
422
 
 
423
                if($day == 28)  
 
424
 
 
425
                {
 
426
 
 
427
                        if($year % 4 == 0)
 
428
 
 
429
                        {
 
430
 
 
431
                                $day++;
 
432
 
 
433
                        }
 
434
 
 
435
                        else
 
436
 
 
437
                        {
 
438
 
 
439
                                $day = 01;
 
440
 
 
441
                                $month++;
 
442
 
 
443
                        }
 
444
 
 
445
                }
 
446
 
 
447
 
 
448
                elsif($day == 29)
 
449
 
 
450
                {
 
451
 
 
452
                        $day = 01;
 
453
 
 
454
                        $month++;
 
455
 
 
456
                }
 
457
 
 
458
                
 
459
 
 
460
                else
 
461
 
 
462
                {       
 
463
 
 
464
                        $day++;
 
465
 
 
466
                }
 
467
 
 
468
        }
 
469
 
 
470
 
 
471
        elsif($day == 30)
 
472
 
 
473
        {
 
474
 
 
475
                if (($month == 1) || ($month == 3) || ($month == 5) || ($month == 7) || ($month == 8) || ($month == 10) || ($month == 12))
 
476
 
 
477
                {
 
478
 
 
479
                        $day++;
 
480
 
 
481
                }
 
482
 
 
483
                else
 
484
 
 
485
                {
 
486
 
 
487
                        $day = 01;
 
488
 
 
489
                        $month++;
 
490
 
 
491
                }
 
492
 
 
493
        }
 
494
 
 
495
 
 
496
        elsif($day == 31)
 
497
 
 
498
        {
 
499
 
 
500
                if ($month == 12)
 
501
 
 
502
                {
 
503
 
 
504
                        $day = 01;
 
505
 
 
506
                        $month = 01;
 
507
 
 
508
                        
 
509
 
 
510
                        if($year < 9999)
 
511
 
 
512
                        {
 
513
 
 
514
                                $year++;
 
515
 
 
516
                        }
 
517
 
 
518
                        else
 
519
 
 
520
                        {
 
521
 
 
522
                                $year = 1000;
 
523
 
 
524
                        }
 
525
 
 
526
                }
 
527
 
 
528
 
 
529
                else
 
530
 
 
531
                {
 
532
 
 
533
                        $day = 01;
 
534
 
 
535
                        $month++;
 
536
 
 
537
                }
 
538
 
 
539
        }
 
540
 
 
541
        
 
542
 
 
543
        else
 
544
 
 
545
        {
 
546
 
 
547
                $day++;
 
548
 
 
549
        }
 
550
 
 
551
        
 
552
 
 
553
        $date = $year."-".$month."-".$day;      
 
554
 
 
555
        return($date);
 
556
 
 
557
}
 
558
 
 
559
 
 
560
 
 
561
 
 
562
sub get_next_s_date
 
563
 
 
564
{
 
565
 
 
566
        my($date) = @_ ;
 
567
 
 
568
        $pattern = '-';
 
569
 
 
570
        @words = split(/$pattern/, $date);
 
571
 
 
572
 
 
573
        $year = "$words[0]";
 
574
 
 
575
        $month = "$words[1]";
 
576
 
 
577
        $day = "$words[2]";
 
578
 
 
579
 
 
580
        if (($month == "02") )
 
581
 
 
582
        {
 
583
 
 
584
                if($day == "28")        
 
585
 
 
586
                {
 
587
 
 
588
                        if($year =~ /[0-9][0-9]00/)
 
589
 
 
590
                        {
 
591
 
 
592
                                if($year % 400 == 0)
 
593
 
 
594
                                {
 
595
 
 
596
                                        $day++;
 
597
 
 
598
                                }
 
599
 
 
600
                                else
 
601
 
 
602
                                {
 
603
 
 
604
                                        $day = 01;
 
605
 
 
606
                                        $month++;
 
607
 
 
608
                                }
 
609
 
 
610
                        }
 
611
 
 
612
                                
 
613
 
 
614
                        else
 
615
 
 
616
                        {
 
617
 
 
618
                                if($year % 4 == 0)
 
619
 
 
620
                                {
 
621
 
 
622
                                        $day++;
 
623
 
 
624
                                }       
 
625
 
 
626
                                else
 
627
 
 
628
                                {
 
629
 
 
630
                                        $day = 01;
 
631
 
 
632
                                        $month++;
 
633
 
 
634
                                }
 
635
 
 
636
                        }               
 
637
 
 
638
                }
 
639
 
 
640
 
 
641
 
 
642
                elsif($day == "29")
 
643
 
 
644
                {
 
645
 
 
646
                        $day = "01";
 
647
 
 
648
                        $month++;
 
649
 
 
650
                }
 
651
 
 
652
                
 
653
 
 
654
                else
 
655
 
 
656
                {       
 
657
 
 
658
                        $day++;
 
659
 
 
660
                }
 
661
 
 
662
        }
 
663
 
 
664
 
 
665
        elsif($day == "30")
 
666
 
 
667
        {
 
668
 
 
669
                if (($month == "01") || ($month == "03") || ($month == "05") || ($month == "07") || ($month == "08") || ($month == "10") || ($month == "12"))
 
670
 
 
671
                {
 
672
 
 
673
                        $day++;
 
674
 
 
675
                }
 
676
 
 
677
                else
 
678
 
 
679
                {
 
680
 
 
681
                        $day = "01";
 
682
 
 
683
                        $month++;
 
684
 
 
685
                }
 
686
 
 
687
        }
 
688
 
 
689
 
 
690
        elsif($day == "31")
 
691
 
 
692
        {
 
693
 
 
694
                if ($month == "12")
 
695
 
 
696
                {
 
697
 
 
698
                        $day = "01";
 
699
 
 
700
                        $month = "01";
 
701
 
 
702
                        
 
703
 
 
704
                        if($year < "2036")
 
705
 
 
706
                        {
 
707
 
 
708
                                $year = $year + "0001";
 
709
 
 
710
                        }
 
711
 
 
712
                        else
 
713
 
 
714
                        {
 
715
 
 
716
                                $year = "1970";
 
717
 
 
718
                        }
 
719
 
 
720
                }
 
721
 
 
722
 
 
723
                else
 
724
 
 
725
                {
 
726
 
 
727
                        $day = "01";
 
728
 
 
729
                        $month++;
 
730
 
 
731
                }
 
732
 
 
733
        }
 
734
 
 
735
        
 
736
 
 
737
        else
 
738
 
 
739
        {
 
740
 
 
741
                $day++;
 
742
 
 
743
        }
 
744
 
 
745
 
 
746
        if($month !~ /[0-9][0-9]/)
 
747
 
 
748
        {
 
749
 
 
750
                $month = "0".$month;
 
751
 
 
752
        }
 
753
 
 
754
        
 
755
 
 
756
        if($day !~ /[0-9][0-9]/)
 
757
 
 
758
        {
 
759
 
 
760
                $day = "0".$day;
 
761
 
 
762
        }       
 
763
 
 
764
        
 
765
 
 
766
        $date = "$year"."-"."$month"."-"."$day";        
 
767
 
 
768
        
 
769
 
 
770
        return($date);
 
771
 
 
772
}
 
773
 
 
774
 
 
775
 
 
776
sub printusage
 
777
 
 
778
{
 
779
 
 
780
        print "\n\nUsage: DataGen <Number of Rows>";
 
781
 
 
782
        print "\n\n<Number of Rows>: The number of rows in the table ".
 
783
 
 
784
        "\n\nE.g. DataGen 5000".
 
785
 
 
786
        "\n\nThis will generate 11 text files containing 5000" .
 
787
 
 
788
        " records each for the 11 types of tables.";
 
789
 
 
790
}
 
791
 
 
792
 
 
793
 
 
794
sub get_next_geometry
 
795
 
 
796
{
 
797
 
 
798
        my($count) = @_;
 
799
 
 
800
        $index = $count % 20 ;
 
801
 
 
802
 
 
803
        @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�?\0\0\0\0\0\0�?\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@',
 
804
        
 
805
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�?\0\0\0\0\0\0�?\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
806
 
 
807
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
808
 
 
809
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
810
 
 
811
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
812
 
 
813
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @',
 
814
 
 
815
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0"@\0\0\0\0\0\0"@',
 
816
 
 
817
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0$@\0\0\0\0\0\0$@',
 
818
 
 
819
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0>@\0\0\0\0\0\0>@',
 
820
 
 
821
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0D@\0\0\0\0\0\0D@',
 
822
 
 
823
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0D@\0\0\0\0\0\0D@\0\0\0\0\0\0I@\0\0\0\0\0\0I@',
 
824
 
 
825
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0D@\0\0\0\0\0\0D@\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0N@\0\0\0\0\0\0N@',
 
826
 
 
827
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0�Q@\0\0\0\0\0�Q@',
 
828
 
 
829
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0�Q@\0\0\0\0\0�Q@\0\0\0\0\0\0T@\0\0\0\0\0\0T@',
 
830
 
 
831
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�Q@\0\0\0\0\0�Q@\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0�V@\0\0\0\0\0�V@',
 
832
 
 
833
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0�V@\0\0\0\0\0�V@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@',
 
834
 
 
835
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�V@\0\0\0\0\0�V@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0�[@\0\0\0\0\0�[@',
 
836
 
 
837
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0�[@\0\0\0\0\0�[@\0\0\0\0\0\0^@\0\0\0\0\0\0^@',
 
838
 
 
839
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0i@\0\0\0\0\0\0i@\0\0\0\0\0�r@\0\0\0\0\0�r@\0\0\0\0\0\0y@\0\0\0\0\0\0y@',
 
840
 
 
841
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�r@\0\0\0\0\0\0Y@\0\0\0\0\0\0y@\0\0\0\0\0\0y@\0\0\0\0\0@@\0\0\0\0\0@@');
 
842
 
 
843
 
 
844
        return($ascii[$index]);
 
845
 
 
846
}
 
847
 
 
848
 
 
849
 
 
850
sub get_next_point
 
851
 
 
852
{
 
853
 
 
854
        my($count) = @_;
 
855
 
 
856
        $index = $count % 20 ;
 
857
 
 
858
 
 
859
        @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@',
 
860
 
 
861
'\0\0\0\0\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@',
 
862
 
 
863
'\0\0\0\0\0\0\0\0\0\0\0\0\0>@\0\0\0\0\0\0>@',
 
864
 
 
865
'\0\0\0\0\0\0\0\0\0\0\0\0\0D@\0\0\0\0\0\0D@',
 
866
 
 
867
'\0\0\0\0\0\0\0\0\0\0\0\0\0I@\0\0\0\0\0\0I@',
 
868
 
 
869
'\0\0\0\0\0\0\0\0\0\0\0\0\09@\0\0\0\0\0\0.@',
 
870
 
 
871
'\0\0\0\0\0\0\0\0\0\0\0\0�A@\0\0\0\0\0\0.@',
 
872
 
 
873
'\0\0\0\0\0\0\0\0\0\0\0\0�K@\0\0\0\0\0\09@',
 
874
 
 
875
'\0\0\0\0\0\0\0\0\0\0\0\0�K@\0\0\0\0\0�A@',
 
876
 
 
877
'\0\0\0\0\0\0\0\0\0\0\0\0�K@\0\0\0\0\0�F@',
 
878
 
 
879
'\0\0\0\0\0\0\0\0\0\0\0\0�K@\0\0\0\0\0�K@',
 
880
 
 
881
'\0\0\0\0\0\0\0\0\0\0\0\0�K@\0\0\0\0\0@P@',
 
882
 
 
883
'\0\0\0\0\0\0\0\0\0\0\0\0�K@\0\0\0\0\0�R@',
 
884
 
 
885
'\0\0\0\0\0\0\0\0\0\0\0\0\09@\0\0\0\0\0\0.@',
 
886
 
 
887
'\0\0\0\0\0\0\0\0\0\0\0\0�K@\0\0\0\0\0@U@',
 
888
 
 
889
'\0\0\0\0\0\0\0\0\0\0\0\0�K@\0\0\0\0\0�W@',
 
890
 
 
891
'\0\0\0\0\0\0\0\0\0\0\0\0@P@\0\0\0\0\0�W@',
 
892
 
 
893
'\0\0\0\0\0\0\0\0\0\0\0\0�R@\0\0\0\0\0�W@',
 
894
 
 
895
'\0\0\0\0\0\0\0\0\0\0\0\0@U@\0\0\0\0\0�W@',
 
896
 
 
897
'\0\0\0\0\0\0\0\0\0\0\0\0�W@\0\0\0\0\0�W@');
 
898
 
 
899
 
 
900
        return($ascii[$index]);
 
901
 
 
902
}
 
903
 
 
904
 
 
905
sub get_next_linestring
 
906
 
 
907
{
 
908
 
 
909
        my($count) = @_;
 
910
 
 
911
        $index = $count % 20 ;
 
912
 
 
913
 
 
914
        @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�?\0\0\0\0\0\0�?\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@',
 
915
 
 
916
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�?\0\0\0\0\0\0�?\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
917
 
 
918
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
919
 
 
920
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
921
 
 
922
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
923
 
 
924
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @',
 
925
 
 
926
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0$@\0\0\0\0\0\0$@',
 
927
 
 
928
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0>@\0\0\0\0\0\0>@',
 
929
 
 
930
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0D@\0\0\0\0\0\0D@',
 
931
 
 
932
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0D@\0\0\0\0\0\0D@\0\0\0\0\0\0I@\0\0\0\0\0\0I@',
 
933
 
 
934
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0D@\0\0\0\0\0\0D@\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0N@\0\0\0\0\0\0N@',
 
935
 
 
936
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0�Q@\0\0\0\0\0�Q@',
 
937
 
 
938
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0�Q@\0\0\0\0\0�Q@\0\0\0\0\0\0T@\0\0\0\0\0\0T@',
 
939
 
 
940
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�Q@\0\0\0\0\0�Q@\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0�V@\0\0\0\0\0�V@',
 
941
 
 
942
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0�V@\0\0\0\0\0�V@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@',
 
943
 
 
944
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�V@\0\0\0\0\0�V@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0�[@\0\0\0\0\0�[@',
 
945
 
 
946
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0�Q@\0\0\0\0\0�Q@\0\0\0\0\0\0T@\0\0\0\0\0\0T@',
 
947
 
 
948
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0�[@\0\0\0\0\0�[@\0\0\0\0\0\0^@\0\0\0\0\0\0^@',
 
949
 
 
950
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0i@\0\0\0\0\0\0i@\0\0\0\0\0�r@\0\0\0\0\0�r@\0\0\0\0\0\0y@\0\0\0\0\0\0y@',
 
951
 
 
952
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�r@\0\0\0\0\0\0Y@\0\0\0\0\0\0y@\0\0\0\0\0\0y@\0\0\0\0\0@@\0\0\0\0\0@@');
 
953
 
 
954
 
 
955
        return($ascii[$index]);
 
956
 
 
957
}
 
958
 
 
959
 
 
960
 
 
961
sub get_next_polygon
 
962
 
 
963
{
 
964
 
 
965
        my($count) = @_;
 
966
 
 
967
        $index = $count % 20 ;
 
968
 
 
969
 
 
970
        @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
971
 
 
972
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�?\0\0\0\0\0\0�?\0\0\0\0\0\04@\0\0\0\0\0\0�?\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0�?\0\0\0\0\0\04@\0\0\0\0\0\0�?\0\0\0\0\0\0�?\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
973
 
 
974
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\04@\0\0\0\0\0\0\0@\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0\0@\0\0\0\0\0\0>@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
975
 
 
976
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0"@',
 
977
 
 
978
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0$@',
 
979
 
 
980
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0�Q@\0\0\0\0\0\0@\0\0\0\0\0�Q@\0\0\0\0\0�Q@\0\0\0\0\0\0@\0\0\0\0\0�Q@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0&@',
 
981
 
 
982
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0+@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0(@',
 
983
 
 
984
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0�V@\0\0\0\0\0\0 @\0\0\0\0\0�V@\0\0\0\0\0�V@\0\0\0\0\0\0 @\0\0\0\0\0�V@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0*@',
 
985
 
 
986
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\0,@',
 
987
 
 
988
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\0.@',
 
989
 
 
990
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0�r@\0\0\0\0\0\0&@\0\0\0\0\0�r@\0\0\0\0\0�r@\0\0\0\0\0\0&@\0\0\0\0\0�r@\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\00@',
 
991
 
 
992
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\01@',
 
993
 
 
994
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\02@',
 
995
 
 
996
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0��@\0\0\0\0\0\0,@\0\0\0\0\0��@\0\0\0\0\0��@\0\0\0\0\0\0,@\0\0\0\0\0��@\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\03@',
 
997
 
 
998
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\0,@',
 
999
 
 
1000
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0��@\0\0\0\0\0\0.@\0\0\0\0\0��@\0\0\0\0\0��@\0\0\0\0\0\0.@\0\0\0\0\0��@\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\04@',
 
1001
 
 
1002
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0�@\0\0\0\0\0\00@\0\0\0\0\0\0�@\0\0\0\0\0\0�@\0\0\0\0\0\00@\0\0\0\0\0\0�@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0\0\0\05@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\05@',
 
1003
 
 
1004
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0 �@\0\0\0\0\0\01@\0\0\0\0\0 �@\0\0\0\0\0 �@\0\0\0\0\0\01@\0\0\0\0\0 �@\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\0\0\0\06@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\06@',
 
1005
 
 
1006
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0@�@\0\0\0\0\0\02@\0\0\0\0\0@�@\0\0\0\0\0@�@\0\0\0\0\0\0�?\0\0\0\0\0@�@\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\0\0\0\07@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\07@',
 
1007
 
 
1008
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0@�@\0\0\0\0\0\0�?\0\0\0\0\0@�@\0\0\0\0\0@�@\0\0\0\0\0\03@\0\0\0\0\0@�@\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\0\0\0\08@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\08@');
 
1009
 
 
1010
 
 
1011
        return($ascii[$index]);
 
1012
 
 
1013
}
 
1014
 
 
1015
 
 
1016
sub get_next_geometry_collection
 
1017
 
 
1018
{
 
1019
 
 
1020
        my($count) = @_;
 
1021
 
 
1022
        $index = $count % 20 ;
 
1023
 
 
1024
 
 
1025
        @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
1026
 
 
1027
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�?\0\0\0\0\0\0�?\0\0\0\0\0\04@\0\0\0\0\0\0�?\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0�?\0\0\0\0\0\04@\0\0\0\0\0\0�?\0\0\0\0\0\0�?\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
1028
 
 
1029
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\04@\0\0\0\0\0\0\0@\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0\0@\0\0\0\0\0\0>@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
1030
 
 
1031
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0"@',
 
1032
 
 
1033
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0$@',
 
1034
 
 
1035
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0�Q@\0\0\0\0\0\0@\0\0\0\0\0�Q@\0\0\0\0\0�Q@\0\0\0\0\0\0@\0\0\0\0\0�Q@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0&@',
 
1036
 
 
1037
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0(@',
 
1038
 
 
1039
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0�V@\0\0\0\0\0\0 @\0\0\0\0\0�V@\0\0\0\0\0�V@\0\0\0\0\0\0 @\0\0\0\0\0�V@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0*@',
 
1040
 
 
1041
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\0,@',
 
1042
 
 
1043
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\0.@',
 
1044
 
 
1045
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0�r@\0\0\0\0\0\0&@\0\0\0\0\0�r@\0\0\0\0\0�r@\0\0\0\0\0\0&@\0\0\0\0\0�r@\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\00@',
 
1046
 
 
1047
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\01@',
 
1048
 
 
1049
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\0,@',
 
1050
 
 
1051
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\02@',
 
1052
 
 
1053
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0��@\0\0\0\0\0\0,@\0\0\0\0\0��@\0\0\0\0\0��@\0\0\0\0\0\0,@\0\0\0\0\0��@\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\03@',
 
1054
 
 
1055
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0��@\0\0\0\0\0\0.@\0\0\0\0\0��@\0\0\0\0\0��@\0\0\0\0\0\0.@\0\0\0\0\0��@\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\04@',
 
1056
 
 
1057
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0�@\0\0\0\0\0\00@\0\0\0\0\0\0�@\0\0\0\0\0\0�@\0\0\0\0\0\00@\0\0\0\0\0\0�@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0\0\0\05@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\05@',
 
1058
 
 
1059
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0 �@\0\0\0\0\0\01@\0\0\0\0\0 �@\0\0\0\0\0 �@\0\0\0\0\0\01@\0\0\0\0\0 �@\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\0\0\0\06@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\06@',
 
1060
 
 
1061
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0@�@\0\0\0\0\0\02@\0\0\0\0\0@�@\0\0\0\0\0@�@\0\0\0\0\0\0�?\0\0\0\0\0@�@\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\0\0\0\07@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\07@',
 
1062
 
 
1063
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0@�@\0\0\0\0\0\0�?\0\0\0\0\0@�@\0\0\0\0\0@�@\0\0\0\0\0\03@\0\0\0\0\0@�@\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\0\0\0\08@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\08@');
 
1064
 
 
1065
 
 
1066
        return($ascii[$index]);
 
1067
 
 
1068
}
 
1069
 
 
1070
 
 
1071
sub get_next_multipoint
 
1072
 
 
1073
{
 
1074
 
 
1075
        my($count) = @_;
 
1076
 
 
1077
        $index = $count % 20 ;
 
1078
 
 
1079
 
 
1080
        @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
 
1081
        
 
1082
'\0\0\0\0\0\0\0\0\0\0\0\0\0�?\0\0\0\0\0\0�?',
 
1083
 
 
1084
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@',
 
1085
 
 
1086
'\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0*@',
 
1087
 
 
1088
'\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
1089
 
 
1090
'\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
1091
 
 
1092
'\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
1093
 
 
1094
'\0\0\0\0\0\0\0\0\0\0\0\0\0 @\0\0\0\0\0\0 @',
 
1095
 
 
1096
'\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\04@',
 
1097
 
 
1098
'\0\0\0\0\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@',
 
1099
 
 
1100
'\0\0\0\0\0\0\0\0\0\0\0\0\0>@\0\0\0\0\0\0>@',
 
1101
 
 
1102
'\0\0\0\0\0\0\0\0\0\0\0\0\0D@\0\0\0\0\0\0D@',
 
1103
 
 
1104
'\0\0\0\0\0\0\0\0\0\0\0\0\0I@\0\0\0\0\0\0I@',
 
1105
 
 
1106
'\0\0\0\0\0\0\0\0\0\0\0\0\0N@\0\0\0\0\0\0N@',
 
1107
 
 
1108
'\0\0\0\0\0\0\0\0\0\0\0\0�Q@\0\0\0\0\0�Q@',
 
1109
 
 
1110
'\0\0\0\0\0\0\0\0\0\0\0\0\0T@\0\0\0\0\0\0T@',
 
1111
 
 
1112
'\0\0\0\0\0\0\0\0\0\0\0\0�V@\0\0\0\0\0�V@',
 
1113
 
 
1114
'\0\0\0\0\0\0\0\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@',
 
1115
 
 
1116
'\0\0\0\0\0\0\0\0\0\0\0\0\0i@\0\0\0\0\0\0i@',
 
1117
 
 
1118
'\0\0\0\0\0\0\0\0\0\0\0\0�r@\0\0\0\0\0\0Y@');
 
1119
 
 
1120
 
 
1121
        return($ascii[$index]);
 
1122
 
 
1123
}
 
1124
 
 
1125
 
 
1126
sub get_next_multilinestring
 
1127
 
 
1128
{
 
1129
 
 
1130
        my($count) = @_;
 
1131
 
 
1132
        $index = $count % 20 ;
 
1133
 
 
1134
 
 
1135
        @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�?\0\0\0\0\0\0�?\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@',
 
1136
        
 
1137
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�?\0\0\0\0\0\0�?\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
1138
 
 
1139
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
1140
 
 
1141
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
1142
 
 
1143
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
1144
 
 
1145
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @',
 
1146
 
 
1147
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0"@\0\0\0\0\0\0"@',
 
1148
 
 
1149
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0$@\0\0\0\0\0\0$@',
 
1150
 
 
1151
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0>@\0\0\0\0\0\0>@',
 
1152
 
 
1153
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0D@\0\0\0\0\0\0D@',
 
1154
 
 
1155
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0D@\0\0\0\0\0\0D@\0\0\0\0\0\0I@\0\0\0\0\0\0I@',
 
1156
 
 
1157
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0D@\0\0\0\0\0\0D@\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0N@\0\0\0\0\0\0N@',
 
1158
 
 
1159
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0�Q@\0\0\0\0\0�Q@',
 
1160
 
 
1161
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0�Q@\0\0\0\0\0�Q@\0\0\0\0\0\0T@\0\0\0\0\0\0T@',
 
1162
 
 
1163
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�Q@\0\0\0\0\0�Q@\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0�V@\0\0\0\0\0�V@',
 
1164
 
 
1165
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0�V@\0\0\0\0\0�V@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@',
 
1166
 
 
1167
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�V@\0\0\0\0\0�V@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0�[@\0\0\0\0\0�[@',
 
1168
 
 
1169
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0�[@\0\0\0\0\0�[@\0\0\0\0\0\0^@\0\0\0\0\0\0^@',
 
1170
 
 
1171
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0i@\0\0\0\0\0\0i@\0\0\0\0\0�r@\0\0\0\0\0�r@\0\0\0\0\0\0y@\0\0\0\0\0\0y@',
 
1172
 
 
1173
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�r@\0\0\0\0\0\0Y@\0\0\0\0\0\0y@\0\0\0\0\0\0y@\0\0\0\0\0@@\0\0\0\0\0@@');
 
1174
 
 
1175
 
 
1176
        return($ascii[$index]);
 
1177
 
 
1178
}
 
1179
 
 
1180
 
 
1181
sub get_next_multipolygon
 
1182
 
 
1183
{
 
1184
 
 
1185
        my($count) = @_;
 
1186
 
 
1187
        $index = $count % 20 ;
 
1188
 
 
1189
 
 
1190
        @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
1191
 
 
1192
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�?\0\0\0\0\0\0�?\0\0\0\0\0\04@\0\0\0\0\0\0�?\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0�?\0\0\0\0\0\04@\0\0\0\0\0\0�?\0\0\0\0\0\0�?\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
1193
 
 
1194
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\04@\0\0\0\0\0\0\0@\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0\0@\0\0\0\0\0\0>@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0@',
 
1195
 
 
1196
'\N',
 
1197
 
 
1198
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0"@',
 
1199
 
 
1200
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0$@',
 
1201
 
 
1202
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0�Q@\0\0\0\0\0\0@\0\0\0\0\0�Q@\0\0\0\0\0�Q@\0\0\0\0\0\0@\0\0\0\0\0�Q@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0&@',
 
1203
 
 
1204
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0(@',
 
1205
 
 
1206
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0�V@\0\0\0\0\0\0 @\0\0\0\0\0�V@\0\0\0\0\0�V@\0\0\0\0\0\0 @\0\0\0\0\0�V@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0*@',
 
1207
 
 
1208
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\0,@',
 
1209
 
 
1210
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\0.@',
 
1211
 
 
1212
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0�r@\0\0\0\0\0\0&@\0\0\0\0\0�r@\0\0\0\0\0�r@\0\0\0\0\0\0&@\0\0\0\0\0�r@\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\00@',
 
1213
 
 
1214
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\01@',
 
1215
 
 
1216
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\02@',
 
1217
 
 
1218
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0��@\0\0\0\0\0\0,@\0\0\0\0\0��@\0\0\0\0\0��@\0\0\0\0\0\0,@\0\0\0\0\0��@\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\03@',
 
1219
 
 
1220
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0��@\0\0\0\0\0\0.@\0\0\0\0\0��@\0\0\0\0\0��@\0\0\0\0\0\0.@\0\0\0\0\0��@\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\04@',
 
1221
 
 
1222
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0�@\0\0\0\0\0\00@\0\0\0\0\0\0�@\0\0\0\0\0\0�@\0\0\0\0\0\00@\0\0\0\0\0\0�@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0\0\0\05@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\05@',
 
1223
 
 
1224
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0 �@\0\0\0\0\0\01@\0\0\0\0\0 �@\0\0\0\0\0 �@\0\0\0\0\0\01@\0\0\0\0\0 �@\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\0\0\0\06@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\06@',
 
1225
 
 
1226
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0@�@\0\0\0\0\0\02@\0\0\0\0\0@�@\0\0\0\0\0@�@\0\0\0\0\0\0�?\0\0\0\0\0@�@\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\0\0\0\07@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\07@',
 
1227
 
 
1228
'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0@�@\0\0\0\0\0\0�?\0\0\0\0\0@�@\0\0\0\0\0@�@\0\0\0\0\0\03@\0\0\0\0\0@�@\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\0\0\0\08@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\08@');
 
1229
 
 
1230
 
 
1231
        return($ascii[$index]);
 
1232
 
 
1233
}
 
1234
 
 
1235
 
 
1236
sub random
 
1237
 
 
1238
{
 
1239
 
 
1240
        my($limit) = @_ ;
 
1241
 
 
1242
        $random = int(rand($limit));
 
1243
 
 
1244
        return($random);
 
1245
 
 
1246
}
 
1247