flexirest 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/.rspec +2 -0
  4. data/.simplecov +4 -0
  5. data/.travis.yml +6 -0
  6. data/CHANGELOG.md +37 -0
  7. data/CONTRIBUTING.md +62 -0
  8. data/Gemfile +4 -0
  9. data/Guardfile +9 -0
  10. data/LICENSE.txt +22 -0
  11. data/README.md +846 -0
  12. data/Rakefile +13 -0
  13. data/doc/ActiveRestClient Internals.graffle +1236 -0
  14. data/doc/ActiveRestClient Internals.png +0 -0
  15. data/flexirest.gemspec +39 -0
  16. data/lib/flexirest.rb +25 -0
  17. data/lib/flexirest/base.rb +189 -0
  18. data/lib/flexirest/caching.rb +92 -0
  19. data/lib/flexirest/configuration.rb +209 -0
  20. data/lib/flexirest/connection.rb +103 -0
  21. data/lib/flexirest/connection_manager.rb +36 -0
  22. data/lib/flexirest/headers_list.rb +47 -0
  23. data/lib/flexirest/instrumentation.rb +62 -0
  24. data/lib/flexirest/lazy_association_loader.rb +97 -0
  25. data/lib/flexirest/lazy_loader.rb +23 -0
  26. data/lib/flexirest/logger.rb +67 -0
  27. data/lib/flexirest/mapping.rb +69 -0
  28. data/lib/flexirest/monkey_patching.rb +7 -0
  29. data/lib/flexirest/proxy_base.rb +193 -0
  30. data/lib/flexirest/recording.rb +24 -0
  31. data/lib/flexirest/request.rb +573 -0
  32. data/lib/flexirest/request_delegator.rb +44 -0
  33. data/lib/flexirest/request_filtering.rb +62 -0
  34. data/lib/flexirest/result_iterator.rb +85 -0
  35. data/lib/flexirest/validation.rb +60 -0
  36. data/lib/flexirest/version.rb +3 -0
  37. data/spec/lib/base_spec.rb +389 -0
  38. data/spec/lib/caching_spec.rb +217 -0
  39. data/spec/lib/configuration_spec.rb +234 -0
  40. data/spec/lib/connection_manager_spec.rb +43 -0
  41. data/spec/lib/connection_spec.rb +159 -0
  42. data/spec/lib/headers_list_spec.rb +61 -0
  43. data/spec/lib/instrumentation_spec.rb +58 -0
  44. data/spec/lib/lazy_association_loader_spec.rb +135 -0
  45. data/spec/lib/lazy_loader_spec.rb +25 -0
  46. data/spec/lib/logger_spec.rb +63 -0
  47. data/spec/lib/mapping_spec.rb +52 -0
  48. data/spec/lib/proxy_spec.rb +189 -0
  49. data/spec/lib/recording_spec.rb +34 -0
  50. data/spec/lib/request_filtering_spec.rb +84 -0
  51. data/spec/lib/request_spec.rb +711 -0
  52. data/spec/lib/result_iterator_spec.rb +140 -0
  53. data/spec/lib/validation_spec.rb +113 -0
  54. data/spec/lib/xml_spec.rb +74 -0
  55. data/spec/spec_helper.rb +88 -0
  56. metadata +347 -0
@@ -0,0 +1,13 @@
1
+ require "bundler/gem_tasks"
2
+ require 'rspec/core/rake_task'
3
+ RSpec::Core::RakeTask.new('spec')
4
+
5
+ task :console do
6
+ require 'irb'
7
+ require 'irb/completion'
8
+ require 'flexirest'
9
+ ARGV.clear
10
+ IRB.start
11
+ end
12
+
13
+ task :default => :spec
@@ -0,0 +1,1236 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>ActiveLayerIndex</key>
6
+ <integer>0</integer>
7
+ <key>ApplicationVersion</key>
8
+ <array>
9
+ <string>com.omnigroup.OmniGraffle</string>
10
+ <string>139.18.0.187838</string>
11
+ </array>
12
+ <key>AutoAdjust</key>
13
+ <true/>
14
+ <key>BackgroundGraphic</key>
15
+ <dict>
16
+ <key>Bounds</key>
17
+ <string>{{0, 0}, {558.99997329711914, 783}}</string>
18
+ <key>Class</key>
19
+ <string>SolidGraphic</string>
20
+ <key>ID</key>
21
+ <integer>2</integer>
22
+ <key>Style</key>
23
+ <dict>
24
+ <key>shadow</key>
25
+ <dict>
26
+ <key>Draws</key>
27
+ <string>NO</string>
28
+ </dict>
29
+ <key>stroke</key>
30
+ <dict>
31
+ <key>Draws</key>
32
+ <string>NO</string>
33
+ </dict>
34
+ </dict>
35
+ </dict>
36
+ <key>BaseZoom</key>
37
+ <integer>0</integer>
38
+ <key>CanvasOrigin</key>
39
+ <string>{0, 0}</string>
40
+ <key>ColumnAlign</key>
41
+ <integer>1</integer>
42
+ <key>ColumnSpacing</key>
43
+ <real>36</real>
44
+ <key>CreationDate</key>
45
+ <string>2014-03-24 09:32:25 +0000</string>
46
+ <key>Creator</key>
47
+ <string>Andy Jeffries</string>
48
+ <key>DisplayScale</key>
49
+ <string>1 0/72 in = 1.0000 in</string>
50
+ <key>GraphDocumentVersion</key>
51
+ <integer>8</integer>
52
+ <key>GraphicsList</key>
53
+ <array>
54
+ <dict>
55
+ <key>Class</key>
56
+ <string>LineGraphic</string>
57
+ <key>Head</key>
58
+ <dict>
59
+ <key>ID</key>
60
+ <integer>41</integer>
61
+ <key>Info</key>
62
+ <integer>2</integer>
63
+ </dict>
64
+ <key>ID</key>
65
+ <integer>42</integer>
66
+ <key>Points</key>
67
+ <array>
68
+ <string>{84.5, 587}</string>
69
+ <string>{84.5, 628}</string>
70
+ </array>
71
+ <key>Style</key>
72
+ <dict>
73
+ <key>stroke</key>
74
+ <dict>
75
+ <key>HeadArrow</key>
76
+ <string>FilledArrow</string>
77
+ <key>Legacy</key>
78
+ <true/>
79
+ <key>LineType</key>
80
+ <integer>1</integer>
81
+ <key>TailArrow</key>
82
+ <string>0</string>
83
+ </dict>
84
+ </dict>
85
+ <key>Tail</key>
86
+ <dict>
87
+ <key>ID</key>
88
+ <integer>23</integer>
89
+ <key>Info</key>
90
+ <integer>1</integer>
91
+ </dict>
92
+ </dict>
93
+ <dict>
94
+ <key>Bounds</key>
95
+ <string>{{20, 628}, {129, 50}}</string>
96
+ <key>Class</key>
97
+ <string>ShapedGraphic</string>
98
+ <key>ID</key>
99
+ <integer>41</integer>
100
+ <key>Magnets</key>
101
+ <array>
102
+ <string>{0, 1}</string>
103
+ <string>{0, -1}</string>
104
+ <string>{1, 0}</string>
105
+ <string>{-1, 0}</string>
106
+ </array>
107
+ <key>Shape</key>
108
+ <string>Rectangle</string>
109
+ <key>Style</key>
110
+ <dict>
111
+ <key>stroke</key>
112
+ <dict>
113
+ <key>Pattern</key>
114
+ <integer>1</integer>
115
+ </dict>
116
+ </dict>
117
+ <key>Text</key>
118
+ <dict>
119
+ <key>Text</key>
120
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
121
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
122
+ {\colortbl;\red255\green255\blue255;}
123
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
124
+
125
+ \f0\fs20 \cf0 Rails.logger\
126
+ (by default)}</string>
127
+ </dict>
128
+ </dict>
129
+ <dict>
130
+ <key>Class</key>
131
+ <string>LineGraphic</string>
132
+ <key>Head</key>
133
+ <dict>
134
+ <key>ID</key>
135
+ <integer>25</integer>
136
+ </dict>
137
+ <key>ID</key>
138
+ <integer>40</integer>
139
+ <key>Points</key>
140
+ <array>
141
+ <string>{369, 178}</string>
142
+ <string>{160, 96}</string>
143
+ </array>
144
+ <key>Style</key>
145
+ <dict>
146
+ <key>stroke</key>
147
+ <dict>
148
+ <key>HeadArrow</key>
149
+ <string>FilledArrow</string>
150
+ <key>Legacy</key>
151
+ <true/>
152
+ <key>LineType</key>
153
+ <integer>1</integer>
154
+ <key>TailArrow</key>
155
+ <string>0</string>
156
+ </dict>
157
+ </dict>
158
+ <key>Tail</key>
159
+ <dict>
160
+ <key>ID</key>
161
+ <integer>19</integer>
162
+ </dict>
163
+ </dict>
164
+ <dict>
165
+ <key>Class</key>
166
+ <string>LineGraphic</string>
167
+ <key>Head</key>
168
+ <dict>
169
+ <key>ID</key>
170
+ <integer>18</integer>
171
+ </dict>
172
+ <key>ID</key>
173
+ <integer>39</integer>
174
+ <key>Points</key>
175
+ <array>
176
+ <string>{160, 96}</string>
177
+ <string>{369, 71}</string>
178
+ </array>
179
+ <key>Style</key>
180
+ <dict>
181
+ <key>stroke</key>
182
+ <dict>
183
+ <key>HeadArrow</key>
184
+ <string>FilledArrow</string>
185
+ <key>Legacy</key>
186
+ <true/>
187
+ <key>LineType</key>
188
+ <integer>1</integer>
189
+ <key>TailArrow</key>
190
+ <string>0</string>
191
+ </dict>
192
+ </dict>
193
+ <key>Tail</key>
194
+ <dict>
195
+ <key>ID</key>
196
+ <integer>25</integer>
197
+ <key>Info</key>
198
+ <integer>3</integer>
199
+ </dict>
200
+ </dict>
201
+ <dict>
202
+ <key>Class</key>
203
+ <string>LineGraphic</string>
204
+ <key>Head</key>
205
+ <dict>
206
+ <key>ID</key>
207
+ <integer>21</integer>
208
+ <key>Info</key>
209
+ <integer>4</integer>
210
+ </dict>
211
+ <key>ID</key>
212
+ <integer>38</integer>
213
+ <key>Points</key>
214
+ <array>
215
+ <string>{357.49998664855957, 354.5}</string>
216
+ <string>{389, 429.5}</string>
217
+ </array>
218
+ <key>Style</key>
219
+ <dict>
220
+ <key>stroke</key>
221
+ <dict>
222
+ <key>HeadArrow</key>
223
+ <string>FilledArrow</string>
224
+ <key>Legacy</key>
225
+ <true/>
226
+ <key>LineType</key>
227
+ <integer>1</integer>
228
+ <key>TailArrow</key>
229
+ <string>0</string>
230
+ </dict>
231
+ </dict>
232
+ <key>Tail</key>
233
+ <dict>
234
+ <key>ID</key>
235
+ <integer>11</integer>
236
+ </dict>
237
+ </dict>
238
+ <dict>
239
+ <key>Class</key>
240
+ <string>LineGraphic</string>
241
+ <key>Head</key>
242
+ <dict>
243
+ <key>ID</key>
244
+ <integer>20</integer>
245
+ <key>Info</key>
246
+ <integer>4</integer>
247
+ </dict>
248
+ <key>ID</key>
249
+ <integer>37</integer>
250
+ <key>Points</key>
251
+ <array>
252
+ <string>{357.49998664855957, 354.5}</string>
253
+ <string>{389, 366.5}</string>
254
+ </array>
255
+ <key>Style</key>
256
+ <dict>
257
+ <key>stroke</key>
258
+ <dict>
259
+ <key>HeadArrow</key>
260
+ <string>FilledArrow</string>
261
+ <key>Legacy</key>
262
+ <true/>
263
+ <key>LineType</key>
264
+ <integer>1</integer>
265
+ <key>TailArrow</key>
266
+ <string>0</string>
267
+ </dict>
268
+ </dict>
269
+ <key>Tail</key>
270
+ <dict>
271
+ <key>ID</key>
272
+ <integer>11</integer>
273
+ <key>Info</key>
274
+ <integer>3</integer>
275
+ </dict>
276
+ </dict>
277
+ <dict>
278
+ <key>Class</key>
279
+ <string>LineGraphic</string>
280
+ <key>Head</key>
281
+ <dict>
282
+ <key>ID</key>
283
+ <integer>24</integer>
284
+ </dict>
285
+ <key>ID</key>
286
+ <integer>36</integer>
287
+ <key>Points</key>
288
+ <array>
289
+ <string>{201.49998664855957, 354.5}</string>
290
+ <string>{149, 297}</string>
291
+ </array>
292
+ <key>Style</key>
293
+ <dict>
294
+ <key>stroke</key>
295
+ <dict>
296
+ <key>HeadArrow</key>
297
+ <string>FilledArrow</string>
298
+ <key>Legacy</key>
299
+ <true/>
300
+ <key>LineType</key>
301
+ <integer>1</integer>
302
+ <key>TailArrow</key>
303
+ <string>0</string>
304
+ </dict>
305
+ </dict>
306
+ <key>Tail</key>
307
+ <dict>
308
+ <key>ID</key>
309
+ <integer>11</integer>
310
+ </dict>
311
+ </dict>
312
+ <dict>
313
+ <key>Class</key>
314
+ <string>LineGraphic</string>
315
+ <key>Head</key>
316
+ <dict>
317
+ <key>ID</key>
318
+ <integer>23</integer>
319
+ </dict>
320
+ <key>ID</key>
321
+ <integer>35</integer>
322
+ <key>Points</key>
323
+ <array>
324
+ <string>{201.49998664855957, 354.5}</string>
325
+ <string>{84.5, 537}</string>
326
+ </array>
327
+ <key>Style</key>
328
+ <dict>
329
+ <key>stroke</key>
330
+ <dict>
331
+ <key>HeadArrow</key>
332
+ <string>FilledArrow</string>
333
+ <key>Legacy</key>
334
+ <true/>
335
+ <key>LineType</key>
336
+ <integer>1</integer>
337
+ <key>TailArrow</key>
338
+ <string>0</string>
339
+ </dict>
340
+ </dict>
341
+ <key>Tail</key>
342
+ <dict>
343
+ <key>ID</key>
344
+ <integer>11</integer>
345
+ </dict>
346
+ </dict>
347
+ <dict>
348
+ <key>Class</key>
349
+ <string>LineGraphic</string>
350
+ <key>Head</key>
351
+ <dict>
352
+ <key>ID</key>
353
+ <integer>27</integer>
354
+ </dict>
355
+ <key>ID</key>
356
+ <integer>34</integer>
357
+ <key>Points</key>
358
+ <array>
359
+ <string>{453.5, 567}</string>
360
+ <string>{453.5, 619}</string>
361
+ </array>
362
+ <key>Style</key>
363
+ <dict>
364
+ <key>stroke</key>
365
+ <dict>
366
+ <key>HeadArrow</key>
367
+ <string>FilledArrow</string>
368
+ <key>Legacy</key>
369
+ <true/>
370
+ <key>LineType</key>
371
+ <integer>1</integer>
372
+ <key>TailArrow</key>
373
+ <string>0</string>
374
+ </dict>
375
+ </dict>
376
+ <key>Tail</key>
377
+ <dict>
378
+ <key>ID</key>
379
+ <integer>22</integer>
380
+ <key>Info</key>
381
+ <integer>1</integer>
382
+ </dict>
383
+ </dict>
384
+ <dict>
385
+ <key>Class</key>
386
+ <string>LineGraphic</string>
387
+ <key>Head</key>
388
+ <dict>
389
+ <key>ID</key>
390
+ <integer>22</integer>
391
+ </dict>
392
+ <key>ID</key>
393
+ <integer>33</integer>
394
+ <key>Points</key>
395
+ <array>
396
+ <string>{279.49998664855957, 484}</string>
397
+ <string>{389, 542}</string>
398
+ </array>
399
+ <key>Style</key>
400
+ <dict>
401
+ <key>stroke</key>
402
+ <dict>
403
+ <key>HeadArrow</key>
404
+ <string>FilledArrow</string>
405
+ <key>Legacy</key>
406
+ <true/>
407
+ <key>LineType</key>
408
+ <integer>1</integer>
409
+ <key>TailArrow</key>
410
+ <string>0</string>
411
+ </dict>
412
+ </dict>
413
+ <key>Tail</key>
414
+ <dict>
415
+ <key>ID</key>
416
+ <integer>11</integer>
417
+ <key>Info</key>
418
+ <integer>1</integer>
419
+ </dict>
420
+ </dict>
421
+ <dict>
422
+ <key>Class</key>
423
+ <string>LineGraphic</string>
424
+ <key>Head</key>
425
+ <dict>
426
+ <key>ID</key>
427
+ <integer>28</integer>
428
+ <key>Info</key>
429
+ <integer>2</integer>
430
+ </dict>
431
+ <key>ID</key>
432
+ <integer>32</integer>
433
+ <key>Points</key>
434
+ <array>
435
+ <string>{279.49998664855957, 484}</string>
436
+ <string>{268, 537}</string>
437
+ </array>
438
+ <key>Style</key>
439
+ <dict>
440
+ <key>stroke</key>
441
+ <dict>
442
+ <key>HeadArrow</key>
443
+ <string>FilledArrow</string>
444
+ <key>Legacy</key>
445
+ <true/>
446
+ <key>LineType</key>
447
+ <integer>1</integer>
448
+ <key>TailArrow</key>
449
+ <string>0</string>
450
+ </dict>
451
+ </dict>
452
+ <key>Tail</key>
453
+ <dict>
454
+ <key>ID</key>
455
+ <integer>11</integer>
456
+ <key>Info</key>
457
+ <integer>1</integer>
458
+ </dict>
459
+ </dict>
460
+ <dict>
461
+ <key>Class</key>
462
+ <string>LineGraphic</string>
463
+ <key>Head</key>
464
+ <dict>
465
+ <key>ID</key>
466
+ <integer>25</integer>
467
+ <key>Info</key>
468
+ <integer>1</integer>
469
+ </dict>
470
+ <key>ID</key>
471
+ <integer>31</integer>
472
+ <key>Points</key>
473
+ <array>
474
+ <string>{279.49998664855957, 225}</string>
475
+ <string>{95.5, 121}</string>
476
+ </array>
477
+ <key>Style</key>
478
+ <dict>
479
+ <key>stroke</key>
480
+ <dict>
481
+ <key>HeadArrow</key>
482
+ <string>FilledArrow</string>
483
+ <key>Legacy</key>
484
+ <true/>
485
+ <key>LineType</key>
486
+ <integer>1</integer>
487
+ <key>TailArrow</key>
488
+ <string>0</string>
489
+ </dict>
490
+ </dict>
491
+ <key>Tail</key>
492
+ <dict>
493
+ <key>ID</key>
494
+ <integer>11</integer>
495
+ </dict>
496
+ </dict>
497
+ <dict>
498
+ <key>Class</key>
499
+ <string>LineGraphic</string>
500
+ <key>Head</key>
501
+ <dict>
502
+ <key>ID</key>
503
+ <integer>19</integer>
504
+ </dict>
505
+ <key>ID</key>
506
+ <integer>30</integer>
507
+ <key>Points</key>
508
+ <array>
509
+ <string>{433.5, 96}</string>
510
+ <string>{433.5, 153}</string>
511
+ </array>
512
+ <key>Style</key>
513
+ <dict>
514
+ <key>stroke</key>
515
+ <dict>
516
+ <key>HeadArrow</key>
517
+ <string>FilledArrow</string>
518
+ <key>Legacy</key>
519
+ <true/>
520
+ <key>LineType</key>
521
+ <integer>1</integer>
522
+ <key>TailArrow</key>
523
+ <string>0</string>
524
+ </dict>
525
+ </dict>
526
+ <key>Tail</key>
527
+ <dict>
528
+ <key>ID</key>
529
+ <integer>18</integer>
530
+ <key>Info</key>
531
+ <integer>1</integer>
532
+ </dict>
533
+ </dict>
534
+ <dict>
535
+ <key>Class</key>
536
+ <string>LineGraphic</string>
537
+ <key>Head</key>
538
+ <dict>
539
+ <key>ID</key>
540
+ <integer>26</integer>
541
+ <key>Info</key>
542
+ <integer>2</integer>
543
+ </dict>
544
+ <key>ID</key>
545
+ <integer>29</integer>
546
+ <key>Points</key>
547
+ <array>
548
+ <string>{95.5, 121}</string>
549
+ <string>{95.5, 198}</string>
550
+ </array>
551
+ <key>Style</key>
552
+ <dict>
553
+ <key>stroke</key>
554
+ <dict>
555
+ <key>HeadArrow</key>
556
+ <string>FilledArrow</string>
557
+ <key>Legacy</key>
558
+ <true/>
559
+ <key>LineType</key>
560
+ <integer>1</integer>
561
+ <key>TailArrow</key>
562
+ <string>0</string>
563
+ </dict>
564
+ </dict>
565
+ <key>Tail</key>
566
+ <dict>
567
+ <key>ID</key>
568
+ <integer>25</integer>
569
+ <key>Info</key>
570
+ <integer>1</integer>
571
+ </dict>
572
+ </dict>
573
+ <dict>
574
+ <key>Bounds</key>
575
+ <string>{{203.5, 537}, {129, 50}}</string>
576
+ <key>Class</key>
577
+ <string>ShapedGraphic</string>
578
+ <key>ID</key>
579
+ <integer>28</integer>
580
+ <key>Magnets</key>
581
+ <array>
582
+ <string>{0, 1}</string>
583
+ <string>{0, -1}</string>
584
+ <string>{1, 0}</string>
585
+ <string>{-1, 0}</string>
586
+ </array>
587
+ <key>Shape</key>
588
+ <string>Rectangle</string>
589
+ <key>Style</key>
590
+ <dict>
591
+ <key>stroke</key>
592
+ <dict>
593
+ <key>Pattern</key>
594
+ <integer>1</integer>
595
+ </dict>
596
+ </dict>
597
+ <key>Text</key>
598
+ <dict>
599
+ <key>Text</key>
600
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
601
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
602
+ {\colortbl;\red255\green255\blue255;}
603
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
604
+
605
+ \f0\fs20 \cf0 Your Class Goes Here}</string>
606
+ </dict>
607
+ </dict>
608
+ <dict>
609
+ <key>Bounds</key>
610
+ <string>{{389, 619}, {129, 50}}</string>
611
+ <key>Class</key>
612
+ <string>ShapedGraphic</string>
613
+ <key>ID</key>
614
+ <integer>27</integer>
615
+ <key>Magnets</key>
616
+ <array>
617
+ <string>{0, 1}</string>
618
+ <string>{0, -1}</string>
619
+ <string>{1, 0}</string>
620
+ <string>{-1, 0}</string>
621
+ </array>
622
+ <key>Shape</key>
623
+ <string>Rectangle</string>
624
+ <key>Style</key>
625
+ <dict>
626
+ <key>stroke</key>
627
+ <dict>
628
+ <key>Pattern</key>
629
+ <integer>1</integer>
630
+ </dict>
631
+ </dict>
632
+ <key>Text</key>
633
+ <dict>
634
+ <key>Text</key>
635
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
636
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
637
+ {\colortbl;\red255\green255\blue255;}
638
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
639
+
640
+ \f0\fs20 \cf0 Your Proxy Goes Here}</string>
641
+ </dict>
642
+ </dict>
643
+ <dict>
644
+ <key>Bounds</key>
645
+ <string>{{31, 198}, {129, 50}}</string>
646
+ <key>Class</key>
647
+ <string>ShapedGraphic</string>
648
+ <key>ID</key>
649
+ <integer>26</integer>
650
+ <key>Magnets</key>
651
+ <array>
652
+ <string>{0, 1}</string>
653
+ <string>{0, -1}</string>
654
+ <string>{1, 0}</string>
655
+ <string>{-1, 0}</string>
656
+ </array>
657
+ <key>Shape</key>
658
+ <string>Rectangle</string>
659
+ <key>Text</key>
660
+ <dict>
661
+ <key>Text</key>
662
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
663
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
664
+ {\colortbl;\red255\green255\blue255;}
665
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
666
+
667
+ \f0\fs20 \cf0 Header List}</string>
668
+ </dict>
669
+ </dict>
670
+ <dict>
671
+ <key>Bounds</key>
672
+ <string>{{31, 71}, {129, 50}}</string>
673
+ <key>Class</key>
674
+ <string>ShapedGraphic</string>
675
+ <key>ID</key>
676
+ <integer>25</integer>
677
+ <key>Magnets</key>
678
+ <array>
679
+ <string>{0, 1}</string>
680
+ <string>{0, -1}</string>
681
+ <string>{1, 0}</string>
682
+ <string>{-1, 0}</string>
683
+ </array>
684
+ <key>Shape</key>
685
+ <string>Rectangle</string>
686
+ <key>Text</key>
687
+ <dict>
688
+ <key>Text</key>
689
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
690
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
691
+ {\colortbl;\red255\green255\blue255;}
692
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
693
+
694
+ \f0\fs20 \cf0 Request}</string>
695
+ </dict>
696
+ </dict>
697
+ <dict>
698
+ <key>Bounds</key>
699
+ <string>{{20, 272}, {129, 50}}</string>
700
+ <key>Class</key>
701
+ <string>ShapedGraphic</string>
702
+ <key>ID</key>
703
+ <integer>24</integer>
704
+ <key>Magnets</key>
705
+ <array>
706
+ <string>{0, 1}</string>
707
+ <string>{0, -1}</string>
708
+ <string>{1, 0}</string>
709
+ <string>{-1, 0}</string>
710
+ </array>
711
+ <key>Shape</key>
712
+ <string>Rectangle</string>
713
+ <key>Text</key>
714
+ <dict>
715
+ <key>Text</key>
716
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
717
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
718
+ {\colortbl;\red255\green255\blue255;}
719
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
720
+
721
+ \f0\fs20 \cf0 Result Iterator}</string>
722
+ </dict>
723
+ </dict>
724
+ <dict>
725
+ <key>Bounds</key>
726
+ <string>{{20, 537}, {129, 50}}</string>
727
+ <key>Class</key>
728
+ <string>ShapedGraphic</string>
729
+ <key>ID</key>
730
+ <integer>23</integer>
731
+ <key>Magnets</key>
732
+ <array>
733
+ <string>{0, 1}</string>
734
+ <string>{0, -1}</string>
735
+ <string>{1, 0}</string>
736
+ <string>{-1, 0}</string>
737
+ </array>
738
+ <key>Shape</key>
739
+ <string>Rectangle</string>
740
+ <key>Text</key>
741
+ <dict>
742
+ <key>Text</key>
743
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
744
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
745
+ {\colortbl;\red255\green255\blue255;}
746
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
747
+
748
+ \f0\fs20 \cf0 Logger}</string>
749
+ </dict>
750
+ </dict>
751
+ <dict>
752
+ <key>Bounds</key>
753
+ <string>{{389, 517}, {129, 50}}</string>
754
+ <key>Class</key>
755
+ <string>ShapedGraphic</string>
756
+ <key>ID</key>
757
+ <integer>22</integer>
758
+ <key>Magnets</key>
759
+ <array>
760
+ <string>{0, 1}</string>
761
+ <string>{0, -1}</string>
762
+ <string>{1, 0}</string>
763
+ <string>{-1, 0}</string>
764
+ </array>
765
+ <key>Shape</key>
766
+ <string>Rectangle</string>
767
+ <key>Text</key>
768
+ <dict>
769
+ <key>Text</key>
770
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
771
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
772
+ {\colortbl;\red255\green255\blue255;}
773
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
774
+
775
+ \f0\fs20 \cf0 ProxyBase}</string>
776
+ </dict>
777
+ </dict>
778
+ <dict>
779
+ <key>Bounds</key>
780
+ <string>{{389, 404.5}, {129, 50}}</string>
781
+ <key>Class</key>
782
+ <string>ShapedGraphic</string>
783
+ <key>ID</key>
784
+ <integer>21</integer>
785
+ <key>Magnets</key>
786
+ <array>
787
+ <string>{0, 1}</string>
788
+ <string>{0, -1}</string>
789
+ <string>{1, 0}</string>
790
+ <string>{-1, 0}</string>
791
+ </array>
792
+ <key>Shape</key>
793
+ <string>Rectangle</string>
794
+ <key>Text</key>
795
+ <dict>
796
+ <key>Text</key>
797
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
798
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
799
+ {\colortbl;\red255\green255\blue255;}
800
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
801
+
802
+ \f0\fs20 \cf0 Lazy Association Loader}</string>
803
+ </dict>
804
+ </dict>
805
+ <dict>
806
+ <key>Bounds</key>
807
+ <string>{{389, 341.5}, {129, 50}}</string>
808
+ <key>Class</key>
809
+ <string>ShapedGraphic</string>
810
+ <key>ID</key>
811
+ <integer>20</integer>
812
+ <key>Magnets</key>
813
+ <array>
814
+ <string>{0, 1}</string>
815
+ <string>{0, -1}</string>
816
+ <string>{1, 0}</string>
817
+ <string>{-1, 0}</string>
818
+ </array>
819
+ <key>Shape</key>
820
+ <string>Rectangle</string>
821
+ <key>Text</key>
822
+ <dict>
823
+ <key>Text</key>
824
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
825
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
826
+ {\colortbl;\red255\green255\blue255;}
827
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
828
+
829
+ \f0\fs20 \cf0 Lazy Loader}</string>
830
+ </dict>
831
+ </dict>
832
+ <dict>
833
+ <key>Bounds</key>
834
+ <string>{{369, 153}, {129, 50}}</string>
835
+ <key>Class</key>
836
+ <string>ShapedGraphic</string>
837
+ <key>ID</key>
838
+ <integer>19</integer>
839
+ <key>Magnets</key>
840
+ <array>
841
+ <string>{0, 1}</string>
842
+ <string>{0, -1}</string>
843
+ <string>{1, 0}</string>
844
+ <string>{-1, 0}</string>
845
+ </array>
846
+ <key>Shape</key>
847
+ <string>Rectangle</string>
848
+ <key>Text</key>
849
+ <dict>
850
+ <key>Text</key>
851
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
852
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
853
+ {\colortbl;\red255\green255\blue255;}
854
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
855
+
856
+ \f0\fs20 \cf0 Connection}</string>
857
+ </dict>
858
+ </dict>
859
+ <dict>
860
+ <key>Bounds</key>
861
+ <string>{{369, 46}, {129, 50}}</string>
862
+ <key>Class</key>
863
+ <string>ShapedGraphic</string>
864
+ <key>ID</key>
865
+ <integer>18</integer>
866
+ <key>Magnets</key>
867
+ <array>
868
+ <string>{0, 1}</string>
869
+ <string>{0, -1}</string>
870
+ <string>{1, 0}</string>
871
+ <string>{-1, 0}</string>
872
+ </array>
873
+ <key>Shape</key>
874
+ <string>Rectangle</string>
875
+ <key>Text</key>
876
+ <dict>
877
+ <key>Text</key>
878
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
879
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
880
+ {\colortbl;\red255\green255\blue255;}
881
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
882
+
883
+ \f0\fs20 \cf0 Connection\
884
+ Manager}</string>
885
+ </dict>
886
+ </dict>
887
+ <dict>
888
+ <key>Bounds</key>
889
+ <string>{{214.49998664855957, 447.5}, {129, 24.5}}</string>
890
+ <key>Class</key>
891
+ <string>ShapedGraphic</string>
892
+ <key>ID</key>
893
+ <integer>17</integer>
894
+ <key>Magnets</key>
895
+ <array>
896
+ <string>{0, 1}</string>
897
+ <string>{0, -1}</string>
898
+ <string>{1, 0}</string>
899
+ <string>{-1, 0}</string>
900
+ </array>
901
+ <key>Shape</key>
902
+ <string>Rectangle</string>
903
+ <key>Text</key>
904
+ <dict>
905
+ <key>Text</key>
906
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
907
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
908
+ {\colortbl;\red255\green255\blue255;}
909
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
910
+
911
+ \f0\fs20 \cf0 Recording}</string>
912
+ </dict>
913
+ </dict>
914
+ <dict>
915
+ <key>Bounds</key>
916
+ <string>{{214.49998664855957, 411.5}, {129, 24.5}}</string>
917
+ <key>Class</key>
918
+ <string>ShapedGraphic</string>
919
+ <key>ID</key>
920
+ <integer>16</integer>
921
+ <key>Magnets</key>
922
+ <array>
923
+ <string>{0, 1}</string>
924
+ <string>{0, -1}</string>
925
+ <string>{1, 0}</string>
926
+ <string>{-1, 0}</string>
927
+ </array>
928
+ <key>Shape</key>
929
+ <string>Rectangle</string>
930
+ <key>Text</key>
931
+ <dict>
932
+ <key>Text</key>
933
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
934
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
935
+ {\colortbl;\red255\green255\blue255;}
936
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
937
+
938
+ \f0\fs20 \cf0 Caching}</string>
939
+ </dict>
940
+ </dict>
941
+ <dict>
942
+ <key>Bounds</key>
943
+ <string>{{214.49998664855957, 375.5}, {129, 24.5}}</string>
944
+ <key>Class</key>
945
+ <string>ShapedGraphic</string>
946
+ <key>ID</key>
947
+ <integer>15</integer>
948
+ <key>Magnets</key>
949
+ <array>
950
+ <string>{0, 1}</string>
951
+ <string>{0, -1}</string>
952
+ <string>{1, 0}</string>
953
+ <string>{-1, 0}</string>
954
+ </array>
955
+ <key>Shape</key>
956
+ <string>Rectangle</string>
957
+ <key>Text</key>
958
+ <dict>
959
+ <key>Text</key>
960
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
961
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
962
+ {\colortbl;\red255\green255\blue255;}
963
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
964
+
965
+ \f0\fs20 \cf0 Validation}</string>
966
+ </dict>
967
+ </dict>
968
+ <dict>
969
+ <key>Bounds</key>
970
+ <string>{{214.49998664855957, 339.5}, {129, 24.5}}</string>
971
+ <key>Class</key>
972
+ <string>ShapedGraphic</string>
973
+ <key>ID</key>
974
+ <integer>14</integer>
975
+ <key>Magnets</key>
976
+ <array>
977
+ <string>{0, 1}</string>
978
+ <string>{0, -1}</string>
979
+ <string>{1, 0}</string>
980
+ <string>{-1, 0}</string>
981
+ </array>
982
+ <key>Shape</key>
983
+ <string>Rectangle</string>
984
+ <key>Text</key>
985
+ <dict>
986
+ <key>Text</key>
987
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
988
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
989
+ {\colortbl;\red255\green255\blue255;}
990
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
991
+
992
+ \f0\fs20 \cf0 Request Filtering}</string>
993
+ </dict>
994
+ </dict>
995
+ <dict>
996
+ <key>Bounds</key>
997
+ <string>{{214.49998664855957, 303.5}, {129, 24.5}}</string>
998
+ <key>Class</key>
999
+ <string>ShapedGraphic</string>
1000
+ <key>ID</key>
1001
+ <integer>13</integer>
1002
+ <key>Magnets</key>
1003
+ <array>
1004
+ <string>{0, 1}</string>
1005
+ <string>{0, -1}</string>
1006
+ <string>{1, 0}</string>
1007
+ <string>{-1, 0}</string>
1008
+ </array>
1009
+ <key>Shape</key>
1010
+ <string>Rectangle</string>
1011
+ <key>Text</key>
1012
+ <dict>
1013
+ <key>Text</key>
1014
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
1015
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
1016
+ {\colortbl;\red255\green255\blue255;}
1017
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
1018
+
1019
+ \f0\fs20 \cf0 Mapping}</string>
1020
+ </dict>
1021
+ </dict>
1022
+ <dict>
1023
+ <key>Bounds</key>
1024
+ <string>{{214.49998664855957, 267.5}, {129, 24.5}}</string>
1025
+ <key>Class</key>
1026
+ <string>ShapedGraphic</string>
1027
+ <key>ID</key>
1028
+ <integer>12</integer>
1029
+ <key>Magnets</key>
1030
+ <array>
1031
+ <string>{0, 1}</string>
1032
+ <string>{0, -1}</string>
1033
+ <string>{1, 0}</string>
1034
+ <string>{-1, 0}</string>
1035
+ </array>
1036
+ <key>Shape</key>
1037
+ <string>Rectangle</string>
1038
+ <key>Text</key>
1039
+ <dict>
1040
+ <key>Text</key>
1041
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
1042
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
1043
+ {\colortbl;\red255\green255\blue255;}
1044
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
1045
+
1046
+ \f0\fs20 \cf0 Configuration}</string>
1047
+ </dict>
1048
+ </dict>
1049
+ <dict>
1050
+ <key>Bounds</key>
1051
+ <string>{{201.49998664855957, 225}, {156, 259}}</string>
1052
+ <key>Class</key>
1053
+ <string>ShapedGraphic</string>
1054
+ <key>ID</key>
1055
+ <integer>11</integer>
1056
+ <key>Magnets</key>
1057
+ <array>
1058
+ <string>{0, 1}</string>
1059
+ <string>{0, -1}</string>
1060
+ <string>{1, 0}</string>
1061
+ <string>{-1, 0}</string>
1062
+ </array>
1063
+ <key>Shape</key>
1064
+ <string>Rectangle</string>
1065
+ <key>Style</key>
1066
+ <dict/>
1067
+ <key>Text</key>
1068
+ <dict>
1069
+ <key>Text</key>
1070
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
1071
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
1072
+ {\colortbl;\red255\green255\blue255;}
1073
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
1074
+
1075
+ \f0\fs20 \cf0 Base}</string>
1076
+ </dict>
1077
+ <key>TextPlacement</key>
1078
+ <integer>0</integer>
1079
+ </dict>
1080
+ </array>
1081
+ <key>GridInfo</key>
1082
+ <dict/>
1083
+ <key>GuidesLocked</key>
1084
+ <string>NO</string>
1085
+ <key>GuidesVisible</key>
1086
+ <string>YES</string>
1087
+ <key>HPages</key>
1088
+ <integer>1</integer>
1089
+ <key>ImageCounter</key>
1090
+ <integer>1</integer>
1091
+ <key>KeepToScale</key>
1092
+ <false/>
1093
+ <key>Layers</key>
1094
+ <array>
1095
+ <dict>
1096
+ <key>Lock</key>
1097
+ <string>NO</string>
1098
+ <key>Name</key>
1099
+ <string>Layer 1</string>
1100
+ <key>Print</key>
1101
+ <string>YES</string>
1102
+ <key>View</key>
1103
+ <string>YES</string>
1104
+ </dict>
1105
+ </array>
1106
+ <key>LayoutInfo</key>
1107
+ <dict>
1108
+ <key>Animate</key>
1109
+ <string>NO</string>
1110
+ <key>circoMinDist</key>
1111
+ <real>18</real>
1112
+ <key>circoSeparation</key>
1113
+ <real>0.0</real>
1114
+ <key>layoutEngine</key>
1115
+ <string>dot</string>
1116
+ <key>neatoSeparation</key>
1117
+ <real>0.0</real>
1118
+ <key>twopiSeparation</key>
1119
+ <real>0.0</real>
1120
+ </dict>
1121
+ <key>LinksVisible</key>
1122
+ <string>NO</string>
1123
+ <key>MagnetsVisible</key>
1124
+ <string>NO</string>
1125
+ <key>MasterSheets</key>
1126
+ <array/>
1127
+ <key>ModificationDate</key>
1128
+ <string>2014-03-26 10:37:19 +0000</string>
1129
+ <key>Modifier</key>
1130
+ <string>Andy Jeffries</string>
1131
+ <key>NotesVisible</key>
1132
+ <string>NO</string>
1133
+ <key>Orientation</key>
1134
+ <integer>2</integer>
1135
+ <key>OriginVisible</key>
1136
+ <string>NO</string>
1137
+ <key>PageBreaks</key>
1138
+ <string>YES</string>
1139
+ <key>PrintInfo</key>
1140
+ <dict>
1141
+ <key>NSBottomMargin</key>
1142
+ <array>
1143
+ <string>float</string>
1144
+ <string>41</string>
1145
+ </array>
1146
+ <key>NSHorizonalPagination</key>
1147
+ <array>
1148
+ <string>coded</string>
1149
+ <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string>
1150
+ </array>
1151
+ <key>NSLeftMargin</key>
1152
+ <array>
1153
+ <string>float</string>
1154
+ <string>18</string>
1155
+ </array>
1156
+ <key>NSPaperSize</key>
1157
+ <array>
1158
+ <string>size</string>
1159
+ <string>{594.99997329711914, 842}</string>
1160
+ </array>
1161
+ <key>NSPrintReverseOrientation</key>
1162
+ <array>
1163
+ <string>int</string>
1164
+ <string>0</string>
1165
+ </array>
1166
+ <key>NSRightMargin</key>
1167
+ <array>
1168
+ <string>float</string>
1169
+ <string>18</string>
1170
+ </array>
1171
+ <key>NSTopMargin</key>
1172
+ <array>
1173
+ <string>float</string>
1174
+ <string>18</string>
1175
+ </array>
1176
+ </dict>
1177
+ <key>PrintOnePage</key>
1178
+ <false/>
1179
+ <key>ReadOnly</key>
1180
+ <string>NO</string>
1181
+ <key>RowAlign</key>
1182
+ <integer>1</integer>
1183
+ <key>RowSpacing</key>
1184
+ <real>36</real>
1185
+ <key>SheetTitle</key>
1186
+ <string>Canvas 1</string>
1187
+ <key>SmartAlignmentGuidesActive</key>
1188
+ <string>YES</string>
1189
+ <key>SmartDistanceGuidesActive</key>
1190
+ <string>YES</string>
1191
+ <key>UniqueID</key>
1192
+ <integer>1</integer>
1193
+ <key>UseEntirePage</key>
1194
+ <false/>
1195
+ <key>VPages</key>
1196
+ <integer>1</integer>
1197
+ <key>WindowInfo</key>
1198
+ <dict>
1199
+ <key>CurrentSheet</key>
1200
+ <integer>0</integer>
1201
+ <key>ExpandedCanvases</key>
1202
+ <array>
1203
+ <dict>
1204
+ <key>name</key>
1205
+ <string>Canvas 1</string>
1206
+ </dict>
1207
+ </array>
1208
+ <key>Frame</key>
1209
+ <string>{{36, 4}, {693, 874}}</string>
1210
+ <key>ListView</key>
1211
+ <true/>
1212
+ <key>OutlineWidth</key>
1213
+ <integer>142</integer>
1214
+ <key>RightSidebar</key>
1215
+ <false/>
1216
+ <key>ShowRuler</key>
1217
+ <true/>
1218
+ <key>Sidebar</key>
1219
+ <true/>
1220
+ <key>SidebarWidth</key>
1221
+ <integer>120</integer>
1222
+ <key>VisibleRegion</key>
1223
+ <string>{{0, 2}, {558, 735}}</string>
1224
+ <key>Zoom</key>
1225
+ <real>1</real>
1226
+ <key>ZoomValues</key>
1227
+ <array>
1228
+ <array>
1229
+ <string>Canvas 1</string>
1230
+ <real>1</real>
1231
+ <real>1</real>
1232
+ </array>
1233
+ </array>
1234
+ </dict>
1235
+ </dict>
1236
+ </plist>