Add talk
BIN
GT_Logo.jpg
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
air-back.jpg
Normal file
After Width: | Height: | Size: 1.7 MiB |
754
air-cloudy.shapesdoc/composition_data.plist
Normal file
|
@ -0,0 +1,754 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>compositions</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>children</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.25</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.25</real>
|
||||||
|
<key>attributedTextData</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTt9CntcY29sb3J0Ymw7XHJlZDI1NVxncmVl
|
||||||
|
bjI1NVxibHVlMjU1O1xyZWQwXGdyZWVuMFxi
|
||||||
|
bHVlMDt9CntcKlxleHBhbmRlZGNvbG9ydGJs
|
||||||
|
OztcY3NnZW5lcmljcmdiXGMwXGMwXGMwO30K
|
||||||
|
XHBhcmRcdHg1NjBcdHgxMTIwXHR4MTY4MFx0
|
||||||
|
eDIyNDBcdHgyODAwXHR4MzM2MFx0eDM5MjBc
|
||||||
|
dHg0NDgwXHR4NTA0MFx0eDU2MDBcdHg2MTYw
|
||||||
|
XHR4NjcyMFxwYXJkaXJuYXR1cmFsXHFjXHBh
|
||||||
|
cnRpZ2h0ZW5mYWN0b3IwCgpcZjBcZnMyOCBc
|
||||||
|
Y2YyIFx1cDAgQXBwbGUgSW50ZXJuZXQgUm91
|
||||||
|
dGVyfQ==
|
||||||
|
</data>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Box</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{265, 158}, {100, 100}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>15A4C3E6-20E9-423C-84D2-2F0629685937</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>100</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Box</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>attributedTextData</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTt9CntcY29sb3J0Ymw7XHJlZDI1NVxncmVl
|
||||||
|
bjI1NVxibHVlMjU1O1xyZWQwXGdyZWVuMFxi
|
||||||
|
bHVlMDt9CntcKlxleHBhbmRlZGNvbG9ydGJs
|
||||||
|
OztcY3NnZW5lcmljcmdiXGMwXGMwXGMwO30K
|
||||||
|
XHBhcmRcdHg1NjBcdHgxMTIwXHR4MTY4MFx0
|
||||||
|
eDIyNDBcdHgyODAwXHR4MzM2MFx0eDM5MjBc
|
||||||
|
dHg0NDgwXHR4NTA0MFx0eDU2MDBcdHg2MTYw
|
||||||
|
XHR4NjcyMFxwYXJkaXJuYXR1cmFsXHFjXHBh
|
||||||
|
cnRpZ2h0ZW5mYWN0b3IwCgpcZjBcZnMyOCBc
|
||||||
|
Y2YyIFx1cDAgQXBwbGVUYWxrIG5ldHdvcmt9
|
||||||
|
</data>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Cloud</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{45, 163}, {178, 95}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>C684FE57-CCC3-472F-B2C8-8BF7EC0BF17B</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>115</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Cloud</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>attributedTextData</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTt9CntcY29sb3J0Ymw7XHJlZDI1NVxncmVl
|
||||||
|
bjI1NVxibHVlMjU1O1xyZWQwXGdyZWVuMFxi
|
||||||
|
bHVlMDt9CntcKlxleHBhbmRlZGNvbG9ydGJs
|
||||||
|
OztcY3NnZW5lcmljcmdiXGMwXGMwXGMwO30K
|
||||||
|
XHBhcmRcdHg1NjBcdHgxMTIwXHR4MTY4MFx0
|
||||||
|
eDIyNDBcdHgyODAwXHR4MzM2MFx0eDM5MjBc
|
||||||
|
dHg0NDgwXHR4NTA0MFx0eDU2MDBcdHg2MTYw
|
||||||
|
XHR4NjcyMFxwYXJkaXJuYXR1cmFsXHFjXHBh
|
||||||
|
cnRpZ2h0ZW5mYWN0b3IwCgpcZjBcZnMyOCBc
|
||||||
|
Y2YyIFx1cDAgSVAgbmV0d29ya30=
|
||||||
|
</data>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Cloud</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{412, 158}, {178, 95}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>EB6B5FEF-9C46-4504-86E1-3C788F49CDB3</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>115</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Cloud</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>arrowTypeA</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>arrowTypeB</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Line</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>curveRatio</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>flipped</key>
|
||||||
|
<false/>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{265, 221}, {-42, -1}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>C5F4B4ED-3CE9-4702-8480-956CDA69EAC6</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>pathType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>100</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>2</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Line</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>arrowTypeA</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>arrowTypeB</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Line</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>curveRatio</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>flipped</key>
|
||||||
|
<false/>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{365, 208}, {47, 2}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>A46D32B5-8F0D-4FE1-BC60-03D4CFD9BEE3</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>pathType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>100</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>2</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Line</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Composition</string>
|
||||||
|
<key>connections</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>pointerCorner</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>pointerIdentifier</key>
|
||||||
|
<string>A46D32B5-8F0D-4FE1-BC60-03D4CFD9BEE3</string>
|
||||||
|
<key>shapeEdge</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>shapeIdentifier</key>
|
||||||
|
<string>15A4C3E6-20E9-423C-84D2-2F0629685937</string>
|
||||||
|
<key>shapeRatio</key>
|
||||||
|
<real>0.5</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>pointerCorner</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>pointerIdentifier</key>
|
||||||
|
<string>C5F4B4ED-3CE9-4702-8480-956CDA69EAC6</string>
|
||||||
|
<key>shapeEdge</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>shapeIdentifier</key>
|
||||||
|
<string>15A4C3E6-20E9-423C-84D2-2F0629685937</string>
|
||||||
|
<key>shapeRatio</key>
|
||||||
|
<real>0.63</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>pointerCorner</key>
|
||||||
|
<integer>8</integer>
|
||||||
|
<key>pointerIdentifier</key>
|
||||||
|
<string>C5F4B4ED-3CE9-4702-8480-956CDA69EAC6</string>
|
||||||
|
<key>shapeEdge</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>shapeIdentifier</key>
|
||||||
|
<string>C684FE57-CCC3-472F-B2C8-8BF7EC0BF17B</string>
|
||||||
|
<key>shapeRatio</key>
|
||||||
|
<real>0.60231920383310922</real>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{0, 0}, {640, 480}}</string>
|
||||||
|
<key>gridTolerance</key>
|
||||||
|
<real>10</real>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>E70BEC35-7F30-4D6E-810C-543C2BFB0AFA</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>metrics</key>
|
||||||
|
<dict>
|
||||||
|
<key>anchorCorner</key>
|
||||||
|
<integer>4</integer>
|
||||||
|
<key>anchorSize</key>
|
||||||
|
<string>{0, 0}</string>
|
||||||
|
<key>group</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>height</key>
|
||||||
|
<real>480</real>
|
||||||
|
<key>resolution</key>
|
||||||
|
<real>72</real>
|
||||||
|
<key>unitType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>width</key>
|
||||||
|
<real>640</real>
|
||||||
|
</dict>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>100</real>
|
||||||
|
<key>rulerOriginCorner</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>scrollCenterPoint</key>
|
||||||
|
<string>{319.5, 240}</string>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Page 1</string>
|
||||||
|
<key>userGuides</key>
|
||||||
|
<array/>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
<key>zoomScaleIndex</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>image_ref_counts</key>
|
||||||
|
<dict/>
|
||||||
|
<key>version</key>
|
||||||
|
<integer>8</integer>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
BIN
air-diagram.png
Normal file
After Width: | Height: | Size: 384 KiB |
BIN
air-front.jpg
Normal file
After Width: | Height: | Size: 220 KiB |
BIN
air-networks.png
Normal file
After Width: | Height: | Size: 209 KiB |
BIN
air-port-stats.png
Normal file
After Width: | Height: | Size: 146 KiB |
BIN
air-router-ports.png
Normal file
After Width: | Height: | Size: 124 KiB |
BIN
air-stats.png
Normal file
After Width: | Height: | Size: 110 KiB |
BIN
air.png
Normal file
After Width: | Height: | Size: 1.3 MiB |
2167
air.shapesdoc/composition_data.plist
Normal file
BIN
appletalkoverip_diagram.png
Normal file
After Width: | Height: | Size: 154 KiB |
BIN
atalk-dos.png
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
atalkinternet.png
Normal file
After Width: | Height: | Size: 228 KiB |
BIN
atalkoverip-sad.png
Normal file
After Width: | Height: | Size: 273 KiB |
983
atalkoverip.shapesdoc/composition_data.plist
Normal file
|
@ -0,0 +1,983 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>compositions</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>children</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>attributedTextData</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTt9CntcY29sb3J0Ymw7XHJlZDI1NVxncmVl
|
||||||
|
bjI1NVxibHVlMjU1O1xyZWQwXGdyZWVuMFxi
|
||||||
|
bHVlMDt9CntcKlxleHBhbmRlZGNvbG9ydGJs
|
||||||
|
OztcY3NnZW5lcmljcmdiXGMwXGMwXGMwO30K
|
||||||
|
XHBhcmRcdHg1NjBcdHgxMTIwXHR4MTY4MFx0
|
||||||
|
eDIyNDBcdHgyODAwXHR4MzM2MFx0eDM5MjBc
|
||||||
|
dHg0NDgwXHR4NTA0MFx0eDU2MDBcdHg2MTYw
|
||||||
|
XHR4NjcyMFxwYXJkaXJuYXR1cmFsXHFjXHBh
|
||||||
|
cnRpZ2h0ZW5mYWN0b3IwCgpcZjBcZnMyOCBc
|
||||||
|
Y2YyIFx1cDAgVGhlIEludGVybmV0fQ==
|
||||||
|
</data>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Cloud</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{212, 170}, {170, 76}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>F3CA3317-3FE2-4BC7-8E6F-722FFB457500</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>115</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Cloud</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.25</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.25</real>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Box</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{224, 29}, {158, 103}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>4BDC4A7C-E6B8-4E8E-8390-D23D1A07A0C6</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>115</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Box</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>arrowTypeA</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>arrowTypeB</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Line</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>curveRatio</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>flipped</key>
|
||||||
|
<false/>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{297, 132}, {0, 38}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>6E530217-474E-4EFD-94E5-D6EB7AA9733A</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>pathType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>130</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>2</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Line</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>attributedTextData</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTt9CntcY29sb3J0Ymw7XHJlZDI1NVxncmVl
|
||||||
|
bjI1NVxibHVlMjU1O1xyZWQwXGdyZWVuMFxi
|
||||||
|
bHVlMDt9CntcKlxleHBhbmRlZGNvbG9ydGJs
|
||||||
|
OztcY3NnZW5lcmljcmdiXGMwXGMwXGMwO30K
|
||||||
|
XHBhcmRcdHg1NjBcdHgxMTIwXHR4MTY4MFx0
|
||||||
|
eDIyNDBcdHgyODAwXHR4MzM2MFx0eDM5MjBc
|
||||||
|
dHg0NDgwXHR4NTA0MFx0eDU2MDBcdHg2MTYw
|
||||||
|
XHR4NjcyMFxwYXJkaXJuYXR1cmFsXHFjXHBh
|
||||||
|
cnRpZ2h0ZW5mYWN0b3IwCgpcZjBcZnMyOCBc
|
||||||
|
Y2YyIFx1cDAgWW91ciBNYWNpbnRvc2h9
|
||||||
|
</data>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Rectangle</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{234, 336}, {125, 69}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>06F7E6E8-C86B-4797-91B2-568203B3A630</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>100</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Rectangle</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>arrowTypeA</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>arrowTypeB</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Line</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>curveRatio</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>flipped</key>
|
||||||
|
<false/>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{303, 246}, {0, 90}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>6BFE4870-6EC6-401F-8ECA-04B1443D9FEF</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>pathType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>130</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>2</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Line</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>attributedTextData</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTt9CntcY29sb3J0Ymw7XHJlZDI1NVxncmVl
|
||||||
|
bjI1NVxibHVlMjU1O1xyZWQwXGdyZWVuMFxi
|
||||||
|
bHVlMDt9CntcKlxleHBhbmRlZGNvbG9ydGJs
|
||||||
|
OztcY3NnZW5lcmljcmdiXGMwXGMwXGMwO30K
|
||||||
|
XHBhcmRcdHg1NjBcdHgxMTIwXHR4MTY4MFx0
|
||||||
|
eDIyNDBcdHgyODAwXHR4MzM2MFx0eDM5MjBc
|
||||||
|
dHg0NDgwXHR4NTA0MFx0eDU2MDBcdHg2MTYw
|
||||||
|
XHR4NjcyMFxwYXJkaXJuYXR1cmFsXHBhcnRp
|
||||||
|
Z2h0ZW5mYWN0b3IwCgpcZjBcZnMzMCBcY2Yy
|
||||||
|
IEV0aGVybmV0P30=
|
||||||
|
</data>
|
||||||
|
<key>className</key>
|
||||||
|
<string>ResizeText</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string></string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{313, 282}, {69, 19}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>3B7835C2-1480-4473-8922-6A301D5F6C40</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>100</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>3</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Text</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>attributedTextData</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmbmlsXGZjaGFyc2V0MCBBcHBsZUNvbG9y
|
||||||
|
RW1vamk7fQp7XGNvbG9ydGJsO1xyZWQyNTVc
|
||||||
|
Z3JlZW4yNTVcYmx1ZTI1NTtccmVkMFxncmVl
|
||||||
|
bjBcYmx1ZTA7fQp7XCpcZXhwYW5kZWRjb2xv
|
||||||
|
cnRibDs7XGNzZ2VuZXJpY3JnYlxjMFxjMFxj
|
||||||
|
MDt9ClxwYXJkXHR4NTYwXHR4MTEyMFx0eDE2
|
||||||
|
ODBcdHgyMjQwXHR4MjgwMFx0eDMzNjBcdHgz
|
||||||
|
OTIwXHR4NDQ4MFx0eDUwNDBcdHg1NjAwXHR4
|
||||||
|
NjE2MFx0eDY3MjBccGFyZGlybmF0dXJhbFxw
|
||||||
|
YXJ0aWdodGVuZmFjdG9yMAoKXGYwXGZzMTA4
|
||||||
|
IFxjZjIgXHVwMCBcdWMwXHU1NTM1OCBcdTU3
|
||||||
|
MDU2IH0=
|
||||||
|
</data>
|
||||||
|
<key>className</key>
|
||||||
|
<string>ResizeText</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string></string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{259, 61}, {54, 71}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>1AEFEB06-13DD-43A8-A56E-6126290CC6DE</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>100</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>3</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Text</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Composition</string>
|
||||||
|
<key>connections</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>pointerCorner</key>
|
||||||
|
<integer>8</integer>
|
||||||
|
<key>pointerIdentifier</key>
|
||||||
|
<string>6BFE4870-6EC6-401F-8ECA-04B1443D9FEF</string>
|
||||||
|
<key>shapeEdge</key>
|
||||||
|
<integer>2</integer>
|
||||||
|
<key>shapeIdentifier</key>
|
||||||
|
<string>06F7E6E8-C86B-4797-91B2-568203B3A630</string>
|
||||||
|
<key>shapeRatio</key>
|
||||||
|
<real>0.55200000000000005</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>pointerCorner</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>pointerIdentifier</key>
|
||||||
|
<string>6E530217-474E-4EFD-94E5-D6EB7AA9733A</string>
|
||||||
|
<key>shapeEdge</key>
|
||||||
|
<integer>3</integer>
|
||||||
|
<key>shapeIdentifier</key>
|
||||||
|
<string>4BDC4A7C-E6B8-4E8E-8390-D23D1A07A0C6</string>
|
||||||
|
<key>shapeRatio</key>
|
||||||
|
<real>0.46202531645569622</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>pointerCorner</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>pointerIdentifier</key>
|
||||||
|
<string>6BFE4870-6EC6-401F-8ECA-04B1443D9FEF</string>
|
||||||
|
<key>shapeEdge</key>
|
||||||
|
<integer>3</integer>
|
||||||
|
<key>shapeIdentifier</key>
|
||||||
|
<string>F3CA3317-3FE2-4BC7-8E6F-722FFB457500</string>
|
||||||
|
<key>shapeRatio</key>
|
||||||
|
<real>0.53551515904335867</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>pointerCorner</key>
|
||||||
|
<integer>8</integer>
|
||||||
|
<key>pointerIdentifier</key>
|
||||||
|
<string>6E530217-474E-4EFD-94E5-D6EB7AA9733A</string>
|
||||||
|
<key>shapeEdge</key>
|
||||||
|
<integer>2</integer>
|
||||||
|
<key>shapeIdentifier</key>
|
||||||
|
<string>F3CA3317-3FE2-4BC7-8E6F-722FFB457500</string>
|
||||||
|
<key>shapeRatio</key>
|
||||||
|
<real>0.50021225769668909</real>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{0, 0}, {640, 480}}</string>
|
||||||
|
<key>gridTolerance</key>
|
||||||
|
<real>10</real>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>C73DCBF2-4022-4EDE-BD98-E5AD8E9790E2</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>metrics</key>
|
||||||
|
<dict>
|
||||||
|
<key>anchorCorner</key>
|
||||||
|
<integer>4</integer>
|
||||||
|
<key>anchorSize</key>
|
||||||
|
<string>{0, 0}</string>
|
||||||
|
<key>group</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>height</key>
|
||||||
|
<real>480</real>
|
||||||
|
<key>resolution</key>
|
||||||
|
<real>72</real>
|
||||||
|
<key>unitType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>width</key>
|
||||||
|
<real>640</real>
|
||||||
|
</dict>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>100</real>
|
||||||
|
<key>rulerOriginCorner</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>scrollCenterPoint</key>
|
||||||
|
<string>{319.5, 240}</string>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>2</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Page 1</string>
|
||||||
|
<key>userGuides</key>
|
||||||
|
<array/>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
<key>zoomScaleIndex</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>image_ref_counts</key>
|
||||||
|
<dict/>
|
||||||
|
<key>version</key>
|
||||||
|
<integer>8</integer>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
BIN
atcpuser.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
aurp-packet-layouts.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
aurp-pie.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
aurp-state1.png
Normal file
After Width: | Height: | Size: 212 KiB |
BIN
aurp-state2.png
Normal file
After Width: | Height: | Size: 195 KiB |
BIN
aurp.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
aww.png
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
bolo.png
Normal file
After Width: | Height: | Size: 120 KiB |
BIN
buffcrying.png
Normal file
After Width: | Height: | Size: 293 KiB |
1
buildkite.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 387" xml:space="preserve"><path d="M0 384.8h32.1c15.9 0 23.8-6.5 23.8-19.7 0-7-3.5-12.5-9.3-15v-.1c4.3-2.3 6.9-6.9 6.9-12.4 0-10-8-17.1-19.1-17.1H0v64.3zm11.9-38.1v-15.8h20.5c6 0 9.3 2.8 9.3 7.8 0 5.3-3.1 8-9.3 8H11.9zm0 27.5v-18H33c7.5 0 11 2.9 11 8.9s-3.4 9.1-11.1 9.1h-21zM63.3 364.4c0 13.6 8.3 21.8 21.8 21.8 7.3 0 13.1-2.3 17.1-6.4h.2v5.1h11v-48.7H102v26.5c0 7.8-5.8 13.3-14 13.3s-13.3-4.9-13.3-13.3v-26.5H63.3v28.2zM123.5 384.8h11.4v-48.7h-11.4v48.7zm-.4-57h12.1v-11.7h-12.1v11.7zM145.2 384.8h11.4v-67.1h-11.4v67.1zM165.1 360.4c0 15.1 11 25.7 26.3 25.7 7.3 0 13.3-2.4 17-6.5h.2v5.1h10.8v-67.1H208v23h-.2c-4-3.8-9.9-6-16.8-6-14.9.1-25.9 11.2-25.9 25.8zm42.9 3.2c0 6.9-6.9 12.6-15.5 12.6-9.7 0-16-6.2-16-15.7 0-9.6 6.4-15.7 15.9-15.7 8.5 0 15.6 5.5 15.6 12.4v6.4zM229.5 384.8h11.4v-14l9.3-7.9h.2l17.8 21.9h14.2l-24.1-28.9 23.1-19.8H265L241.1 357h-.2v-39.2h-11.4v67zM288.6 384.8H300v-48.7h-11.4v48.7zm-.4-57h12.1v-11.7h-12.1v11.7zM344.5 345.8v-9.7h-15.7v-11.8h-11.4v11.8h-11.2v9.7h11.2v24.9c0 9.8 4.5 14.1 15.6 14.1h9.4v-10.5h-8.5c-4 0-5.2-.9-5.2-4.1v-24.3h15.8v-.1zM347.7 360.6c0 15.4 10.4 25.5 26.9 25.5 10 0 17.9-3.7 23.5-10.9l-7.6-6.8c-4.5 5.6-9.4 8.3-15.9 8.3-8.9 0-15.1-5-15.5-12.6h41v-3.4c0-14.8-10.4-26-26-26s-26.4 10.8-26.4 25.9zm11.5-4.8c.7-6.9 6.7-11.7 14.9-11.7s14 4.8 14.6 11.7h-29.5z" fill="#1a002e"/><path d="M0 0v133l133.1 66.5v-133L0 0zM266.2 0v133l133.1-66.5L266.2 0z" fill="#30f2a2"/><path d="M266.2 133.1v133l133.1-66.5V66.5l-133.1 66.6zM133.1 66.5v133L266.2 133V0L133.1 66.5z" fill="#14cc80"/></svg>
|
After Width: | Height: | Size: 1.5 KiB |
BIN
bustopology.png
Normal file
After Width: | Height: | Size: 464 KiB |
BIN
centris-back.JPG
Normal file
After Width: | Height: | Size: 203 KiB |
BIN
chooser-nozones.png
Normal file
After Width: | Height: | Size: 219 KiB |
BIN
chooser-zones.png
Normal file
After Width: | Height: | Size: 193 KiB |
BIN
cksum.png
Normal file
After Width: | Height: | Size: 193 KiB |
BIN
classic-back.HEIC
Normal file
BIN
copying-files.png
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
ddp-vs-ip.png
Normal file
After Width: | Height: | Size: 276 KiB |
562
ddp-vs-ip.shapesdoc/composition_data.plist
Normal file
|
@ -0,0 +1,562 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>compositions</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>children</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.10000000000000001</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>attributedText1Data</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTtcZjFcZnN3aXNzXGZjaGFyc2V0MCBIZWx2
|
||||||
|
ZXRpY2EtQm9sZDt9CntcY29sb3J0Ymw7XHJl
|
||||||
|
ZDI1NVxncmVlbjI1NVxibHVlMjU1O1xyZWQw
|
||||||
|
XGdyZWVuMFxibHVlMDt9CntcKlxleHBhbmRl
|
||||||
|
ZGNvbG9ydGJsOztcY3NncmF5XGMwO30KXHBh
|
||||||
|
cmRcdHg1NjBcdHgxMTIwXHR4MTY4MFx0eDIy
|
||||||
|
NDBcdHgyODAwXHR4MzM2MFx0eDM5MjBcdHg0
|
||||||
|
NDgwXHR4NTA0MFx0eDU2MDBcdHg2MTYwXHR4
|
||||||
|
NjcyMFxwYXJkaXJuYXR1cmFsXHFyXHBhcnRp
|
||||||
|
Z2h0ZW5mYWN0b3IwCgpcZjBcZnMyNCBcY2Yy
|
||||||
|
IEhvcCBjb3VudDogNCBiaXRzXApcCgpcZjFc
|
||||||
|
YiBTb3VyY2UgbmV0d29yazogMTYgYml0c1wK
|
||||||
|
U291cmNlIG5vZGU6IDggYml0cwpcZjBcYjAg
|
||||||
|
XApTb3VyY2Ugc29ja2V0OiA4IGJpdHNcClwK
|
||||||
|
ClxmMVxiIERlc3RpbmF0aW9uIG5ldHdvcms6
|
||||||
|
IDE2IGJpdHNcCkRlc3RpbmF0aW9uIG5vZGU6
|
||||||
|
IDggYml0c1wKClxmMFxiMCBEZXN0aW5hdGlv
|
||||||
|
biBzb2NrZXQ6IDggYml0c1wKXApQcm90b2Nv
|
||||||
|
bCB0eXBlOiA4IGJpdHNcCn0=
|
||||||
|
</data>
|
||||||
|
<key>attributedTextData</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTt9CntcY29sb3J0Ymw7XHJlZDI1NVxncmVl
|
||||||
|
bjI1NVxibHVlMjU1O1xyZWQwXGdyZWVuMFxi
|
||||||
|
bHVlMDt9CntcKlxleHBhbmRlZGNvbG9ydGJs
|
||||||
|
OztcY3NnZW5lcmljcmdiXGMwXGMwXGMwO30K
|
||||||
|
XHBhcmRcdHg1NjBcdHgxMTIwXHR4MTY4MFx0
|
||||||
|
eDIyNDBcdHgyODAwXHR4MzM2MFx0eDM5MjBc
|
||||||
|
dHg0NDgwXHR4NTA0MFx0eDU2MDBcdHg2MTYw
|
||||||
|
XHR4NjcyMFxwYXJkaXJuYXR1cmFsXHFjXHBh
|
||||||
|
cnRpZ2h0ZW5mYWN0b3IwCgpcZjBcZnMyNCBc
|
||||||
|
Y2YyIFx1cDAgRERQfQ==
|
||||||
|
</data>
|
||||||
|
<key>className</key>
|
||||||
|
<string>TitleBox</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{92, 91}, {190, 254}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>32832BDA-9F03-4CD4-857E-6FE4C5472225</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>130</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.304030:0.641902:1.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>2</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Title Box</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.10000000000000001</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>attributedText1Data</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTtcZjFcZnN3aXNzXGZjaGFyc2V0MCBIZWx2
|
||||||
|
ZXRpY2EtQm9sZDt9CntcY29sb3J0Ymw7XHJl
|
||||||
|
ZDI1NVxncmVlbjI1NVxibHVlMjU1O1xyZWQw
|
||||||
|
XGdyZWVuMFxibHVlMDt9CntcKlxleHBhbmRl
|
||||||
|
ZGNvbG9ydGJsOztcY3NwdGhyZWVcYzBcYzBc
|
||||||
|
YzA7fQpccGFyZFx0eDU2MFx0eDExMjBcdHgx
|
||||||
|
NjgwXHR4MjI0MFx0eDI4MDBcdHgzMzYwXHR4
|
||||||
|
MzkyMFx0eDQ0ODBcdHg1MDQwXHR4NTYwMFx0
|
||||||
|
eDYxNjBcdHg2NzIwXHBhcmRpcm5hdHVyYWxc
|
||||||
|
cXJccGFydGlnaHRlbmZhY3RvcjAKClxmMFxm
|
||||||
|
czI0IFxjZjIgVGltZS10by1saXZlOiA4IGJp
|
||||||
|
dHNcClByb3RvY29sIHR5cGU6IDggYml0c1wK
|
||||||
|
ClxmMVxiIFNvdXJjZSBhZGRyZXNzOiAzMiBi
|
||||||
|
aXRzXApEZXN0aW5hdGlvbiBhZGRyZXNzIDMy
|
||||||
|
IGJpdHN9
|
||||||
|
</data>
|
||||||
|
<key>attributedTextData</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTt9CntcY29sb3J0Ymw7XHJlZDI1NVxncmVl
|
||||||
|
bjI1NVxibHVlMjU1O1xyZWQwXGdyZWVuMFxi
|
||||||
|
bHVlMDt9CntcKlxleHBhbmRlZGNvbG9ydGJs
|
||||||
|
OztcY3NwdGhyZWVcYzBcYzBcYzA7fQpccGFy
|
||||||
|
ZFx0eDU2MFx0eDExMjBcdHgxNjgwXHR4MjI0
|
||||||
|
MFx0eDI4MDBcdHgzMzYwXHR4MzkyMFx0eDQ0
|
||||||
|
ODBcdHg1MDQwXHR4NTYwMFx0eDYxNjBcdHg2
|
||||||
|
NzIwXHBhcmRpcm5hdHVyYWxccWNccGFydGln
|
||||||
|
aHRlbmZhY3RvcjAKClxmMFxmczI0IFxjZjIg
|
||||||
|
XHVwMCBJUHY0fQ==
|
||||||
|
</data>
|
||||||
|
<key>className</key>
|
||||||
|
<string>TitleBox</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{340, 227}, {190, 118}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>B9D780B9-0C92-4C26-AEDF-C21C05C990B7</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>130</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.273143:0.994893:0.289632:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>2</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Title Box</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.10000000000000001</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>attributedText1Data</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTt9CntcY29sb3J0Ymw7XHJlZDI1NVxncmVl
|
||||||
|
bjI1NVxibHVlMjU1O1xyZWQwXGdyZWVuMFxi
|
||||||
|
bHVlMDt9CntcKlxleHBhbmRlZGNvbG9ydGJs
|
||||||
|
OztcY3NwdGhyZWVcYzBcYzBcYzA7fQpccGFy
|
||||||
|
ZFx0eDU2MFx0eDExMjBcdHgxNjgwXHR4MjI0
|
||||||
|
MFx0eDI4MDBcdHgzMzYwXHR4MzkyMFx0eDQ0
|
||||||
|
ODBcdHg1MDQwXHR4NTYwMFx0eDYxNjBcdHg2
|
||||||
|
NzIwXHBhcmRpcm5hdHVyYWxccXJccGFydGln
|
||||||
|
aHRlbmZhY3RvcjAKClxmMFxmczI0IFxjZjIg
|
||||||
|
U291cmNlIHBvcnQ6IDE2IGJpdHNcCkRlc3Rp
|
||||||
|
bmF0aW9uIHBvcnQ6IDE2IGJpdHN9
|
||||||
|
</data>
|
||||||
|
<key>attributedTextData</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTt9CntcY29sb3J0Ymw7XHJlZDI1NVxncmVl
|
||||||
|
bjI1NVxibHVlMjU1O1xyZWQwXGdyZWVuMFxi
|
||||||
|
bHVlMDt9CntcKlxleHBhbmRlZGNvbG9ydGJs
|
||||||
|
OztcY3NwdGhyZWVcYzBcYzBcYzA7fQpccGFy
|
||||||
|
ZFx0eDU2MFx0eDExMjBcdHgxNjgwXHR4MjI0
|
||||||
|
MFx0eDI4MDBcdHgzMzYwXHR4MzkyMFx0eDQ0
|
||||||
|
ODBcdHg1MDQwXHR4NTYwMFx0eDYxNjBcdHg2
|
||||||
|
NzIwXHBhcmRpcm5hdHVyYWxccWNccGFydGln
|
||||||
|
aHRlbmZhY3RvcjAKClxmMFxmczI0IFxjZjIg
|
||||||
|
XHVwMCBVRFAgYW5kIFRDUH0=
|
||||||
|
</data>
|
||||||
|
<key>className</key>
|
||||||
|
<string>TitleBox</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{340, 91}, {190, 108}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>C75EB962-8DA8-48EE-A3C0-4B8EAB3A35E9</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>130</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.611546:0.986862:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>2</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Title Box</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Composition</string>
|
||||||
|
<key>connections</key>
|
||||||
|
<array/>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{0, 0}, {640, 480}}</string>
|
||||||
|
<key>gridTolerance</key>
|
||||||
|
<real>10</real>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>A12D887F-EA0A-40A4-8802-57290F5015DF</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>metrics</key>
|
||||||
|
<dict>
|
||||||
|
<key>anchorCorner</key>
|
||||||
|
<integer>4</integer>
|
||||||
|
<key>anchorSize</key>
|
||||||
|
<string>{0, 0}</string>
|
||||||
|
<key>group</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>height</key>
|
||||||
|
<real>480</real>
|
||||||
|
<key>resolution</key>
|
||||||
|
<real>72</real>
|
||||||
|
<key>unitType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>width</key>
|
||||||
|
<real>640</real>
|
||||||
|
</dict>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>100</real>
|
||||||
|
<key>rulerOriginCorner</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>scrollCenterPoint</key>
|
||||||
|
<string>{319.5, 240}</string>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Page 1</string>
|
||||||
|
<key>userGuides</key>
|
||||||
|
<array/>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
<key>zoomScaleIndex</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>image_ref_counts</key>
|
||||||
|
<dict/>
|
||||||
|
<key>version</key>
|
||||||
|
<integer>8</integer>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
BIN
demo-arch.png
Normal file
After Width: | Height: | Size: 384 KiB |
2063
demo-arch.shapesdoc/composition_data.plist
Normal file
BIN
dongleback.HEIC
Normal file
BIN
dongleplug.HEIC
Normal file
BIN
dongletop.HEIC
Normal file
BIN
europlus.png
Normal file
After Width: | Height: | Size: 946 KiB |
BIN
fam.JPG
Normal file
After Width: | Height: | Size: 2.7 MiB |
BIN
figurewhere.png
Normal file
After Width: | Height: | Size: 131 KiB |
BIN
foundit.png
Normal file
After Width: | Height: | Size: 241 KiB |
BIN
gtchat1.png
Normal file
After Width: | Height: | Size: 170 KiB |
BIN
gtchat2.png
Normal file
After Width: | Height: | Size: 208 KiB |
BIN
gtsetup1.png
Normal file
After Width: | Height: | Size: 125 KiB |
BIN
imac.HEIC
Normal file
BIN
inside-at.jpg
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
ipv4header.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
is-it-safe.png
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
ltmodule.png
Normal file
After Width: | Height: | Size: 236 KiB |
BIN
ltnetwork.png
Normal file
After Width: | Height: | Size: 102 KiB |
BIN
mac-back.jpg
Normal file
After Width: | Height: | Size: 427 KiB |
BIN
mac-ports.jpeg
Normal file
After Width: | Height: | Size: 57 KiB |
870
macip.shapesdoc/composition_data.plist
Normal file
|
@ -0,0 +1,870 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>compositions</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>children</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.25</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.25</real>
|
||||||
|
<key>attributedTextData</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTt9CntcY29sb3J0Ymw7XHJlZDI1NVxncmVl
|
||||||
|
bjI1NVxibHVlMjU1O1xyZWQwXGdyZWVuMFxi
|
||||||
|
bHVlMDt9CntcKlxleHBhbmRlZGNvbG9ydGJs
|
||||||
|
OztcY3NnZW5lcmljcmdiXGMwXGMwXGMwO30K
|
||||||
|
XHBhcmRcdHg1NjBcdHgxMTIwXHR4MTY4MFx0
|
||||||
|
eDIyNDBcdHgyODAwXHR4MzM2MFx0eDM5MjBc
|
||||||
|
dHg0NDgwXHR4NTA0MFx0eDU2MDBcdHg2MTYw
|
||||||
|
XHR4NjcyMFxwYXJkaXJuYXR1cmFsXHFjXHBh
|
||||||
|
cnRpZ2h0ZW5mYWN0b3IwCgpcZjBcZnMyOCBc
|
||||||
|
Y2YyIFx1cDAgTWFjSVAgR2F0ZXdheX0=
|
||||||
|
</data>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Box</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{265, 158}, {100, 100}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>15A4C3E6-20E9-423C-84D2-2F0629685937</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>100</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Box</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>attributedTextData</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTt9CntcY29sb3J0Ymw7XHJlZDI1NVxncmVl
|
||||||
|
bjI1NVxibHVlMjU1O1xyZWQwXGdyZWVuMFxi
|
||||||
|
bHVlMDt9CntcKlxleHBhbmRlZGNvbG9ydGJs
|
||||||
|
OztcY3NnZW5lcmljcmdiXGMwXGMwXGMwO30K
|
||||||
|
XHBhcmRcdHg1NjBcdHgxMTIwXHR4MTY4MFx0
|
||||||
|
eDIyNDBcdHgyODAwXHR4MzM2MFx0eDM5MjBc
|
||||||
|
dHg0NDgwXHR4NTA0MFx0eDU2MDBcdHg2MTYw
|
||||||
|
XHR4NjcyMFxwYXJkaXJuYXR1cmFsXHFjXHBh
|
||||||
|
cnRpZ2h0ZW5mYWN0b3IwCgpcZjBcZnMyOCBc
|
||||||
|
Y2YyIFx1cDAgQXBwbGVUYWxrIG5ldHdvcmt9
|
||||||
|
</data>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Cloud</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{45, 163}, {178, 95}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>C684FE57-CCC3-472F-B2C8-8BF7EC0BF17B</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>115</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Cloud</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>attributedTextData</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTt9CntcY29sb3J0Ymw7XHJlZDI1NVxncmVl
|
||||||
|
bjI1NVxibHVlMjU1O1xyZWQwXGdyZWVuMFxi
|
||||||
|
bHVlMDt9CntcKlxleHBhbmRlZGNvbG9ydGJs
|
||||||
|
OztcY3NnZW5lcmljcmdiXGMwXGMwXGMwO30K
|
||||||
|
XHBhcmRcdHg1NjBcdHgxMTIwXHR4MTY4MFx0
|
||||||
|
eDIyNDBcdHgyODAwXHR4MzM2MFx0eDM5MjBc
|
||||||
|
dHg0NDgwXHR4NTA0MFx0eDU2MDBcdHg2MTYw
|
||||||
|
XHR4NjcyMFxwYXJkaXJuYXR1cmFsXHFjXHBh
|
||||||
|
cnRpZ2h0ZW5mYWN0b3IwCgpcZjBcZnMyOCBc
|
||||||
|
Y2YyIFx1cDAgSVAgbmV0d29ya30=
|
||||||
|
</data>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Cloud</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{412, 158}, {178, 95}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>EB6B5FEF-9C46-4504-86E1-3C788F49CDB3</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>115</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Cloud</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>attributedTextData</key>
|
||||||
|
<data>
|
||||||
|
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29j
|
||||||
|
b2FydGYyNzYxClxjb2NvYXRleHRzY2FsaW5n
|
||||||
|
MFxjb2NvYXBsYXRmb3JtMHtcZm9udHRibFxm
|
||||||
|
MFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGlj
|
||||||
|
YTt9CntcY29sb3J0Ymw7XHJlZDI1NVxncmVl
|
||||||
|
bjI1NVxibHVlMjU1O1xyZWQwXGdyZWVuMFxi
|
||||||
|
bHVlMDt9CntcKlxleHBhbmRlZGNvbG9ydGJs
|
||||||
|
OztcY3NnZW5lcmljcmdiXGMwXGMwXGMwO30K
|
||||||
|
XHBhcmRcdHg1NjBcdHgxMTIwXHR4MTY4MFx0
|
||||||
|
eDIyNDBcdHgyODAwXHR4MzM2MFx0eDM5MjBc
|
||||||
|
dHg0NDgwXHR4NTA0MFx0eDU2MDBcdHg2MTYw
|
||||||
|
XHR4NjcyMFxwYXJkaXJuYXR1cmFsXHBhcnRp
|
||||||
|
Z2h0ZW5mYWN0b3IwCgpcZjBcZnMzMCBcY2Yy
|
||||||
|
IFx1cDAgTmV0d29yayB0cmFuc2xhdGlvbn0=
|
||||||
|
</data>
|
||||||
|
<key>className</key>
|
||||||
|
<string>ResizeText</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string></string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{251, 276}, {128, 18}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>1CDE3656-2ABF-45D0-B50A-C329307C6656</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>100</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>3</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Text</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>arrowTypeA</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>arrowTypeB</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Line</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>curveRatio</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>flipped</key>
|
||||||
|
<false/>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{265, 221}, {-42, -1}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>C5F4B4ED-3CE9-4702-8480-956CDA69EAC6</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>pathType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>100</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>2</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Line</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>adjustmentRatioX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>adjustmentRatioY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>arrowTypeA</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>arrowTypeB</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Line</string>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>curveRatio</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>flipped</key>
|
||||||
|
<false/>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{365, 208}, {47, 2}}</string>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>A46D32B5-8F0D-4FE1-BC60-03D4CFD9BEE3</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>pathType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>100</real>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>2</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Line</string>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>className</key>
|
||||||
|
<string>Composition</string>
|
||||||
|
<key>connections</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>pointerCorner</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>pointerIdentifier</key>
|
||||||
|
<string>A46D32B5-8F0D-4FE1-BC60-03D4CFD9BEE3</string>
|
||||||
|
<key>shapeEdge</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>shapeIdentifier</key>
|
||||||
|
<string>15A4C3E6-20E9-423C-84D2-2F0629685937</string>
|
||||||
|
<key>shapeRatio</key>
|
||||||
|
<real>0.5</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>pointerCorner</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>pointerIdentifier</key>
|
||||||
|
<string>C5F4B4ED-3CE9-4702-8480-956CDA69EAC6</string>
|
||||||
|
<key>shapeEdge</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>shapeIdentifier</key>
|
||||||
|
<string>15A4C3E6-20E9-423C-84D2-2F0629685937</string>
|
||||||
|
<key>shapeRatio</key>
|
||||||
|
<real>0.63</real>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>pointerCorner</key>
|
||||||
|
<integer>8</integer>
|
||||||
|
<key>pointerIdentifier</key>
|
||||||
|
<string>C5F4B4ED-3CE9-4702-8480-956CDA69EAC6</string>
|
||||||
|
<key>shapeEdge</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>shapeIdentifier</key>
|
||||||
|
<string>C684FE57-CCC3-472F-B2C8-8BF7EC0BF17B</string>
|
||||||
|
<key>shapeRatio</key>
|
||||||
|
<real>0.60231920383310922</real>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>constrainAspectRatio</key>
|
||||||
|
<false/>
|
||||||
|
<key>contentFilterSpecs</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>fillColor</key>
|
||||||
|
<string>1.000000:1.000000:1.000000:1.000000</string>
|
||||||
|
<key>fillGradientElements</key>
|
||||||
|
<array/>
|
||||||
|
<key>fillShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>fillShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>fillShadowHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>fillShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>fillType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>frame</key>
|
||||||
|
<string>{{0, 0}, {640, 480}}</string>
|
||||||
|
<key>gridTolerance</key>
|
||||||
|
<real>10</real>
|
||||||
|
<key>hidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>identifier</key>
|
||||||
|
<string>E70BEC35-7F30-4D6E-810C-543C2BFB0AFA</string>
|
||||||
|
<key>imageAnchorRatio</key>
|
||||||
|
<string>{0.5, 0.5}</string>
|
||||||
|
<key>imageType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>locked</key>
|
||||||
|
<false/>
|
||||||
|
<key>metrics</key>
|
||||||
|
<dict>
|
||||||
|
<key>anchorCorner</key>
|
||||||
|
<integer>4</integer>
|
||||||
|
<key>anchorSize</key>
|
||||||
|
<string>{0, 0}</string>
|
||||||
|
<key>group</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>height</key>
|
||||||
|
<real>480</real>
|
||||||
|
<key>resolution</key>
|
||||||
|
<real>72</real>
|
||||||
|
<key>unitType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>width</key>
|
||||||
|
<real>640</real>
|
||||||
|
</dict>
|
||||||
|
<key>opacity</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>rotationAngle</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>rotationHandleRadius</key>
|
||||||
|
<real>100</real>
|
||||||
|
<key>rulerOriginCorner</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>scaleImage</key>
|
||||||
|
<true/>
|
||||||
|
<key>scrollCenterPoint</key>
|
||||||
|
<string>{320, 240}</string>
|
||||||
|
<key>stroke1Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke1Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>stroke2Color</key>
|
||||||
|
<string></string>
|
||||||
|
<key>stroke2Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>strokeColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:1.000000</string>
|
||||||
|
<key>strokeLineCap</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineJoin</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>strokeLineWidth</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>strokeShadowBlur</key>
|
||||||
|
<real>3</real>
|
||||||
|
<key>strokeShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>strokeShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>strokeShadowOffsetX</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeShadowOffsetY</key>
|
||||||
|
<real>2</real>
|
||||||
|
<key>strokeType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textAlign</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>textAppearanceType</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>textDrawOnPath</key>
|
||||||
|
<false/>
|
||||||
|
<key>textShadowBlur</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>textShadowColor</key>
|
||||||
|
<string>0.000000:0.000000:0.000000:0.333000</string>
|
||||||
|
<key>textShadowHidden</key>
|
||||||
|
<true/>
|
||||||
|
<key>textShadowOffsetX</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textShadowOffsetY</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>textVerticalAlign</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>title</key>
|
||||||
|
<string>Page 1</string>
|
||||||
|
<key>userGuides</key>
|
||||||
|
<array/>
|
||||||
|
<key>userSetTitle</key>
|
||||||
|
<false/>
|
||||||
|
<key>zoomScaleIndex</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>image_ref_counts</key>
|
||||||
|
<dict/>
|
||||||
|
<key>version</key>
|
||||||
|
<integer>8</integer>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
BIN
macip_diagram.png
Normal file
After Width: | Height: | Size: 232 KiB |
BIN
macram-toot.png
Normal file
After Width: | Height: | Size: 276 KiB |
BIN
macram.png
Normal file
After Width: | Height: | Size: 221 KiB |
BIN
marchintosh.gif
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
matrix2.png
Normal file
After Width: | Height: | Size: 196 KiB |
BIN
morpheus.png
Normal file
After Width: | Height: | Size: 2.1 MiB |
BIN
mystic.HEIC
Normal file
BIN
nbp-brrq.png
Normal file
After Width: | Height: | Size: 255 KiB |
1465
nbp-brrq.shapesdoc/composition_data.plist
Normal file
BIN
neithernet.HEIC
Normal file
BIN
networkbrowser.png
Normal file
After Width: | Height: | Size: 171 KiB |
BIN
networkcp.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
networking-cable-system-apple-237762-large.jpg
Normal file
After Width: | Height: | Size: 539 KiB |
BIN
osi1.png
Normal file
After Width: | Height: | Size: 256 KiB |
BIN
osi2.png
Normal file
After Width: | Height: | Size: 240 KiB |
BIN
osi3.png
Normal file
After Width: | Height: | Size: 203 KiB |
BIN
phonenet.jpg
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
plus-back.HEIC
Normal file
BIN
postel.png
Normal file
After Width: | Height: | Size: 350 KiB |
BIN
powerbookg3.HEIC
Normal file
867
presentation.md
Normal file
|
@ -0,0 +1,867 @@
|
||||||
|
theme: Zurich, 5
|
||||||
|
|
||||||
|
# The GlobalTalk Network
|
||||||
|
|
||||||
|
## /dev/world/2024, Melbourne
|
||||||
|
## Josh Deprez
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Who am I?
|
||||||
|
|
||||||
|
* Josh
|
||||||
|
* they/them
|
||||||
|
* Retro Mac nerd
|
||||||
|
* /dev/world fixture?
|
||||||
|
|
||||||
|
^ Hi, I'm Josh, some of you know me, etc
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# A word from my sponsors
|
||||||
|
|
||||||
|
![inline](buildkite.svg)
|
||||||
|
|
||||||
|
^ Say nice things about the people I work with
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## This is a talk about...
|
||||||
|
|
||||||
|
# Wi-Fi Cables
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](wificable.WEBP)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: https://www.reddit.com/r/networkingmemes/comments/12203r5/introducing\_the\_wifi\_cable/ ]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## This is a talk about...
|
||||||
|
|
||||||
|
# ~~Wi-Fi Cables~~ Ethernet
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## This is a talk about...
|
||||||
|
|
||||||
|
# ~~Wi-Fi Cables~~ Ethernet _and_ AppleTalk
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## This is a talk about...
|
||||||
|
|
||||||
|
# Precise language
|
||||||
|
|
||||||
|
---
|
||||||
|
# [fit] Networks
|
||||||
|
# [fit] Protocol
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](bolo.png)
|
||||||
|
|
||||||
|
^ The nerds wanted to play classic multiplayer Mac games, like Bolo,
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![original](spectre.png)
|
||||||
|
|
||||||
|
^ Spectre,
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](copying-files.png)
|
||||||
|
|
||||||
|
^ and file sharing
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](GT_Logo.jpg)
|
||||||
|
|
||||||
|
A globe-spanning network of retro Macs
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Logo from http://marchintosh.com/globaltalk.html]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# GlobalTalk
|
||||||
|
|
||||||
|
[.build-lists: true]
|
||||||
|
|
||||||
|
* Started in early March 2024 (#MARCHintosh)
|
||||||
|
* Loose collection of retro Mac nerds over social media
|
||||||
|
* A Google spreadsheet
|
||||||
|
|
||||||
|
^ Paul Rickards, Dan @billgoats, Ron's Computer Vids
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# [fit] 1983
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# State of computer networking in 1983
|
||||||
|
|
||||||
|
- June: Ethernet standardised (IEEE 802.3)!
|
||||||
|
- Token Ring (IBM) in development
|
||||||
|
- Various proprietary systems
|
||||||
|
- Acoustic couplers and modems (300 bit/s)
|
||||||
|
- "Wireless network"? On what frequency?
|
||||||
|
|
||||||
|
^ Pre-standardised Ethernet systems were becoming more common
|
||||||
|
^ Prior to the Bell System breakup in 1984, customers were prohibited from connecting equipment not made or sold by Bell to the phone network
|
||||||
|
^ The US FCC released the ISM band for unlicensed use in 1985
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](why1.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Sidhu G.S., et al (1990) _Inside AppleTalk, Second Edition_, Addison-Wesley]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](why2.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Sidhu G.S., et al (1990) _Inside AppleTalk, Second Edition_, Addison-Wesley]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](macram.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: By @dschaub@mstdn.social]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![original](zilogscc.jpg)
|
||||||
|
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0), alignment(right)]
|
||||||
|
[.footer: CC BY-SA 4.0 Mister rf<br>https://commons.wikimedia.org/wiki/File:ZILOG_Z0803006_SCC.jpg ]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
[.quote: text-scale(0.6)]
|
||||||
|
> Burrell \[Smith\]'s third Macintosh design was done in June 1981. The main reason was that he fell in love with a communications chip called the SCC. **The SCC could support a built-in local area network,** making AppleTalk possible with no additional hardware, as well as providing nice buffered serial ports with interrupts and other hardware features.
|
||||||
|
-- Andy Hertzfeld (undated), _Five Different Macintoshes_, https://folklore.org/Five\_Different\_Macs.html
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# [fit] 1984
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
[.build-lists: true]
|
||||||
|
|
||||||
|
1984: The Macintosh launches
|
||||||
|
|
||||||
|
- It included networking capability _built in_
|
||||||
|
- (mostly)
|
||||||
|
- (sort of)
|
||||||
|
- You needed some cables
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![original](networking-cable-system-apple-237762-large.jpg)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: CC BY Museums Victoria https://collections.museumsvictoria.com.au/articles/1532]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Hey!
|
||||||
|
|
||||||
|
# Those aren't ~~Wi-Fi~~ Ethernet cables!
|
||||||
|
|
||||||
|
![](networking-cable-system-apple-237762-large.jpg)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![](twistedpair.HEIC)
|
||||||
|
|
||||||
|
^ This is a Wi-Fi ca- sorry, Ethernet cable (twisted pair)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![](twistedpair.HEIC)
|
||||||
|
|
||||||
|
# Older Macs don't have Ethernet
|
||||||
|
# Many new Macs don't have Ethernet either
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](mac-back.jpg)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Public domain - Aerialvendetta https://commons.wikimedia.org/wiki/File:AnOriginalMacintoshBackCaseUNALTEREDMACINTOSH.jpg]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](mac-ports.jpeg)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Public domain - Aerialvendetta https://commons.wikimedia.org/wiki/File:AnOriginalMacintoshBackCaseUNALTEREDMACINTOSH.jpg]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](plus-back.HEIC)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](classic-back.HEIC)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](ltnetwork.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Sidhu G.S., et al (1990) _Inside AppleTalk, Second Edition_, Addison-Wesley]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# The daisy-chain requires extra hardware
|
||||||
|
|
||||||
|
# You can't make 1 single network by chaining through both ports
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](phonenet.jpg)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: CC BY-SA 4.0 Bill Woodcock<br>https://commons.wikimedia.org/wiki/File:PhoneNET-LocalTalk.jpg]
|
||||||
|
|
||||||
|
^ Apple shipped their own "daisy chain" adapter and cable, but it wasn't long
|
||||||
|
^ before Farallon shipped the PhoneNET adapter, which used cheaper phone cabling
|
||||||
|
^ that was often installed in the walls of offices (for telephones)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](ltmodule.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Sidhu G.S., et al (1990) _Inside AppleTalk, Second Edition_, Addison-Wesley]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![](neithernet.HEIC)
|
||||||
|
|
||||||
|
^ I don't have a PhoneNET dongle handy to show you but I do have this, which is
|
||||||
|
^ almost the same thing
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![](neithernet.HEIC)
|
||||||
|
|
||||||
|
# NeitherNet
|
||||||
|
|
||||||
|
[.build-lists: true]
|
||||||
|
|
||||||
|
- Sold by Joe's Computer Museum (jcm-1.com)
|
||||||
|
- Like Farallon PhoneNET, but...
|
||||||
|
- Uses commodity ~~Wi-Fi~~ Ethernet cables instead of rare "phone" cables
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Some Macs had Ethernet
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![](quadra-back.JPG)
|
||||||
|
|
||||||
|
[.footer-style: #fff, text-scale(2.0)]
|
||||||
|
[.footer: CC BY-SA 2.5 Stephen Edmonds<br> https://commons.wikimedia.org/wiki/File:Quadra\_650\_rear.jpg ]
|
||||||
|
|
||||||
|
^ Here's the rear of a Quadra 650, a Mac from 1993. It claims to have Ethernet
|
||||||
|
^ built-in. Where's the RJ45 socket?
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![](quadra-back-ethernet.jpeg)
|
||||||
|
|
||||||
|
[.footer-style: #fff, text-scale(2.0)]
|
||||||
|
[.footer: CC BY-SA 2.5 Stephen Edmonds<br> https://commons.wikimedia.org/wiki/File:Quadra\_650\_rear.jpg ]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![](dongleback.HEIC)
|
||||||
|
|
||||||
|
^ This is the Apple Ethernet dongle needed to use Ethernet if you have a Centris
|
||||||
|
^ or Quadra
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![](morpheus.png)
|
||||||
|
|
||||||
|
[.footer-style: #fff, text-scale(2.0)]
|
||||||
|
[.footer: Still from _The Matrix_ (1999), Warner Bros.]
|
||||||
|
|
||||||
|
<!-- ---
|
||||||
|
|
||||||
|
![](buffcrying.png) -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# The Blue Pill
|
||||||
|
|
||||||
|
A single LocalTalk network
|
||||||
|
|
||||||
|
* 230.4 Kbps
|
||||||
|
* Up to 254 nodes, up to 300m total length
|
||||||
|
* No routing, no routers!
|
||||||
|
* One anonymous zone
|
||||||
|
* One topology (bus)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](ltnetwork.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Sidhu G.S., et al (1990) _Inside AppleTalk, Second Edition_, Addison-Wesley]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# EtherTalk
|
||||||
|
|
||||||
|
Same thing, just with Ethernet
|
||||||
|
|
||||||
|
- Up to 10 Mbps!
|
||||||
|
- Supports more nodes
|
||||||
|
- More topologies
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](chooser-nozones.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# The Red Pill
|
||||||
|
|
||||||
|
AppleTalk internet
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# An internet ≠ The Internet
|
||||||
|
|
||||||
|
# "Internet" is short for "internetwork"
|
||||||
|
|
||||||
|
^ "The Internet" is "an internet", but
|
||||||
|
^ "an internet" is not _necessarily_ "The Internet"
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![original](postel.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: IEN 54]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# AppleTalk internets don't use the Internet Protocol
|
||||||
|
|
||||||
|
![](ipv4header.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Postel, J.B. (1978) _Internetwork Protocol Specification Version 4_, IEN 54, ISI USC, California]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# The Red Pill
|
||||||
|
|
||||||
|
AppleTalk internet
|
||||||
|
|
||||||
|
* Up to ~16 million nodes
|
||||||
|
* AppleTalk _internet routers_
|
||||||
|
* 254 zones per (local) network
|
||||||
|
|
||||||
|
^ An AppleTalk internet is what you could think of as "routed AppleTalk"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![original](atalkinternet.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](chooser-zones.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](osi3.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Sidhu G.S., et al (1990) _Inside AppleTalk, Second Edition_, Addison-Wesley]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# AppleTalk
|
||||||
|
|
||||||
|
Originally the name for both the physical cabling
|
||||||
|
|
||||||
|
(now LocalTalk)
|
||||||
|
|
||||||
|
_and_ the protocol stack, but later on it referred to the protocol stack only.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# AppleTalk
|
||||||
|
|
||||||
|
- LocalTalk: AppleTalk using Modem/Printer ports
|
||||||
|
- EtherTalk: AppleTalk over Ethernet
|
||||||
|
- TokenTalk: AppleTalk over Token Ring
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](osi2.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Sidhu G.S., et al (1990) _Inside AppleTalk, Second Edition_, Addison-Wesley]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](osi1.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Sidhu G.S., et al (1990) _Inside AppleTalk, Second Edition_, Addison-Wesley]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# What happened to AppleTalk?
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![](powerbookg3.HEIC)
|
||||||
|
|
||||||
|
[.footer-style: text-scale(2.0)]
|
||||||
|
[.footer: Macintosh PowerBook G3, 1998]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![](imac.HEIC)
|
||||||
|
|
||||||
|
[.footer-style: text-scale(2.0)]
|
||||||
|
[.footer: iMac, 1998]
|
||||||
|
|
||||||
|
^ In one fell swoop Apple removed many things from the commodity computer: floppy drive, SCSI port, mini-DIN serial ports, Apple Desktop Bus.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# What happened to AppleTalk?
|
||||||
|
|
||||||
|
[.build-lists: true]
|
||||||
|
|
||||||
|
- Apple added a TCP/IP stack to the Mac
|
||||||
|
- Apple made AFP sharing function over TCP/IP
|
||||||
|
- iMac (1998) and onwards had no mini-DIN ports
|
||||||
|
- AppleTalk removed in Mac OS X 10.6 Snow Leopard
|
||||||
|
- AFP sharing removed in macOS 11 Big Sur, incompatible with APFS
|
||||||
|
|
||||||
|
^ iMac famously shipped with USB and perhaps more famously _didn't_ ship with a floppy disk drive
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
[.column]
|
||||||
|
![inline](bolo.png)
|
||||||
|
|
||||||
|
![inline](spectre.png)
|
||||||
|
|
||||||
|
[.column]
|
||||||
|
![inline](copying-files.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# How do we get AppleTalk over The Internet?
|
||||||
|
|
||||||
|
# The Internet doesn't route AppleTalk packets
|
||||||
|
|
||||||
|
### (to be fair AppleTalk doesn't route IP packets)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](matrix2.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: CC BY NC 2.5 https://xkcd.com/566/]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# [fit] 1985
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Stanford Ethernet AppleTalk Gateway (SEAGATE)
|
||||||
|
|
||||||
|
# which later became MacIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](macip_diagram.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](ddp-vs-ip.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# [fit] VPN
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# [fit] Tunneling
|
||||||
|
|
||||||
|
# also known as Encapsulation
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
[.column]
|
||||||
|
# _Tunneling_
|
||||||
|
|
||||||
|
... is to _networking_, as
|
||||||
|
|
||||||
|
--
|
||||||
|
|
||||||
|
"Just add another layer of tunnelling/encapsulation!"
|
||||||
|
|
||||||
|
[.column]
|
||||||
|
# _Indirection_
|
||||||
|
|
||||||
|
... is to _programming_
|
||||||
|
|
||||||
|
--
|
||||||
|
|
||||||
|
"Just add more lookup tables!"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
[.column]
|
||||||
|
![inline](networkcp.png)
|
||||||
|
|
||||||
|
[.column]
|
||||||
|
![inline](atcpuser.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Rob Braun (2013), _AppleTalk over IP_, http://www.synack.net/~bbraun/avpn.html]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](appletalkoverip_diagram.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](atalkoverip-sad.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# [fit] Apple
|
||||||
|
# [fit] Internet
|
||||||
|
# [fit] Router
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
[.column]
|
||||||
|
![inline](air-front.jpg)
|
||||||
|
|
||||||
|
[.column]
|
||||||
|
![inline](air-back.jpg)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Apple Computer (1993), _Apple Internet Router_]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Apple Internet Router _does_ use Internet Protocol (and AppleTalk)
|
||||||
|
|
||||||
|
# Apple Internet Router does _not_ let Macs access The Internet
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](air-diagram.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](gtsetup1.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Rickards, P. (2024) _Pushing AppleTalk Across the Internet_, https://biosrhythm.com/?p=2767 ]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Which Mac supports System 7.1?
|
||||||
|
|
||||||
|
- Mac Plus: no Ethernet
|
||||||
|
- Mac Classic: no Ethernet
|
||||||
|
- **"Mystic" Colour Classic: Ethernet and 68040 CPU!**
|
||||||
|
- PowerBook G3: has Ethernet, but too new
|
||||||
|
- Power Mac G4 Cube: has Ethernet, but too new
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![](mystic.HEIC)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# I promptly bricked it
|
||||||
|
|
||||||
|
![inline](whoops.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# No System 7.1 for Mystic
|
||||||
|
|
||||||
|
- Was running Mac OS 8.1
|
||||||
|
- ✅ 680x0 Macs can only boot from HFS format
|
||||||
|
- ✅ Internal hard disk is 140 GB
|
||||||
|
- ❌ Earlier Mac OS only supported disks up to 4 GB
|
||||||
|
- 😱 This includes Disk Tools disks
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# [fit] QEMU
|
||||||
|
## I guess!?
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](air.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](air-router-ports.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](air-networks.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](air-port-stats.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](air-stats.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Recommendation for devs
|
||||||
|
|
||||||
|
Software should be _observable_
|
||||||
|
|
||||||
|
Find a way to diagram the internal state of your app!
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](is-it-safe.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Strosnider, J., McAdams, R., Steve Mac84 (2024) http://marchintosh.com/globaltalk.html]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Is Apple Internet Router secure?
|
||||||
|
|
||||||
|
# Probably not
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Why am I not totally pwnd right now?
|
||||||
|
|
||||||
|
### (Obscurity)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# So I decided to write my own "AIR" in Go
|
||||||
|
|
||||||
|
# jrouter
|
||||||
|
|
||||||
|
^ It would let me avoid running a real vintage Mac as a router, and turn off QEMU running under sudo
|
||||||
|
^ We do these things not because they are easy, but because we thought they would be easy... actually, because it might make great talk material
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](writing-a-talk.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](europlus.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](tashtari.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: https://tinkerdifferent.com/threads/globaltalk-global-appletalk-network-for-marchintosh-2024-and-beyond.3392/page-2#post-29150 ]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![](tashtalk-hat.HEIC)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# jrouter
|
||||||
|
|
||||||
|
- Uses libpcap for raw Ethernet access
|
||||||
|
- Acts like an AppleTalk router
|
||||||
|
- Connects to Apple Internet Routers
|
||||||
|
- Works! (barely)
|
||||||
|
|
||||||
|
^ So I had to figure out how Apple Internet Router worked
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Where's the diagram? 😡
|
||||||
|
|
||||||
|
![inline](rfc1504.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Oppenheimer, A.B. (1993) _Appletalk Update-Based Routing Protocol: Enhanced Appletalk Routing_ https://datatracker.ietf.org/doc/html/rfc1504 ]
|
||||||
|
|
||||||
|
^ There's an RFC for that! But no diagrams
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Sigh 😔
|
||||||
|
|
||||||
|
![inline](rfc1504-why.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Oppenheimer, A.B. (1993) _Appletalk Update-Based Routing Protocol: Enhanced Appletalk Routing_ https://datatracker.ietf.org/doc/html/rfc1504 ]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](foundit.png)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![](aurp.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Apple Computer (1993)]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](aurp-packet-layouts.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Apple Computer (1993) _AppleTalk Update-based Routing Protocol: Enhanced AppleTalk Routing_]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# AURP
|
||||||
|
|
||||||
|
It's like AppleTalk routing but with...
|
||||||
|
|
||||||
|
* AppleTalk tunnelled over UDP/IP (port 387)
|
||||||
|
* ...between Apple Internet Routers...
|
||||||
|
* ...that share routing data...
|
||||||
|
* ...using a new protocol that replaces RTMP and ZIP
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# [fit] Data sender ≠ packet sender
|
||||||
|
|
||||||
|
# [fit] Data receiver ≠ packet receiver
|
||||||
|
|
||||||
|
^ This is the one thing that, once clarified, makes the AURP spec make sense. "Data sender" and "data receiver" are _roles_ in a _connection_. The "data" is routing information. So one side needs to _request_ data from the other, which then responds with the requested data.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# AURP was the easy part
|
||||||
|
|
||||||
|
^ Writing an AppleTalk router was harder
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](aurp-pie.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Apple Computer (1993) _AppleTalk Update-based Routing Protocol: Enhanced AppleTalk Routing_]
|
||||||
|
|
||||||
|
^ After getting my head around some of the language, it was clear that the authors of the AURP document were trying to be as helpful to other implementers as possible. This pie chart from the appendix is one example.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
[.column]
|
||||||
|
![inline](aurp-state1.png)
|
||||||
|
|
||||||
|
[.column]
|
||||||
|
![inline](aurp-state2.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Apple Computer (1993) _AppleTalk Update-based Routing Protocol: Enhanced AppleTalk Routing_]
|
||||||
|
|
||||||
|
^ These state diagrams are another. They may look complicated, but there are actually only five actual states in each, which boil down to some retry loops.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
[.column]
|
||||||
|
![inline](inside-at.jpg)
|
||||||
|
|
||||||
|
[.column]
|
||||||
|
![inline](protocol-stack.png)
|
||||||
|
|
||||||
|
^ Inside AppleTalk, on the other hand, had to contend with documenting a protocol stack that was old and had grown since its original conception. The discussion of each protocol can't be done in a perfectly linear way, and to implement any kind of AppleTalk router, you need to implement at least 7 of the 17 boxes shown here.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](cksum.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: Sidhu G.S., et al (1990) _Inside AppleTalk, Second Edition_, Addison-Wesley]
|
||||||
|
|
||||||
|
^ Inside Appletalk also leans quite a bit on pseudocode for explanations, which gets a bit dull.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](nbp-brrq.png)
|
||||||
|
|
||||||
|
^ This packet translation needed for NBP requests is documented in the chapter on ZIP, for instance.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](gtchat1.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: @kalleboo@bitbang.social (2024) _#GlobalTalk Chat_ version 0.2.3 (alpha)]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](gtchat2.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: @kalleboo@bitbang.social (2024) _#GlobalTalk Chat_ version 0.2.3 (alpha)]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](aww.png)
|
||||||
|
|
||||||
|
[.footer-style: #000000, text-scale(2.0)]
|
||||||
|
[.footer: @kalleboo@bitbang.social (2024) _AppleWideWeb_ version 1.2.1]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# [fit] Demo time
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](demo-arch.png)
|
||||||
|
|
||||||
|
^ "Just add more tunnelling!"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# [fit] Thanks!
|
||||||
|
|
||||||
|
Fediverse: @DrJosh9000@cloudisland.nz
|
||||||
|
|
||||||
|
jrouter: gitea.drjosh.dev/josh/jrouter
|
||||||
|
|
||||||
|
GitHub: github.com/DrJosh9000
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
![inline](atalk-dos.png)
|
||||||
|
|
||||||
|
^ Apple ported the AppleTalk stack to DOS...
|
BIN
protocol-stack.png
Normal file
After Width: | Height: | Size: 236 KiB |
BIN
quadra-back-ethernet.jpeg
Normal file
After Width: | Height: | Size: 143 KiB |
BIN
quadra-back.jpg
Normal file
After Width: | Height: | Size: 141 KiB |
BIN
rfc1504-why.png
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
rfc1504.png
Normal file
After Width: | Height: | Size: 130 KiB |
BIN
spectre.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
tashtalk-hat.HEIC
Normal file
BIN
tashtari.png
Normal file
After Width: | Height: | Size: 98 KiB |
BIN
twistedpair.HEIC
Normal file
BIN
whoops.png
Normal file
After Width: | Height: | Size: 2.4 MiB |
BIN
why1.png
Normal file
After Width: | Height: | Size: 240 KiB |
BIN
why2.png
Normal file
After Width: | Height: | Size: 339 KiB |
BIN
wificable.WEBP
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
writing-a-talk.png
Normal file
After Width: | Height: | Size: 258 KiB |
BIN
zilogscc.jpg
Normal file
After Width: | Height: | Size: 563 KiB |